aboutsummaryrefslogtreecommitdiff
path: root/src/auditor
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-09-09 22:26:11 +0200
committerChristian Grothoff <christian@grothoff.org>2022-09-09 22:26:11 +0200
commitb808ca04d6628db2fe647b1d43b598217d14d686 (patch)
tree07274ac82a4b12f767ace99461752492fc43bf75 /src/auditor
parente83191c42117171de82e4cd01059ab56331a87f2 (diff)
-remove generated DB files from test logic
Diffstat (limited to 'src/auditor')
-rw-r--r--src/auditor/Makefile.am15
-rw-r--r--src/auditor/auditor-basedb-libeufin.sql140
-rw-r--r--src/auditor/auditor-basedb.age1
-rw-r--r--src/auditor/auditor-basedb.mpriv1
-rw-r--r--src/auditor/auditor-basedb.mpub1
-rw-r--r--src/auditor/auditor-basedb.sql16064
-rw-r--r--src/auditor/revoke-basedb-libeufin.sql161
-rw-r--r--src/auditor/revoke-basedb.age1
-rw-r--r--src/auditor/revoke-basedb.mpub1
-rw-r--r--src/auditor/revoke-basedb.sql16080
-rwxr-xr-xsrc/auditor/test-auditor.sh2002
-rwxr-xr-xsrc/auditor/test-revocation.sh562
-rwxr-xr-xsrc/auditor/test-sync.sh111
13 files changed, 1279 insertions, 33861 deletions
diff --git a/src/auditor/Makefile.am b/src/auditor/Makefile.am
index 1ef5111d9..e398e1959 100644
--- a/src/auditor/Makefile.am
+++ b/src/auditor/Makefile.am
@@ -202,19 +202,10 @@ EXTRA_DIST = \
auditor.conf \
test-sync-in.conf \
test-sync-out.conf \
+ auditor-basedb.conf \
+ revoke-basedb.conf \
generate-auditor-basedb.sh \
generate-revoke-basedb.sh \
generate-auditor-basedb.conf \
generate-auditor-basedb-template.conf \
- $(check_SCRIPTS) \
- auditor-basedb.age \
- auditor-basedb.conf \
- auditor-basedb.sql \
- auditor-basedb-libeufin.sql \
- auditor-basedb.mpub \
- auditor-basedb.mpriv \
- revoke-basedb.age \
- revoke-basedb.conf \
- revoke-basedb.sql \
- revoke-basedb-libeufin.sql \
- revoke-basedb.mpub
+ $(check_SCRIPTS)
diff --git a/src/auditor/auditor-basedb-libeufin.sql b/src/auditor/auditor-basedb-libeufin.sql
deleted file mode 100644
index dd0f6b0c1..000000000
--- a/src/auditor/auditor-basedb-libeufin.sql
+++ /dev/null
@@ -1,140 +0,0 @@
-PRAGMA foreign_keys=OFF;
-BEGIN TRANSACTION;
-CREATE TABLE DemobankConfigs (id INTEGER PRIMARY KEY AUTOINCREMENT, currency TEXT NOT NULL, allowRegistrations BOOLEAN NOT NULL, withSignupBonus BOOLEAN NOT NULL, bankDebtLimit INT NOT NULL, usersDebtLimit INT NOT NULL, hostname TEXT NOT NULL, suggestedExchangeBaseUrl TEXT NULL, suggestedExchangePayto TEXT NULL, uiTitle TEXT NOT NULL);
-INSERT INTO DemobankConfigs VALUES(1,'TESTKUDOS',1,0,1000000,1000,'default','http://localhost:8081/','payto://iban/SANDBOXX/DE989651?receiver-name=Exchange+Company','Demo Bank');
-CREATE TABLE EbicsSubscriberPublicKeys (id INTEGER PRIMARY KEY AUTOINCREMENT, rsaPublicKey BLOB NOT NULL, "state" INT NOT NULL);
-INSERT INTO EbicsSubscriberPublicKeys VALUES(1,X'30820122300d06092a864886f70d01010105000382010f003082010a0282010100b4a8cc3bea3b5665b907fb57e985671d835884ce3c67b90647b8c215334f0efcdb93e603401468008d124d401599344b753cd875365cacabd7056527ed8c5cd2326fb21c4745dbad244bc7e517ff8367f49df434b4ae73041f90d0ad0a52772f93e2f84d837a1269394acb482236e94404a525d771b3f24d2908212fe6c0f365f069a7d495742f2830f6a96a9fdb40eb4dcf53503207564b129a53a689278b9e832535d1d61fd5ffeac5f1fd9da9ff6b7257fc24c1c808d1e82ae4f94f11d8cb9f8deb98650f05291b6ed28d6b3d3fc2cb81a528a3efa58525b3e47148ee16a62c715d3a652bb540bd62b18c96848da311b3b9c9df1dfcd838a5f411a9d220ad0203010001',1);
-INSERT INTO EbicsSubscriberPublicKeys VALUES(2,X'30820122300d06092a864886f70d01010105000382010f003082010a02820101009b7fe49949f285635680bdb9161b8b7feda8ff74e8c227ac784440662085dfa3ab928db25e2ee07f09ab42e6129763505a8992c9dc2d9a8a813ed7a90cdd4712aee0767ac95264d6c0e325010a8236ecb4c217c09db759741439eafc072d450ac6a60684f1cc961c7f228ed1551ec40edcd3fa8a49a791cf6a905cb12f35c089d3f86dc6d73e5e01f7be1cd1948ba7a1995d22fb6da5e2b0c068e250dc222e97a927fbed12dd3f2945d903119a0639781c8e2bb1297426f602d285caf632c8804553cc83a8c2505d8598314a181eb1fc63d77f2acaec7ed24d89fbaeaf0347178f0a87f39d29244e59f9f1dca9c1d8c32034113a21880d61d6e998145896b00d0203010001',1);
-INSERT INTO EbicsSubscriberPublicKeys VALUES(3,X'30820122300d06092a864886f70d01010105000382010f003082010a0282010100b57cad0d7220494d675f05937b26c9f141f6f1352f54ceca6eed39a355d11925768acf8324956bb940cd36a1fb349621721a8ecbeeb62a02cf575735a0cdc7fbd2167334505985509baf9945385f50fd9ca714f87e2cf6b1a519983feb6443273e345e4d2856693ab44efc4ffae82905516ac28ac33035aa3a3a422f627c8217c4bf12b057978f5a507916a6c1dcbaf8d7250a980ded9e6f1739d8b2d86aaaf45522540713c55f2a22fafc0931826f420578203a72ff9927120671f0465fc9efba9631d322bb3c6498245457514cbeb40dd09b996dd35da0be90e74a7860605482f0f0cfaa332858a23efcc7f9324e354e03d4518f4c6ed2769f80ebc777bab90203010001',1);
-CREATE TABLE BankAccountTransactions (id INTEGER PRIMARY KEY AUTOINCREMENT, creditorIban TEXT NOT NULL, creditorBic TEXT NULL, creditorName TEXT NOT NULL, debtorIban TEXT NOT NULL, debtorBic TEXT NULL, debtorName TEXT NOT NULL, subject TEXT NOT NULL, amount TEXT NOT NULL, currency TEXT NOT NULL, "date" BIGINT NOT NULL, accountServicerReference TEXT NOT NULL, pmtInfId TEXT NULL, direction TEXT NOT NULL, account INT NOT NULL, demobank BIGINT NOT NULL, CONSTRAINT fk_BankAccountTransactions_account_id FOREIGN KEY (account) REFERENCES BankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_BankAccountTransactions_demobank_id FOREIGN KEY (demobank) REFERENCES DemobankConfigs(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO BankAccountTransactions VALUES(1,'DE989651','SANDBOXX','Exchange Company','DE371825','SANDBOXX','Name unknown','FMQZEATC840WP331DVFWF05XGB5TZ02Z0RTSS19EBR92F8W6MFKG','10','TESTKUDOS',1660992701609,'8SB18L48',NULL,'CRDT',4,1);
-INSERT INTO BankAccountTransactions VALUES(2,'DE989651','SANDBOXX','Exchange Company','DE371825','SANDBOXX','Name unknown','FMQZEATC840WP331DVFWF05XGB5TZ02Z0RTSS19EBR92F8W6MFKG','10','TESTKUDOS',1660992701609,'8SB18L48',NULL,'DBIT',9,1);
-INSERT INTO BankAccountTransactions VALUES(3,'DE989651','SANDBOXX','Exchange Company','DE328996','SANDBOXX','Name unknown','BXCD619SVE1MCJGCBKD1CFAMPAEZ6BRJNW8FARPV56GMV3YM1BXG','18','TESTKUDOS',1660992708719,'L8FTQHU4',NULL,'CRDT',4,1);
-INSERT INTO BankAccountTransactions VALUES(4,'DE989651','SANDBOXX','Exchange Company','DE328996','SANDBOXX','Name unknown','BXCD619SVE1MCJGCBKD1CFAMPAEZ6BRJNW8FARPV56GMV3YM1BXG','18','TESTKUDOS',1660992708719,'L8FTQHU4',NULL,'DBIT',10,1);
-CREATE TABLE BankAccounts (id INTEGER PRIMARY KEY AUTOINCREMENT, iban TEXT NOT NULL, bic TEXT DEFAULT 'SANDBOXX' NOT NULL, label TEXT NOT NULL, owner TEXT NOT NULL, isPublic BOOLEAN DEFAULT 0 NOT NULL, demoBank BIGINT NOT NULL, lastTransaction BIGINT NULL, CONSTRAINT fk_BankAccounts_demoBank_id FOREIGN KEY (demoBank) REFERENCES DemobankConfigs(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_BankAccounts_lastTransaction_id FOREIGN KEY (lastTransaction) REFERENCES BankAccountTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO BankAccounts VALUES(1,'DE157556','SANDBOXX','bank','bank',0,1,NULL);
-INSERT INTO BankAccounts VALUES(2,'DE437731','SANDBOXX','fortytwo','fortytwo',0,1,NULL);
-INSERT INTO BankAccounts VALUES(3,'DE323952','SANDBOXX','fortythree','fortythree',0,1,NULL);
-INSERT INTO BankAccounts VALUES(4,'DE989651','SANDBOXX','exchange','exchange',0,1,3);
-INSERT INTO BankAccounts VALUES(5,'DE591332','SANDBOXX','tor','tor',0,1,NULL);
-INSERT INTO BankAccounts VALUES(6,'DE922290','SANDBOXX','gnunet','gnunet',0,1,NULL);
-INSERT INTO BankAccounts VALUES(7,'DE172185','SANDBOXX','tutorial','tutorial',0,1,NULL);
-INSERT INTO BankAccounts VALUES(8,'DE596376','SANDBOXX','survey','survey',0,1,NULL);
-INSERT INTO BankAccounts VALUES(9,'DE371825','SANDBOXX','testuser-q75takwr','testuser-q75takwr',0,1,2);
-INSERT INTO BankAccounts VALUES(10,'DE328996','SANDBOXX','testuser-cyokoxmp','testuser-cyokoxmp',0,1,4);
-CREATE TABLE EbicsSubscribers (id INTEGER PRIMARY KEY AUTOINCREMENT, userID TEXT NOT NULL, partnerID TEXT NOT NULL, systemID TEXT NULL, hostID TEXT NOT NULL, signatureKey INT NULL, encryptionKey INT NULL, authorizationKey INT NULL, nextOrderID INT NOT NULL, "state" INT NOT NULL, bankAccount INT NULL, CONSTRAINT fk_EbicsSubscribers_signatureKey_id FOREIGN KEY (signatureKey) REFERENCES EbicsSubscriberPublicKeys(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_EbicsSubscribers_encryptionKey_id FOREIGN KEY (encryptionKey) REFERENCES EbicsSubscriberPublicKeys(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_EbicsSubscribers_authorizationKey_id FOREIGN KEY (authorizationKey) REFERENCES EbicsSubscriberPublicKeys(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_EbicsSubscribers_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES BankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO EbicsSubscribers VALUES(1,'exchangeebics','talerpartner',NULL,'talerebics',1,3,2,1,3,4);
-CREATE TABLE EbicsHosts (id INTEGER PRIMARY KEY AUTOINCREMENT, hostID TEXT NOT NULL, ebicsVersion TEXT NOT NULL, signaturePrivateKey BLOB NOT NULL, encryptionPrivateKey BLOB NOT NULL, authenticationPrivateKey BLOB NOT NULL);
-INSERT INTO EbicsHosts VALUES(1,'talerebics','2.5',X'308204bc020100300d06092a864886f70d0101010500048204a6308204a2020100028201010089e537c2e5b9f29165a35e5b685af488ab9ca9d49e765fb82d5a49cd120a30b3a58f0ff7fa91fc756fdf2b7b24c0cfdb691660e0fbe9a58c14232aa92107e3903c1840f86982d0aad9b3b71efdac30dc8cf9253b001525256e74671ea1a72e5adf4e0325a198c0e6c4ca3731ca8738972545ebaf6fae8f4978e67428477be2a0eca3a7c14353708758de4155b58f8d93a11e018127748fe387402e9deca3e383d3c581b26782b9bd8fe7c71edb25ab9fd92493263c8100bd47d4b3037420abbb98be0106bcb70007645fe8820407e43e32dcf604c72b448edfeb4f12988ca3033aaaf7f1a3bbbe03a0eb66c178f70035f91ba94a6caafdb716b6ff881b6ed8550203010001028201003cf51a284afb5f528cf6a220904a1ced49c7b07fb0292df931fb46c2a3a5e38f96b15e62c5dec1167d04cfa8d93f6ee3545a332b61d1108092ea54d27d2a8a9b5925739b1cb15a631c67c89ca790f5ec99590def3e031aefa81b46f69089620183d36daab5fbdbd267cde886573c5d74db624464c25f0d3272829578b4d8fbfe773654b02325797bb4032ce07454ef360dcdc852a64cbad70fa92ff99d2fd8282c4863749500934e4d63ab7b834e5d6f48bbb9042fc68475b74d08d9dee911a2f9a007cda36cfb9fa7b8d4f1108cf030c49b556541b67c9af5a1ab3300d5bc552d6f4431fd6ac8af7296cb039869652e8c9eddf193847dfb51976c720783d1e502818100c4672469fa225fb525424a48dde8213780564ed4be5a7eb85f032fd6dbc9dbe0345f8a2af70da8afc9e3c5861ccccb70bc7ac770bb571a0a04999c816994a70ccb7370a8c2799d133c7beec34a6ab93150824debef33a0ee086b72e6c929f527970ae8ee0099c921cae83a7288c984ee85d5dbe24d1c1a379299d59ecf554bbf02818100b3bd20c8c180c3c1d082846218280cdfa3f0c70094b04470797823ff95081bd6cca082b1b3297c6898d14dd169d3ef1ca22e7a11f1b73f1b497f7f8799f66e34fd513240d77f9226fad8d3b483bf40a62e24aa835494b1e76ccfd040f24f2f3b988ee00514bc5638df50a53fc0e29d38650f5d7201d4f2c05ecf0ee97bb1b0eb02818062f85ac830ad1baf8bcc00e50135d56f4373ba9bc8249010d68823965101429493afc54f6b596db4cfb6c0b59953b5fce46db68cdf4ac02b66300646cc6e8553943e62fa17adf2f25b9b543103120eaa841875adbbc737845ba7d1a9ec9b0117e72c2f3ea7fcd6f6f969d6f21a6dfa57bc078d9b57221f2ffbe71b57c0c109bf0281801c11ee5bcbf48b1deaad6775566672d43e6b2cf9073f9c00a0c7c57f75cbe5651f61f5e7409ebb022ed3893eaa3362056bc2ac67bf032a44ddae9ec113a76bc0b4cb08791dee9b69a10559d2b83c97211cd5b717798f1b559425c455504253931019481d2306e2c45103ec3acfa9d479e936841678f8c3cc8d41f3073dbd1b6f02818039ffe6be900595e7f275d1f7ac8334b207fa478b74809c355aa1bfebe0c9009f9516eb4db0e22fabad377d5c85aceb5269375ef91009de406f270fb2734648f6290cd054fe1839b8e4b5a53f97de204f515b514ea245f7c63176abe776321afc7712aff869457698a011351276397a5c2ced6eb4067fe8ba49606c04cc66f26b',X'308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100b65ae153acab4789c4c18cca8cac4a8393ebbb10e1553b34836d6fb8073870d64f2c6183a908a4b52f11a688d15a2f2faed5acc3563530a9c7a7ab21787877d79c3bbfd5195e5d4197c12fa9e505546b86b0a8aa91d3ca14ee26b0b266c29097a15984aafda5e4f44e9948e8f722546c394a864ab30c67baeeee9427e644eceb3706293bf6eef501278b90925b441e57c58c7842f53bd9c4337b80b505651a296a31a7a18668733b375d2d859800fba8c8de71b7b520c8c4cb4b20e5b86909bd8ba1777a90208c8cd1b9d305b0c11ff5f94763a7cd8a3b64d0ab2b15735dd663b9c017ad7d4823112e93d1fec324829e76a0e083fb5b866a665a6b6aabffd3ef0203010001028201007ef8486c3a8e0801a53e1f09e9690d791045d2baae2aea4e66348cd55631b65f824124a4c7cd7ce1ab245f1064b4a6a64cd5fab508118110b633c8b4456d9c04448455cdcb1c2952c29780d88ade6b29735f0e11b5f8017d11555f32d8da205373c520daee41d4694750f3b3426064e7f5fc2e0555260e13dac9c3df043679bf1d9f43bd837c9954e59efc886a678a7e75d387c6a63170850c42a818bd7f01bf2d603ecabf9e74c1fe3693308e465b82f033c91d1d85e0b2efbbf28f5d252320c162c5d40a51bf8a376084e403fb2cfcd4101031257cc4bff1ae77976b1a7408c7af2547e077ffe705850d58871fa1928753ef8f21e615b32ec241f0ac5cb60102818100f7ae40eb734a12381bd1e483a5afe6c766b8f6cdf95ef224041c1db3e95583ad531805b4aca4bcd1fd6778d73754ca180aa04583eb111e67de7d6bf052d6a8f77973df400bdfe81d6b139f07c25309433658d62300e60fa094a8b6133c8cbb8d4ca794091175457f54efbbc46bf76f4f01fd9ec78bb7b123385a3f62e3438a3d02818100bc7ae8272ef13378fbfec6c3cf294895c11a9c3d12e2e1934706c482df9b9ec0c3441c7a52e41787d184de1c6ac6e33dbcdbd4dbf71ace4ed47c02cee405457400ec911964cdb1343594458f4b9b69aece59585f8437249aa3837b703f2775d6733eae0f627d3b1b559fac24aed3cdbba87bd014a9ddafcba48b915ad2b6b59b02818100bfc0667e62a96be588943d2836b432251a4004c37e56a57c80ba0bbce7deceacf771d7a903281f0f2bf259b9b51aadc36326a5eaf5a83134152a60d09431a06ac7da8f72943eeb032b8ceb48248808d9c24f90a954dec82678310d956301498aa157f3e1f9642343eb4c16c0811df54ce3aba8abb05dac8429f2a4b4386267b902818069425a94476afccbfc2f74e1b5b7e08981a652cae8d93c10fc01938d63438d8d297fc847a83329d0f7f9b3f13ad087e7daa90a5f2dc9129e839c1e155cd274cf2c14f193b4f00a9e95ad908b4e3624f732d642bc55225696e5ea6fed67d7a9bf71ecf7583030afe9bc0fc81b546784e5e05a0503053a810ac1821053208a593102818011c5374608abc41cc4f26d8aa3391b94353fd9cbefe6ff04680ac58e6b2cc75d44fc6715e22e660449b8eb9861567e8ea4c806dfa3ed1fec3ffd23eded49aa9f03d05b630b7b9b17835d542cbc6662d4f5056568f0f6698892d64f629597f45e25812bb1424a3d35ca127f864f6add4d9be34dfa4df5553a9519a1c2aa19acff',X'308204be020100300d06092a864886f70d0101010500048204a8308204a402010002820101008d9d5ae949959e7093cb4501aa9339911ae2f7eff547dcef6e3051e81c8939a0f9a73fcc04e4d3afae16eabf097d67d78e6ca66b7d99113fc46750e7c6d0331aa9ca119f6e4cda1f1076ac23229e57cbf2e69eeb9b7ba7ebbec78c3fe5f244204fc86943e6f0c39498f26f029dd996c56de91fed31794f52a69ac383c00560e868812bcaa3ae6a12e6dc9363c86fba1ee11c3cb8fb99330d911a488812e6d000e2584239c96d95a58512f41c7acb2de6d33bc5a9b1c5799e0d844ba0a30cbe21ec069ee72ae43f6d582e682c7afd0d2b2ec734d081f1711528cd1b0b12ee157d01198001cc89b1197b0291e21da5c4f4c88ece7fa72f93a3ad5bd42f04d60ad1020301000102820101008aeafe8074b7b9ea1381465b411a15519bbf649ad6d13d10fed595b38d32abfe96889393ae854e873aceae4ee29f4b5b7012731a64e5dfbedf0abe99ef34d3bce72c1b277b8b16397cebfd26a652102c38463545488c0008c96874d345dde7288f3b38cfec5ee86cffb06a6775b33a2cc809f550b7c499a4a95c8e48d2f833bba49f8ba8d963b8b731f84ad2d3014b449b31bbed9d2fda68ca64fa80d89c4849ea669e6a2e22c2071e3a0b30b3d52f469044deccadce2b86aae48e4dc18de7d3987ecf0febb3630bd76de0ec7c56ff808d9a2d53adce8fa3e2d761a5a4664cdcd533b0b7396a8d86cb9deea822c97ee725e01630929977c9fa1cae52a8e70de502818100fb5ee58c23858474e2d2a087f09160125b5b369233fe82e1a514112e6e5b222dd14f3853a5f8acc979e2fc3d73a2c2d40f53811ff19f109ad68f1c2db56e656874254bfafeb1b7c88dd596a4bf96dd58c61dd5b58a07fd088676e94b2521c0f621d2690d6f208f03182d29245091f81ac5a569a3dd2fb6662622c4921e7f625702818100903901b12ebcb584ce8ef3f10019326a916564afec88190500a3de647f4e263544b225d46476a00d84eed73631bae7832be7694c4307140f91b8118bf5b1023fbc979f5bc508b42864ed11500ef1a85afcd8758b6a857ca81d3677b7b9cb111c5954165980ef662aa86fb925643b75571769026ba0dd743c99cdea429c4e5317028180290a59580404ac9798e0e2accf2e2d0d52351637d09d61290e16b4a76c051d1375f50531430bd2ca224858fe7f7eb76880081630ecf61773f04bf541d13970fd18d96e0a50c31b4a773dc416a9e12bca6eae385227731e70e1e3503ba0985e34d158d526085abc7eb8d7c6bbd31bc1f23d0ac0b0ac5039eb7b96799991b9228902818021a4aab86266b3115ffe08f9d7440976c2a41c70cd84921190aca95c58362ac3925adc68476744bee29bb4a877c159f047759c22a6202895d9304f278f10d3ad7a99041bac42f383d8c7549a9061df1c1a8f841c19a53a071d896f33f4ab623a72bc22da8e314a6bf90ed6e9da0fe4b7844682c208aca048e2b81e459ba0c9d102818100c6c31103e951c161f808e90bea94cc0f781355bed0da7599d6a7ff2407a34fef7f32371ae5b447f84f3e9dc729986c27f27965357dd85ae13a765bab9ca2f8306ac818ebbc9a5d6a35062c80c8d38b554d11574d29e31ac290022fa4f0faa1abae1301bed9d0484d44d7a7b01d8990604e6f1f0eea788bffb88f1a6ceae3da49');
-CREATE TABLE EbicsDownloadTransactions (transactionID TEXT NOT NULL, orderType TEXT NOT NULL, host INT NOT NULL, subscriber INT NOT NULL, encodedResponse TEXT NOT NULL, transactionKeyEnc BLOB NOT NULL, numSegments INT NOT NULL, segmentSize INT NOT NULL, receiptReceived BOOLEAN NOT NULL, CONSTRAINT fk_EbicsDownloadTransactions_host_id FOREIGN KEY (host) REFERENCES EbicsHosts(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_EbicsDownloadTransactions_subscriber_id FOREIGN KEY (subscriber) REFERENCES EbicsSubscribers(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO EbicsDownloadTransactions VALUES('1C2E392D0E852928C7A4DA0DB30CE628','HTD',1,1,'xthTzlDhcgK4FNcskzqLV2FudhAjIavuzLCMdXCoiTp0PTyhcbkskjcik7vDkFluwT//DefD3R3YI4uzpQ1JL6I7LcTxVxKDGlQHzHWX28qQw4dSIuCdhKxcXO0bBo4TyuEUwUj8QwfYslTy+OwFx93d6UJQ5E+CJjn7N++sK6Qi6foPmdV4pSuhmuQ1X++31KJzvBkUBWzcNIROBzADd8LWpjRIF/dRc+CSqalrul8PXyGAukthSPSORwRw7zPFdZHaWtvOyBp9MXX+EjpEimc/Op45EpQWVwXFTcl0keUaWxQDw7sdS/zKLtpoV3r8FU20umth4ZSfGCrImkCMgZa0IWgB/rVIJTZmX57TUsV1vHxdKmIoA7KnKpJ2901bw2Kw6DAnPvosZQt5iGx59pUzZi0fEK8Elx48aZQOhIdplM8G+0/QPCvmFQzmjDTqBiQtpRoK+5nvbYg1reSxg/1+1em0oT9Xte2ggdLkDlhEF8rIiGN/0P9EawpPwzJEimpKAy9Z0r6eaJuA8qhAlD1ziSf35IcN7U/zwBvlYOa37/AzOapXY+YjM5+E3kvbidSpCgUCG94gw0/NvOCuTNMt/8ezz5fEj1K6cSfLBKzM/9Ry+KR6fx+srfQM/kWZoC8KP+QEpVIFUzxtac1FRVnHdCQ3AW1KWHnq9w3Br7KGedMui0oCbMy1CVtmnTlx6W63RnvNqUSSmDfzqDiPqQ==',X'3175a4296e45e513340ce59395e74770a618506394c937e2f03c2494c9a13bbde7d09290410a1e98eb62477b47d9dcee39edb7b9fb97141038d4c4a1a07d787581031d6f87b9b43fd96bbbdddbdacd8c50f735a9f3fde65fcb95e74f5a868ba8b77b9de0535cb862f5ce9167ad996a4209a68cd1b3ffae25a6a7e4a744716424921ca4ea90ef2c161f542b2fb0a05b304524e73a20515895772de8799c9e8597a0490f81c479c7dab327de4ca26dc480b0bb8c077afd3ca8c9300b66d19271b76f4d12c036c26910ec9ff13227daec10d916799569bea218c8843b5040c82eb77cb937f97f3c6e1439153f780358d1857a25da61aac620940429ff7f4ba13164',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('6C231DAD31FDA057CB7614F65A4F794E','C52',1,1,'JQpVkH3G8yhYRpzHNuekU5/dbwxxuTo5iQKYZs6xnY9PZfNi/mo1CJW5FmRml6to8hLVeY4OAgyfx4MWHEDuouGnRnt7uVWX2L7w4973cT04oj3cVmkPRapPS3+th0+zO1LJqUtwX7RauOgCht0IrodRvq/8rhZggjYLHtAipWGGxwZ3n5UNHgG5BXuApxPz/9mRdfciygnHor0Gd77syPErIfGZgi34JiiSH0nYSLQH1KKRkhHi6unfQTPblNPCD4JCTIKJDC/oK6P6E7vccRT5/x15jc58pxU3kU2u76Wgca3fV78F86ke0LGQksNDgt3Odh/YDBtLCvmDJ/fD5E9AD0dDV8YZwv2AuT38bU6DF3KtqlcBWrkTHVg2fTahzSrOzk/Qsa6SaHbHvpElIln0WgQgknh2uqYhz6esFQo0pTbC9h0gNimaHXA8G9nSGEhabqAqE0W2GErANFXqY4lJkuRkckAqQI4WSquRL2LbBEL4wg0Rqq89aJKblE4m54O5UdMp/SklWI9tFe03Qk5UA+eeEi2YL/FaIU2lnTsouUGkdWu+KzQVhj8+rkK7dtMZZY5SvduVCLUhota/FmzuwZYI9SSnU9FrNRFeK9LwW/sjgGpJOzFbcgZDbV//jtNLtFCq8LOedmP4HpdYa1LsIJLxBm3Iug6GKHNscC0ScGgTTBuYerLZtAiCat1Ehbqsi7Mu5Q6TTVkzPtp+Br2zcWpxsG7kkwdfpmiy65g3YazqgN4cSexftXOGSvRS3mzlBXndK47X5OwnNqL63LvhQzzgAf3+aokdjL/xjzIatDFqp1mEkJ+h5J7ey21g9CY4b9oQX9ak8jrRAhSt3NSsX0mud/lEQ9KzVZIHADw=',X'312416adc5e56d5a1ff596e461f0a70d19ec282d4828734bcda76ff1b14ce1a215f815c1e0ea32a1d247a5e2f058a997dffc3490211e50f267e4796b86488947007a3b89e5ab12bc7a4c8f1ae3ebceac82595daa2f284f4ef3e390b12b579b479f36f2f24045b889f9247b72d0b0bbf05037db9cf1c43453f9f6cdb7510b075d6f753803677e96789178d8538d676ed6647fbe3dec23e5cd430e11e8147e4a16599df2b9b7d5a73312b3db9231f9dc24b5522f2e59d7001dd8384ac89c180d26bcab91764a5653dacb9ad98f8aec59be3bbc0099b45e5325499dc459b5c5d9b25fec53f167eb419acaff3c1b9037ff9b79bde57ba1f476e777610ed4b2f18f90',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('684FF43133D1E8286EEA636ED799C11B','C52',1,1,'vfr4kbiYbtyg8hkKtpNvzEPAnCsEGkgpoLq0Vi/fosLjpbb87ZJhvqbrKGJW08ctU6qoaJWoNWbsikYdqWSZqS9D6w+XsUYKUSubpdtqApPF5BDczDiPji+E73+AbrNpq3D+9QqftFvWWkZreKLUf0EvPuwOTTACPJ6Z6roG5B3RMSOMVQYl/rlXiCC43dHs6dVb0YBdUqmRL44I/OpetJeUmORsww3zgc3Ge0LcUme+lHwVHsAuHKzKx4ahg0yx/VmHsj4L3zR3LLdqTtKRq+Z2a3rkp0+nTFI49bNsxQsFNcKwb4wdGBAzYh2HBBX48ve/VoDV5gWAkoDIoqWa1cvK5PGmqVolPtrsqSSbgJxpFQyXP9bGcFY9FZylfclLfZ96em4cqNJ8Vk4TMkjNTOKWa1ay9oNMsAKwLLGrxJ1V6zpl/qsrj8126HNOyoKVvCG/CZJubfK2Ewjj0r7weepwFWkVoobFXwAsl/ZLitZIJq7pczE/hgBg/KSfVCFBTJlYj4RX9O6Nry//y3mhdPVFZbMQ8tH3XaBObQapOULaeHFiUPkPQ2mkNY5uczMXYLHxYxYl2YY5BDG77NtTzsWz173up0uyzHogiqvIzU3UogBm1zKnWb+Ujb/dmZlwmr91eMDE+dsTaifB3tGqhM3vCoR1GxHQXpGUU0Bv19ZASj4ZVgcZRwcPLi1aTseilgDOuy03PQMjxOFWmGqYmqbE2FYHOEuRTnzKXMh48cg5GMER27k/NmzdcRxJTs5OAtIZaZ6Iys+dcWOTmQv6ny55QtdAD0xeL+N8gWkJlbZ3T3nlb9+U5jaKSteMo2pPjUUvMUrZMAOyFjtlfG/9y1fZ7gCze43XKphC9o0TKXA=',X'581ae7f2a9cac15e4bf77f7c848c437a5d5e21bf3fef7b287211ccef266ef6685865bdb2dbfc3c4dba67ead7b7b3f3ed764d4bf103a13ad7c380d22aa56e260bd7a9362e45d985b9e8112ec83b65fc9d90aa2d4c4ad3392931d96f42131625730aebb8283afcc5cde666767f2e0840fa6761ad99b2e40c35781d8c6bbdcb3624b84f5acce07fbadf23379cc35d159ebb4a3fdee3397d352b530a3b7c2fdf2e73610bf285fd61430678d30c7d4756a6eb5dc36954e29ae4232b8ba4b39223079031f08c3329c896db0b7eb8701318be0830d3817ae82a7f29eda558f6cd6be4c3f16973c6ecb5d4049b7bb0432038e9b44bf821a1964138158d5b478a2f0c3796',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('4A8219186838B05F5B45ECBDA709F528','C52',1,1,'Rf2U2imL+Ud7I3gSTQOsyQl1u1CSO4MW15GuRPf6tCXrDUdeltAb9Xoek+ACS6qcuBkPrhBdDkJsygX/o+sCyUxo8qvhDwhd1czwx1mLbZuPQoaz6/cuwanL6rLgFo4wMcdMEsq7E+UePAlTUUbKpjg227lBpOwMy56Pw4cdTK6YgJbdRGHJfuLLYnKDQm9Qq4o6Ow7nau5ZX+rRnXLPjexF7TQOMVrI+HbUo8WEOys/WhGdlHLXjuqiucdoiJm8b4erT9XfeHUIGCQvyFZLwDVkRGhOhVrLr9XUOeMPNUTvAUwku2mVQSMeSqdIwUCawjwQjhL88Yf0+oZv3y1lmUnRVldJGLQAqlJfvI79Q15dwNsn0sF3sq1Ib/R08xk7t+7OfB//Xy0QfpQhBrTom3abHSQ1rzG5ZIBlVspt99x/7ri6eKYv/9JNpk57Z4jTjvqml7FnZXq6UgxojfW9yKd9sbwmn4siEcyfzwTeKxjpTSIJpJw9+CKBGadie4KHLwJ6EmI8ykqH70jeXUufDPGosZ+Iu2B+0IkcOGHBVl0qGDA8KesdA4cfZy5+2tKSTK57jW/fDhxxJsS8x60fUZjeKTsLUM7X6NNMKBBtgJN3XmZmDtz/1rjImSHcmRdrvoKZhrCGGo9iusXafm6VmP67YhN9E9siH7CyrBRPMOjtDq9Oye4sg0uP//bjnc/6/lurwTVI6ru/mVdZux4wa6GFXih+wpIfC1+BpC4G7pBOcNZdpuYKy/Y70St5sGthc2TNhoZ8muok+4faRooyzLtS2iPnM7SGr/mE1GuYOcP9X9XxL/DTrWgzMqPa/kKU1W3+G/5q6USE6aEOM9WmcnPCZVBctI+DyPDtnhGqaxU=',X'743c80519b97ca421d58d73e11782741f7637f0a35b68cc28448363324da276fb70de8a57c4f746c909d52f0c709133e6741e5632cfa5a92d19d5cfc78580e7629868a883523ea95bad301f1137378428ca3fdae629ad3debffb985b102cb8f0336b1c3e4fb68a9f26e6ea379e820ae0e36ae384060ffa98e8c53cc7b5ac416ea0db85c95ccdb0e751839fe831aa2e9c4e1f5ebe7d9a67b55de0d3df4b59874096f4e26cc1dccc8d4c1b3ee51d1a024cf240f3fb50474f54707da3b3e3a20c3c05792df67cab3c0621fb1d8be37483dfcd63cb870f3c9fb137f91ea7b72030a45108e54e7729672f1f5162260e0837f1e11b875923862fb901487d56833a8bb1',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('E62F18550A8CA4A9E01E6983614A4EB4','C52',1,1,'D7rHoxxS1+tB9Nk+eNo1Mkp2CJcHOCXvYqOK52GJ6ViLHGPfz4uO15ncgh5nT9RxJa3sz/8hvpD+3bX03t/jrEOOXQPWlI0NWefzDmMYvs7kwvuS3nPFIsV//OeAcn2kQ7t3vEdUHFNKZvKVNQcpjMSiTAUO9PST3AoPJciUc8maxtzOz/P07hHSf5VsQxUYhVKOYmCH1vP/Y7OSZW8Tp1QetiPOJNNz1WwpJ9voQpsiNC0du0xJsdl0ySCWBmmTWzy7zzJ6jbm769jcp0tXYu7dhcUQMOHt4WMQMoL+2R11CuHREeJU2XCNy3339ztBovdwEGjohDrhSLzXKFTYtvrkS23NeTke4qqvvKuL2l2ZZh6h153PjAPG2Dhcq71zUlNR40DJ2PyQGjGmUTzUOFIwTDjQJe4KBeUWEvQk8F7yNIcP1X4GRrN/hSXUVYmXV7nF38dXFMJMgyu2DYc2ZC3w4k9Udoc4UeLqU52sDYjhK8bCKF5Z0bnMgcjA7/tlqSio8UdaldH9/cW3+4dryMfZU8goP44LwpWR4tpdq6ygSgomfWi8EjubqLhjRKUNiY9O/NuGazi5PoTxEbKWh16Vb1CTrtiTGpeQk5DYa8AMtuW4NFFKXnxRZzH8AYr4G3fnPdyJ/PzAvraSGA7gVu9h7sVdi+ExoAK1pMsdVXfVqJ0kjcfe141BnUyqHn4muSBjWtNdIXTnsX+zGBXVqpPswFwXkwgj3P5VvMv2b8kfM/aaABhXcT1zp73ehoYpLQ/VF7QQ1B8B18wcV3fV6Hv0SvGLApAymbIL0/fKVEpRRxriSaIxW1arRibfj3l6hBmTA0ciywsuuaVL79zMz7dV9aYoiw0oMzY6mqGAM5w=',X'58d68edd93913bd8a27e6702df7a6bdfe075aaacde375513ad569e6b9a3367c42f6d9c4e3d3f4a05c4fbd81beb809498bc58dbd566f471f3dd3404bddad33c027df8725883149938d9c54263ed9af19610746f6ac0a9359969143b745fe4f8d014133e952c8221f943e8fa63c6a9704d4f8396063ec46bcf974c68b97803bbb169cb26e46bf5f68276d3c1224243641a4d86ca05732f3ae289aa1e6296eee0722aa64f829d60a430da289dbb2b7c6e707de19302a70f47eb5e8d9f792e1729aabef0f2aea98e0bc3d00a585b737b42fee0ed8380a3544cd630147e980392e1c1a4f2e5271f2027cd70283a64cd653b3e1f1956febbe902dadea748e3fcc58a0c',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('B8FC4065CA6561981128547E60F977B1','C52',1,1,'RKEcsrK2wCcBshC2S5w5Rt67iEz4hXwS26VEi+Bcw0pna8BfZUU5PXmdYNq9Elaarv6IH23arILRzDPsu6EMcffZjrFOsVtoPMdm9VlNM9VU6tkuzCeWpAOrVlUiFQFZGbG5sKHqoY8Waorr2xuUri2jBTi0z1qjpPGJMM4AiK96T45pqts1mmkMpPbut1WMeIk8EkFyI0iag49Yf/82ADpspksIKiu6Wj1L+Dj3pY2q0ouqAUdVOs4YvoeTqnl+F+uQJjhqquSxZKD3Xjw1sLCZegmf9exK+7Rj8lrCpMY+ugSNl1EIoVBi/76bgPhYge+uAzPDaT0P/2xFLIEZiKHRUfq+CXCnhbFUYXsttAhVlY/Tvi29AkAXYUcpIzdsUcxgk0ErfgDsucxpKCnafGhnXfWMhD0JPgXw0el0sZWy7+jejQKFmJ4EK2NoPDDNfaRIFe7YxHuab4diru6vk9VI+444CnD8WLrddUwGykJCy7uGRvU704RWWxzeoBMatwQms/SCH9tL1KDNX+yJum7A7qg4rkbwvkFLtUw42syN3dNzeAc2FMtg0ba8svKzzVBf1HzfD6KerHUt0icnd5Fmsvp+m8/OFSTDt8amwA9lePmsFl0OlwANM3yXTcoiT3BKD1LWqTfM8fyDt+j6WBIx0RwSJmqokaI7ZmElz5wlqWYjmSgiaZ9V9hY/mrMQpjeXrw8opXQxhJRiKefRf3Slw9GFcZ53vyKYeefcgloN7po+qKWAKKPIO86qQMccRXyKZU9QjUfbgadoJzSIdTxrpTpA/TMM4JMbu3HnhGNhZfN07RDJsb55K+mvUgarFxYdMK3zHn2q1EHU6lUjhYJWujQVLCwc3dd7v52lM6o=',X'7872a881cb784df863801e7152fe163c3fb489198c1ab6cf1e18c83d0af3b8a58befe9a09c2d3af95c2f87499c941fa4661c9d360ab2f4e569da2dd500952ad6d7948cb26a7476ddd75c1f957413103d8a4509ac5be8d9e37586afbaa0ec99761dc2bbd0f95962905f5754ee4cba76874a7d28c5e37e2bb3fdb098680d759e6e0eda5333954c6dba23e06177fea9dfe639afe6ab6976a7029e37cb7f6070c00d21983e621704985f7cbcbdd5577a3a230309c52d0974bee186b972dc4bfc81b8a68095a0419260658aa0443138eb9945692845dd70b1bdf1a3cb451e8c3ba0ed5f4ae5c402ed3a84194306bdd71072ccf6473b00b53eb87dd9d1706fd425077d',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('C0037F8E926B18B9CC340323F80FE285','C52',1,1,'JquX9xPC8rmW25VvqTxl9Mh9ZHaB+53MuyZ6TC8BsLss7t0cD5EGVi5nXcT9rQiUggRcvYDZSIdBJddKI488JnmAYO33ik4oQymSVPWeGNoKU/x3TEyh/ClzumUYJOzJ7i70hSzeTHvryrc9C+h7EyfEjWBtQ7p/1wviOQJ5yQoFD0btQhtGoO0X32MtOfJCCMbKbXjBbFjvIge3ssnkOdSUCkeUo8mQPxxNvEdISMfVkHg0qvCXjiLy+gYZn4DpaeZ+nsNyQe9nqMPYvIhA28/xmrIcL0GlXo9VZOhYAJexEOkLciAK7WVhinzP10QuUla28lvvBgSrVhiE9XS7miZUWSOyQi6M61LMH9a9lyEqDFtcnKnxbTU6CRQalF3T1pwRX9D7rZoSThP/7nHFejx2fIqJ4fRjvsLwnzrnVuuugE404LjOTtAnaxUdoX/i7zulegGUrt7sg73bk9I+cqcQEoyQDPS2E5TiRG0l+wzjSwkHBJ9RRY8KD/QC0uGXWW+14TW2d+HCxj6gn26M+ziA0MNJH7IHtyOeawFYS0wkdnHHtF0oGdqh/Coc8jpKH/307X50Ljp/ONlGlOwWnH/ljQoS+0Hm2qAUJNEgN/mv3HRkwjUUa3tNXrNgJbn8RPXQfUWNwj2qI4LWcFh6kwsYUqUAySNeosxTA7xWoIVrQZ7BUaMAVDl3I1LTuJQyAS6ssyXbdTDQVUh8Eh3jtfZomv07VBpn/Jc3Epf8xJhRNHtaiWoda629GZ5oqv7qg/UZ7zL39LYOw8ArppucdEq8vemzUJsP3W78mkxE0y1j7W9VOsI9Ua3iaL7NxFVs8cNxFmXwqJsR5Em74Bclx44WEUeP/uPDacNFxJasI6bTAD+cCQrdUl0AbbK5FwbFoYmQfad/qIbaB1ZRWBEKDDEAO2B2QwDWrOJQ3u/RgTulF9LCrtj9iWhUkPvdXG8Ey69rzJIRBlOWpczS9UDWen2CUALgdV4OTkbNSifxV7EMc9Ec/PaaVcljPrUKzJ3CZf4VSqeonG5d7vba+Qk+43TI1YXl21adgoin5Sx/mUW/fbWRWCgOsTlMwT8SclxjNZcMCcB1aUblMb4cuTEuQbVuSVVd7hE+aSHkQcJzyyI/2grxn5Wmd8q3rEAZTHIFYaFctgbNINmtQZW1lphPiU7u3C5tukN/O5Dn0U9qAOVebPngg+CQsQ+wMj1YS0X+/LFEHQaBz7HKPEiiF+D2iIbNUBwZNug7o+ZQ3w2HBOHu0PERHWnz+WWk51FYOo0L8cNUjfT+IvvRF6oJ+dSbgHERrgXXe0TS1BP3vKvmPGN6B8ik7GNT5IIGwmDHzcHvDlGHHeHrdUja1u+iUnUbuazfpeJLt8naHEKVtzUISJ9EMfNmE8mgoWT2GpaGahp88NcqHB5uYCKKamC3+luaAyu3Gq4r1Nx+puCoLoZlBq0/JLBNnS1IpPdAnLys9sIs8386DBhgdkOSUGCTyfSMfg==',X'53f275949fc9a1911e14f49b9c27c16130451647595e1d1f6d7c9c3130c512e925ce823ffca9b5956cfb38644acac27181e369be4657d42409e483364f2a80985a493c306fa19734c3038b91ac0a59c9768f9ed5e48eb85e6f2e49b76acca3760bd42cf80f35cadb4809175d02dd86c97457ded2325046cc37eb24250876ea0c8926104a83537cf470252f8e163d0ab3dfc8857c74e85cd56af992fe80458cebe7b8e58b1d1ab2c5a4a2c9b1aa7c34ab32eb6d54c7eb9b1bff08223b5d5213788d9c2eb8d0e19c9a7b8867ccc8349042be60ace2c984eb401eb79703fdbfbede5a35985d45bc754d0c1829e8d5375e682a527e51cf19baf2340530f42ed37a44',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('CD50E67D2BACA57C10BC482EB4AC428F','C52',1,1,'8f/Jto4aecLa7YoC6JiociyGJA4JgWunstW0UUkdfJ0cpNC07Ov87Rv975Efeu5uY/WS7LpagBsS0jHsmRZhUHVCDlKFD5x8q2xgAmMpG1T2HmRhg+/nPLydMwnpyTo3yrEI+gG8J3xMfL5V5VR/veEIbJCUFGoKreZ+3YaYMkMUoEtE9bTwdnLrMNG6cJZqqCBYeYbxfmvI88ul6kP74aVz+hAmaK1Pch1n9Xu8keuFQ4P/+uwCI2FoWye3rGQZiicKmWxRxcUuU7K7ONA7YFnxOEbU/zsRjj4l2gitJSY9aUUXbD+xtGTF1Cf/9jRiktgGrHZ9Z7yIzF3yAgqX8/eXrVsV4Nz7tGrJxkWhjECoQnwDRbuGEEA9y3Lvo61tINfjaWjnUJuV9u3sMWu8hgAxQu4BCvX+w2ZLghmJBG5xF9UL4DQ92iGOgoEKuLeWfxFtLiMitjycmtFmM84HB/TGg2uxb98z8AEs0ae9FJkZIaAfRIAdzsPDPF2cAkEoWdZF36Ogz4yMDz4G7HGNOPFmosVuGHEon/e19U8iXvbgJdHxeyn5Mk7cgOx8EcwolpAd+lnYL+Kd2ZAqdWd+D/cbI+Dv2RivIjqYVfLESdJ/DGm3FsFu2OzN43F24gp01HmDi0kaCqUyznJECqqVczvvQ5ByLDHjy3S71KgW1SuLgraGQ841UHcMut3qUCf3MhMuA2+gKFaHQgPQA7h8Wk2uIok53wStEuyXNwT7b//wD0hId6dwGO3da6I2GgZlvDaEl3Ym3TLHClybP8w5ltt3VX+YJUfWBOrRPs2Ge4O6gwWejlThiN+VxDaDHnHUpxqH/BQ+ItjeIg0tBsS+68JlzXvFUW9cUbJDCy/l6RkUDq9L+JCgrNKPX3hT85BgWvmJMNy8Rn8+rxOb96OiAhicxTlj1flOGWdoe0J8dytlfn3hUzcAmTfaS9ydJ4MvLwIVJjrLRK03rTLU0HLWokfdpOMsUb8j/9oGCYtGj71t6vO/i/RAYFl05pTbu8weUgETIs+6NpbP/Wf5PUq2AWX13KrJjyAz9pwdMntf6QzWJVxjdxhz1lyka2HJJgCnBIbHyHmTCrcqJtIkf3S2rTTHf1q9D+Q3Wmo3AvKvw0aan9E9ueqbGZTsm9ZOk4uD8sDFoAjmScUrIKE9hdxvqSYs53QfPaDUkOdfztzkQq12o/UT6GXaeOw00F2VvdMiYvXVancuOEWOFgLcXuFIKwvFXVSEzyQjyJKvaAaPnd0eywMM310fqJ6gvsD/cr2U7LbyO8706moDK12zLaI8IY5BBUO4C2jr/Pyy/BfrsA6b9axeCeAn8Lt5hJU9eEq8icNpEgMJAeQ0s4lNzS7fLSkrjCMj6dDS2t2MSKqq7RRTutynpNWUsINj9IGV7KTQNCOUTNL/vYfxeE0dzSUlUoThVfik6eAyf95cSqdJi1ayIG7PEIJyYDovxWbBo7BTKt5OntFi65VvozGwE/O9ow==',X'0e6e31934bb53109504c70c2de6cbb23dff71eb5f7dfc358061322d8694151686b7df12e5d466e0f31d20a8cdbf84c392e302bcbfb21492fd3d79b15b8b83d6b518f5508b806911b56a840da07cdf2a03a881754de769cb5933178572d0535de348ded5e7c3af5dbc0a46f2989d07fe437e83de1270aff7fdcb998e0ec1a07ead1eb0f5b8ff4cecdb82a63d34067b4146c1ef5443fb372806a19931f6da62f3951ee1a01beedcc6f102d14526f3e77d0552f7182bbf0e91ab935094a1790717655cba7a39618492d602d71e2e4ce7979f1a6de0d7bbb715890ec63ba43663fd233ed5bd847446cedc9f4e81681236ac8aeeb3fe1578bdeffb1a8844dc7386931',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('33F176B9859BEA1B3B24C9BAD82B0812','C52',1,1,'A+/F8idzzXFbRyUOcf3Qv+r+4zfsr0zDn0Nk40bia1kCYoqw9VtQTHfBEv++G++ev4sYrdfPLOxTCPPxqYlh3qOBgyV0W5GNoIWvT7fefzPOu/G8qjGznsItf9IOfeo75qDWcx0H6+hkGb8T6vL315sSq1ZodQQotGA18m/rlOjSwgQQxyPeSQhO2RbaxYTQdflHzMgGRRDjUjSbye/G+pOC6AeOkhWxjonj2ZBW9TU79oT3Jfp7vw2cHh+/0Xll2VLaApG0H1ffoSeEK6rXD4ZYF+v65Gr0GGRrvftsi8DCFAi5v+e7wD2yuXwlELqfXRclsh+/0L1UY/o9lqNLlqeEL6k4BFO3/xNzgOH6WHKEIFvoquJsIFIaBeloT2Gb2zEG4bWDf+lBL+ZJNFQRcVWIzC709faWzrwid/whUB9KyG5zXQMf0K2O4K8XYixmR0/O1C/4pA/RwXI31R98xNKZnaw/v9kGbcaNyw1/ki5zkntoDzR42ZLSf1aupnVryuHKS9b8vJysLtTvUYkI0PYbb5xhwqmvGis2Tpr8zjUH/tEd0oQkMJt+q83eKcanSLzENjZDMIViMr0e/PXfsQVw0NNbtO+MNCb02jjwodgl6sF4Mlo1pG4d0zGtb9fbOkbf1II+zuQsBBqbVLIgcvIAPvuCGlhCL/LWU5hF4BESGc1xHGKh4VA4P9195S1yX/McMZcARymyytS8OMtBmh6/c5McP7VWbwUne7xrmwgYcMyTLpRx6erlYKKG9QCdLDn0EPWPUaISBnuoWTfAonZ9z4MdfMkpPZCcGQpW1OSBkXLUPKoLu64JsTv5pwfROsiwj10vpaOyNEDW9h6JZqsolfEAYA8NCcZfeTYvi2W+N6iHj46LlAtVaAhbZjCJdJlq+aO3V9S2HaM1gZ2ElKe0op6xUT7W8qvUu3ayBNKSyfYPIruQWfrbLSxs7GmIKyyqqPHvkAzqDbDTnF/Om7CHLTYMRxtP1dyWttKDQ1z91caYHFm+OTh/8urW/iI6vdwL692ngfvRw+SzXBAVNxOCI4sMypxo+EJl/DxiW5E6rTyPwOSbz/RRX8y96rHOBDrapV0gXShcpDKY3BCM79HdXVshVk5Bmjou78wApYBL1mlN9MH42FsvT7qrITE0Kw9PW+h3h4Mdnx2RIgnwMDc2WoD854Ebb3RUa4y/88QzBW9v2fZpun3Kt54rdvx1Nsrh9IyoRR5kmIFiPUQMVO603FFbaqeZ0QV5JvC/MUNRiDm0XJ9Fg/KfsbT6AoS3McN+6MOsPdbUHUuibJi0+Fzs0ude/wXLPgcxjNUs2yjRbnB4/8O7H5t7oX9zntSsPKYh1Mnsx3cRl1dBBAlyPrpApohVYDOrh7/HgiYYbiDVoIqgadJC2XMOF8it42H2nI1xmm3OQ0wsj72AXqVioMVmIch5o8cNmI10oJgHCwM+BCINWejTgMO4a3RiMbwfdDQXGoiGygepACx91Yf7LA==',X'9a88c85947266fa5bfcb349844a4c6e48666b4c838179422ad6b50d486887d395daf944c03b8aa171b8d5e24d64d5bcb507aaff9f23dfcd42fd815edf590e05b3b8901b0fc3a8a7656976f6eda36b36346e2c1380868ee0ad6e8b07062f41dc7ada028a8d90bd21080756261c07635bbc8f3b655bfb974ce4b06a6ae30163a7638db5f61b7453be5dbe53db0f84468497c32a267fb9fa1cec47a82a40f7db30b8e0765f4413e82067ce5ad7edf12852db965743483bb88a1e319476e9cbe115c1d69495c0ea871bfd537e98105472cea6ee7552b2c1dcdf840df5d905032f425a0f7f0f6c5147a35a306fcc252568cd52def295ca9986c2719b76efff867c7aa',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('C467971E6EB4057E0AAF0839D0CA87AE','C52',1,1,'yc02QD3VcsuSIcUtDU4T9ko2sZW1brPP519igylIfWWWLVQtMhIRJX2eBdbWJKrfuxuY3r1fexT+QlV+NHnKVIn1bInwYWKqLuA/owfxpbqzUT4lss8S/4bMOU9m/EsrNilRDpqTMoTMQ+spsB5GDvm3o6mySWJIDUlWqKBlnWVDZad9WQlzQ0pr+Ai7xW2EtwJcsoCfSHCeb3P0KHBbIRss4l09oXNQ+m3vr4VK6p3Fm3HY2go4ksZLQk9fvpqtWiJTvThXoFp+bvBdSkSIzXn8gMM3QGQQmtVtqJSFjNkWUfvJHlzvirRAan511gqqq7N7g23nweRMd0uesEh90DKmnmicMfyuzk2wnxpyBZqnNKSp4RjnJZqRwPlU7jGLBI1EUD/mYF9YnIj14r8dR4KumHL3FMdZTf8Py1W/bIjhjI5okgDzUuXAnbYJ0/UL4hkcrNiCS1KsVFqn67HnysQuLovFL3IIQSiG81Ce++r1BI50tjQ3cSJnNwrcjC5OFR7LOH3gFLcDKixF4bFeeNB8fssw6sEsjQ/XsEGFEkrP7nxuLbRwc3t2YVoaOGf0BLWGcms2FJsxispIrXFu8hQy7hBhvTCSeqvANRn/2D9pai9z7rgL8pf1Q30kAEbxG7eYrNTq387l496dGBxToCEhaTRZZjch99mK6tJIkl7IoZMb+or5IjcJP/wUbMVLM4T7HqnsHH+jrrP13MBWIJB2VHKFvqFUgLE8XtSqkpdeAR71ul1oVoUq9lGmyeLc/Sc+MKF/Tsy2aoqYMx+k2+5SLFHoSBi8aRZWTzwYdu1GmtbIovJd9SYYgX/A6sU7xZ/Qk35BzyT2xyj+QqV9CqHLSAn8CDsKIZQsgLUrgng8BzDeSyZfz1eh2Zdflpw/+M4C0j79UhsyqknJFtNv9F57GSB5YOLBfWajKe4prO+2QETq7v0Fl5D2amyPxamtPnOLM70RU5bDATQd+5JB/5ice+CK4CsjC/eoYK6kfd8sk3OLVgYcljCF3G5lSViCwAk1oO5wJTDercqDuOM4hnBqdKCWwuJJiLiDCEFFfcLpMBCi4283cuyo7KETHKuTxDvT43QK5ZO1K2mInoiHrQjQ4TtKaR3fa8dW7NQk2NxpvhngPUpj9F3cjuqX7+FY0WKmUOYrTjvWxR1n3oizLhThMoUpJskapLrPdknEQ1zKB17ImSWe2iucziGqBJ9gnyN2A9zVF4CMEpHBUCsJ7Tkq+pMlSysMsHybUIEFkJ25jphadEZBH0e1zD6Bhq3aOEnPk3AW+bPg3weXvprTVCKO6CBoq1nEXqyMAHkOwWNcUZIWtKo6gEgeqvAT4Pmx5TbhmcotQpRHanEgRNvlTcaFH8uulC4AlYiOR7M1qSoiWEcnS3TE2lm7v2n4ZekZAjGAzO8erXSqlveLaD0xIUNcdn5GQTTWNxNAuHmha4TTu+I3l0UzanGaq2OMwKGg99MM/JGq1QaaSuWlrvaF2w==',X'1c7d858b8897decf8cfb1fff59d7d614631b1d43aaa8b23e7fa2a71367f8a9025f870da72614f6240d502cdf8aef08151f07f27065b616a29ae1e372d3c7dcc1fba7f216f3b42d73a3d21cb2ef20eeb0fb729d0788d0ca56a43a0a230d885b1bfe8a0322644e11aa6d54ffc4392023593dce67e6ccfea339bb7547c939dc56d2a0c0d89cfc7c0e106e63e39ec7b239f0d4c8f374c459cb533a51a730fbafb9c8355b5dfdb913beb94aaa2aa545ee55ab79e97afad8a89dd8f5abccde7efcd856dcbeb2223382adab7f5da57f5718b2635e7ef50abaa32227e1937918ced7b8c78496a1e39564b96e40841cd545fd9fe15e0d01205e4e69198e4c6159dbd6ff4a',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('FDAB1100255F643D625844BB129C70CE','C52',1,1,'7Lx+gwB0bKl7hzKfm////MFK2N2Jp5Y6kshu+y3zGNIFDq8w2c0hfAGavcGD+RR9Gc3IESWoGD/0nkFAemvTKxmQ8A2AfdeCVk2kRjJ0FunMznGFqlhXz2VvfVTEkrb1XzTjUj3QXfLHINbmQKTy/Lvj8WHz1lOGz6TwiDfo1BCfUkyA3xO1He/lmL3knebOg94qkuu584v8+jCh6PXwHRE6qDdSktfmvMvEF/nIYvA1I21zR6cHeixHkYV/MRbTHZ7lMd/ezF4v4saZN8iiuFjmmqSgvYbIF4hetcX/uioqnXtbIbahwB7BsTz/+jz8rtSRhYWVGvpkgiRAlth/YzTYIuiNNc7zK02mc12QetyTXo2wn79DoA/YDkbIsoPD/42XdDHcOIOc8vvoKa45beckUV8ryl3IVOtMSKncDEwXIJAg70tit+//sjhkGXb94amA73ChXIAga3kHjfdD+lNJek5pCILUdwSuFHolrUKiBNXSkLTf8K954Oz6DftXbfTvs6NDxTk+FnZBEzbOs8I5rLB1haxusHtxgRybg615d61Gfc9Ok9g93Cpk5wwoPujUi3P07I1S4iOVJIVQR5ktHxnH71nEV/isHa7n1EDvrGLxtNLxaNMFxDCsZpky2Y/I0O4IgurEBMrradWe009leTLQYbtgm4pHjWNXOgOL09SWJTfZnjbMU9zb3AAWFWd/gUvClxkN5GnnQyoh20IIml1yjID5Q6vsr8ujNC9xxoiKGfighKQPolE6v4oPVXjaSGcPehhKPKhgTPEN78YzI6fy2j15v0wBrvl4WEGPK4vfjJPSbBNAfazHnMwjXiFfd1AuoPGNsVTQfUpCIlFrlCTo9TU4rGTWcCYUw5/AcDalCBBszbeh2n8Z2ON5aoqZdu6/86Clu/ueUOVlXGuL2sgdOHscagttS8WbIx1rKIZka/92q7Ns0M/XZOJhgls5Z73LC40ljjhXSptvGOuMoBBSNDFawU4XicqS9qtBLb9GcpJ0TJGSP2kC4VWmTyz6VWpnCHHxrxPFXUOAefazYVdtMe1XylmCV6kXxgNozXfiavR+eh4cyuiH27s+2P9MEmMzXW0PqECE0x5Yi/PZ5eoEJVRMT4wVL+LSQ/+RuQceR0SjQxGKXsyi9qRJrPou/rdBK2ZVYT9n6/1X/EfooQVb8Rio0/yNAT4FT12rAks5PPWYdcdBAlJo8OjnPw8SHo7UxgaxXYLBlBiWSCRssLi/RqftXAqBiSNZSNezMWtrJcbxvLecPCFl2PDjdYzyI1+IbCc1rQpJ+H/pl4bpDOFMNVEsh9UIKUBuyPviyV/nvHxh74/KGEMkXIFME3KXQbcQrnc4N5KCh//2TYwlUZ4OelXj3o3ikIbLYHOjUCtMW+j49lD4KMrTKDClpMKWhATTdLoS9MPsTuURmblcc9uxFvACn2QnL+nWjYJx4ttXROXcDzF8h4ZL4fFM+FoHn+S9XkJPC2TEfO3A8rtKw3+ZXp/z7O6+1W8+DYbHKu1BtkPeIsh6sFRIe7UBRRGNVgum2zT5LRrovt6te7CpLJDoIL3rWOnib+iZmjJTIKTjVLBUMbMKLUMSbFEa7fRbUC6+/5fF8luI4aepaMk0FKgOQ/0QmOnkTiwNe7A=',X'4eb6d5cc5781eb616d73f65322ba584b2920584a277e85f0954a603c7c7f1cbba054a445d97b1d96c45f5e050804e9d3f0cc256e01e8b97d596bd6b3caf8a9320128a3e61abcf91ddd315cbaf6f7ae26ea0add5872c592776f47e7b4e62bb31ac0b02f5e1ac57ec5a1b8db9c27996a2f2ec08715be4345a681a63beaa8a3494048c627d3a1b5ecc6d3618d971dc31eb9b2462d6b00748bc2657fc5db87791c8192e5336073efebf153c8d82ba1a56196562578172fbcda3a69764b97904e29e8b8403296873254b888fa6438eda8718643e475feeab406a46118caada73e1ae95729a2e91658015f8b3072835b7122f45930a13b42949bb539269be49c23d9a6',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('8CEAE5F3709D886BDD33C8C47AED1027','C52',1,1,'MWYy5Q4vX3CMOy+ldupz85E5p6h+z0CENZGmMRB/kTceD530zRhYhHvgu/v1wCRh2ERh4IFcJ6Xor7fNxfI02xsnoGuBzZjnrMiBRcIs3MQyz+hMdhi2ITIkTTJdvw9dyEUds2i9cHNbVMoIWoZzJHgzT6/mQOLxDZkU88EBZDuosN4sYvPWiUHRBRKe6kJd7ZOJwozQbDT3Y4PmFUVr/m4FoVdPbA2dr5ZED4VcN8A2/bKJFkFxGOQzS/1nRys3V2MvsaC5nUMFylKl45K8ITIfwy6dmyCRus5ocITaVBikhqUgLuz5kU/W6a9fsK2ti00drDptaePiv6akSwMy+sivrLZpTB0s0IFSmVyM5uRUvm9k8MjumHdheJLwgCyOxZp9YGxCCnNhkZFVO2tDwhIIbMHgve0oTHKWSqNvWqNu4KLLO7l7fmVXFMh5dlJfbEUzyu6nnwL1o9LpXX3mN8KzFVcxmN5qosDt6VWmELzxSMOwXEAxz8V2L4XblWBg6oa7yNvpnJNi043BXl4dDm+CVLOLOC6z0GX/hIKSzY+/fUarUheblz04z1fPgmtm0Ou2RJPSSbe/RavBj+zy2aYoguDjOf7f2U3Sc97ESd/uKkWSO1TfsadPbaWQyu9vV9W9sByBkegMEjYnKZVMFMkpoRfoBm82AnbtF675NajnsswLVDPNmZDW9XmAOMqO/SQRgIw8fSTD1qYZLaI/t6zWvN+5xWhCZmuTLxvbl8aPSC+rXoVOAbAlLOwLzputGTdr3Pdwfj+c6mbU3NFa9TpfQ3TKfAi8boCzE+3gwDAcRHmh0s55WGcwh4qWg2zcYYREJx4A1Nn5zYX7MrKqGca0hO2xfJ16eV/nXtkbUedmMqJetppOGUNqWGrl+11+jDW0UreE6F6kTT+q7cbrHzYUUhkeqM3JEG9VRwlTuCKJxDl50d2IZUUaz9HnweZ9q/SEqQfQK84pi1Sz0jzujo1JZEuz4xS1Gr6dFz0BS23zPvEGvc/jARQIzeqyIDxIgbSl32sV/zxMyMZCRVYQvaWbnvHKAEV1i3QHV1XC5qOz2X9qFbI5hjuCN3TnXIOD8bcyzG3XM7EsDock4YbT7VqqxE2QOGXKT9vZ1w8ywRQDJtBnRBWLYhS5n0hudmy8klwxg7VBprsz8wNQ3NO18EOVdMQo/6ocvmrNQ8ZpJV5OdS0AvUMC1t44+8P34cCrg1f9jvEB25zGosxTinq1efhaimFmXNFLvTMnMKh4/Kh6W5GsZojQQA9vTCHtNsHBAhwMen/J2//enGTzjlgQ5Kc29dnjOA3rLBLOEvb+5cceIYfYP86NUWuPq62urAxYV768VB4q+pxa7jao5FKjHOuK64hVqyvgeyC8iG6D9j61tsFT+xNSi261Xm8Qrlsck3v2zn9vBc25/WBmWdlXBbs6k0Kn6I2m3hKVUdWGU9iT2DK25obtYMjnyFM4s1ugXjjoIrQIqbq8lWvKRoUuEJBaeEaU/MbKaNN+yqSE6mGgUbh16/ninl1yrmPj23wOQyRvNRpCYw0Kgs67AdVRwKYvSX+BrB1XcaLwAgYfbiCzyhDOJwsjQs0BxHH8OUDqoWgeg8dQg+prvi4YaApTM2uSobs+e8U9uxZ7xihQ5i4=',X'789c6b6d5b2d11d1ccf4e9f2ac2e5a89ee4cb02221d04c1c673a7548b22f26b57af00cccbb2ea1a28b941ef115e8a01c0dfbbaad278873e3b613a9da1c558febce3974bdf41f740cd96c77875bc868cb8f007bc3ceb93956f6a45f65f03527ac8b4ff3a603ec5d5a9c767034e8d747ec29b8a838d3064cd5510affb0a9fcef8453da8b3872002b12cfb3bfe8f78f78fc5039da16a867079efe9441c4f7158363be1c88d3ebce57425c5fa9bd1f87fde81fcb8a5f4c2dca1b50ebc70a29bc8c535f5e88a4f5c7097f305de4dff809674076f1791b3230b6fd6d61c8b6c301040523d41259e0aa9ebd5ec9db1df600c7b4dd26c3623ef31f22dfe20711b3db143d',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('81B486C23C99BE752F9780600A995D23','C52',1,1,'pVh4xLEMJdH5COUcwnOIhyM8fRfdr0hH1cpzDMLMLqTHYw5ieQW9rsYRm3zhLJkB7PC/eUcb3x2BfmapBZK/R4H7U4itWpA2dL1eGlrt1k1rxrSKpFICiREQfbH+N7EoH205LUSphTDmnSSWo09njZNkuWNlJRKrh0sABlIqCNNBz7ZEC0FWZWMSKgZkxcU0uww54ixf6dOkSKfrGMQNyJAP5YhWg3Okprn9KnKkVpBgKfysrtvfb1WG9ndCizvacq4Hs/+v9/ssfiu4rQAjSdDyHtaUWwjaSvmwqs1uxjTaYbdgnnU5FNzxFOA/CeGOcDI+/peJoQaVBfH4ogWoO6FC+xu4PuOnZ7g/WCBBdFw6+Yw9SeHETqRiKXi69onYI+Mgi6sSstOkjSAaKNuPidyEq5QVSR0EOU9eosH904H4XUtpM4hhkNo6pj311O7nlYLw5N7ihQ+ycBRMY0xPelCkDgdGgRk7Bz8dbCOL+DzVtAJrEXakh1dDqXxy3o45loTRy61zXvWm2XMv0iBa5xtkopfzl3Kn/9O/pUIyL8XxGbxJYpBbarRJaU1EdhWIhSvPyEnyINthnIrUhNv5QSkIirebDJ48Ag5+QGVb4s1VRwv6llHkSnow1XQmyN+x/H14kguis3HCz2Jg7XE5NoYcd+atLqzXju/PDCsjBJZmvb5bqXOQD1yLqHBSAhQ+PiLjhSPqOCnMXia/3sJrxsfDZ+8ATSDM9wAJrfJtTgh2TTfzBXn4ortTKEtsFQkwwsnLLV8p5RKo7Vaxzs9BnxZ9r/8MPBQkJopvwOKMG/GIgomdL12qo2gBGuXc4i7diZAbHJH5Y8ZCKaaUjpA7H+KRSglwLVXvAr5vxaFLeCFcUn1Qv2wMCjgIqFO89vNk5PV3j9nMl2BZQtg2YRahKSkNxhbm+oD6YT5+qkNzz88ncKj2F7Y07C2o+wIdOIU7aTIGe94jgfgK6rhHUgwSvyaX9B55TmwWlvVRCas2gf1Y9CqCwkjPCLlODA5YJadWEXIAYjngV9qM/kNLAYWNPjgW3Q29/kRniRp2Y/xGmgqpOD7jLl1JEdxRvIVjn9/DO5J+jZQf9UUp5T89b9OoH4UkhttEYKs84oTGwpbiagPosLsQpLMi+WXjaIDvbGmc+ahrZhNDFCs6mDsDwrBNVGeVMeY9fUXiBWn+nmNwC/vBWLom7T0vLXkowH/hSIV/wI49lCVKsQQ9on7JmB9AZKbh66MsbWL4Kr33/ggdGvvaHEzQFepKsTPTNU1wFitcCS/SlniTAaVthxAsQ3rpTQUCGPYAq4S9ubA5MzWfrVVvbaPkPS6nzgBU1+8umM5di+Ufm+eVhGtzBJTycBH49HUzBWfNdVXkhcrm5XhkHqS7ePfiaXCmHLYOi8kJUHVBpDiSF/ZNFDyp4b5xYu7ehUp3QavM6QHjTdHEuavwe45sV9HWiKBPKeHwpwghqoq4IzYAUT8w6YhsINAePaBVfx3zvc+WtdKRiGRgKyBNpASLHjb6J+4kIfvw9xpZlRdlmbk5tZrPf+sbupbpTHLeVEF7l6nZ/BjSaEruvIROxhd2mHTtxTa1xfhzjZf+RE38h3F5ezfm1FLsfUtnJZxxnoG0k8yAr7ohaadcg3ZG2pw=',X'20e7e0a2ca76f8646e062ace1818436b126773964d9bb6f99e497c739896b480adb5472ec26249d03bfb21e29c5ac7db69a8863f1f9cf0e0f8f6fdf68a6360178949fa358e76fb8f1c66670260b23b519bb22bff85be6b627063706cd8c93b891c0b8a9c4b0a587495a512d5ad80c24e0920b89d4c69de4433cfc9573e91767f9c980b59560f4f7b8e780e9bec4e40c13a2c5b9e6678a4704b1352be894788ee063169740071d8881fba38ccca15e3d3cb7c793ae89d15170e878c048a257bdc90935190fecb5eab177fd7a29b177d093cb2cf3c347197577eb01b0aaecdd72c3fbe1b6406b0c36f55b1eb43a4cc1f2e8e1242a6b34d5d6c54c4c07dab952960',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('A67B0E79132A502B7D5A02D0512AFC9D','C52',1,1,'gujftzDE7Sw3KNI8MOMV6GBbJGeDXIvsiSkS9P5729QLFNk34PBQ2PPK6fX0ek4AjqS2E1AI+FxOqSN3GKs5JOB2c5yZYB2R+LotuFE5Jbcp5BKBgwyyFiKiZCJv44FR0MzvwkwNO8qRrBdGWZ29kc284WWCAIavSqihvyCWz1pmYOxGTx26Upe66fJQx/bfeY42dWXOPM3dyCcoDcWNfkKe8cIdtWmPlvNRYf4NSEbfyhAW8coULfdZPaqIaAatTTlHZDbLfORJC+VajMIxGyRpKkJ9geztGZMlHTUaO12QwC4oBz0CG8tcCahxqro5qG7R4O6pTsCp0NWQaKPVGhsxCa/HwQhAYOkVC3R8Tb49siOgw/OEg+WicDdw0TAFqX7AFxUhDORgO2+uJfuRDQV56LnRc0j8TgnEkTqgR/HzyWeLUUuaX9741BWU8T/ZnTRx+fBYLOqpMC6UAsr+ajtKPOxcdTskhP1vtof5+ChWS9xwnM+2/5WSxxCsqjoEuAsmy5lRvJZqMwFET9duSz1kWvCLrzAOvwhbM7FaLRwUh0iFlA+3aOHaOJtwsZNbxxLhK9u7lB327amEYRwYI7ltwvjNfhMkmQ0MSzC++3g76YVz9+xUNkGqIJbVHKLbKyhuwAdY7PqMPkBAdSihyaa9jKI8tKe9piP2CUE2ZZwxMlapYtL/2rP4JpUeh8+xAn6Ae+jTI9A5+6+fet8gPfnWsjhFg8iJ6myllsAgvmDBYSel1p1Q9T6Lg9b8NDRCeii1LrRQ9YmsYvQrr2L3xGclpkjH0CIGQYOplU/fSJyDVGacEhc+zcsVPWthOSwuLXgMFAOnRkYvZiOQYg6nV7Ag3LOkqpXTI6r0vPryvwGLey0YdQ0IZH9kFdMdqhGZY1+iEeuHWTuK+1WrpArqckQEwkRvrSCr//hMrB1a+GBtcekd4oekDqXyAIHIhfpsOdq6JDjECiNJt+AgdvPLtQbLhmlEvJ5Oh2J9l8NegP5E0D4rEeSlgKS2J2ttfOjabyaxEVFfzftPrEPbcup6ggkYNDqKb02AgfQOuadan4BhS0lzV9tLzND2N7mzb9Vi2iOa/I4VkSpo51EJ+N10N0GjBlD8OPE5hUQbUXzj7wikUj7KpTxDe4X9IydXskJCRPvgan5XJbITgWmsqdmNcwvxiIAC/4oQ5E8WLRtfuV7YHqihuFo7uJv8maHkl+2BYmAIbgGH/8r4/YAGDRWYB3UI/4bsdcU1RE5epdAX3oAZH2T4Ob9LykazDsWyXa0az8z38cqMWQSjjXhoerE92I4A6vfH95En1CAObv/6fb0J8byTIc/rtWiOwFI0k1dLQbrHMQh2gxxWry8YbTGyGckTd2WdRVTqdHlR2O63W/1v0ZnnvSnDVW2DvJ3xTFyuD7M+GjNCHnyrw2ux1r+2/+cAYUt4TLkfF0tXq8KPZBvGwcwoZFFJp7AREJrxQw3Ob2BaLMgrpM0PY41XTHrrQyX37eY6fsu1u3YvwTUFKwe3XiprsEZShyjW5xrqRm4tRvqW/r1g1p7Ys3XK5lt5oPBIgaDa5iRN8mxTnmfOC2zV9i4WQ6WGg/7Gf0ImevvH5vWfC5+NYPaPvjC/LMyPmrOYcdGpJ93GmpeLsdJbuc4=',X'121a66b7283f589d0bdd746c17f627dae30c926c732f5f3ddded6a8beabd57604d3599a6daf536ca9f546093a579c0c57ffaae44ae92b87af8cb4e2948b6376e674ff5017d79671a4c333038f2e3ca46bcf28277a203d2face7f2c013f940fa2f83209602ae4e0a8f530e799b2bd239a59388ff8b29afe950f4c00a11d77ec0dadb65bf7a7235c58dc6b15cf717cd6d30d658a71531853c740f5290b9fa5f342d9cb5117a761134f006b95b42a6c73a2850b06972e387d7705afed2a72f336a5c37168de483584c320a5f43b230159152b81cc4ef7236f7bb6f02585a3731ac1aec9fd0f5e3bc655f82583b105af58320362622eede98d0dc72abd53104d95a7',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('C72035B87A123519E24B700210CC782D','C52',1,1,'OI3ju3Em1GnksisVfMTrTPlLvtbY7ZefNNKUPXHMA5RjFJiomC3X/POkoTn4hnWnsq1apwX+JX+sUvV5veKdjjgs2xvWurcsd5tjjVujaDiVxSkX1dl/Huz78cTEuKEd0uHWsNHFM+r9csrLJUqj+ICnadDjXxZ8U/oMv8IQr+oEWBb4x6TrcbGML38AUktDI7uyN55KoFBqMzSXBDPL/uMJF25ghNFVw6CE1ZsAd+uqrd49EZgOqHTk5cOBbHuTc5Qr+EFAvb5VTaUU685n+8CO3iGz0HsG/Urwcd8MWA+6pW5NkuzUcSz0V+w+jzRZ4FXRumIgzLtHTtuJnnRGlWpFNeD1BAym3YW5RSkCMvjmu6+w+/0LY1hdArK05uFTF2ONT6LZkkYSS6xR44cDg+6cZT1pZeskfIR+kNNHE++yazXBOSTe5Xs5pw46clC4FpdrDX3E2eGdaHfwSXy7LOOaW4cMIUk29Jyh2P0FKnXhuqQMylaYgRAmk1MiQnh8MossRTn73TJrpw4lxNv324FH4q+v9Qyk9xfqmBCLhMu5STyylp9wNwe7YvefJubTKtz86g70RDx2+9PkgpG348ZbjX5m46Rcl6TbuWyhQk2J4dmyffybtyOFs4ZMcX6zeOIorNwhg+Yxr6MZeEtHoB19HuHcBsC1aDz/wFC3xShlbq+z2RbG/UXIWClw86qTvivU1GfqjFbTgUjC4lMwqRg7gcp7gDtsv6IhLlZD4cLmp0BOPrasAIL5xOfX15mxNvwmXbimHEABU47PZV5at9U8ZqPbkYPFTf/2J9Spn8IH5KUVziKpuJEJ4T0mouxFZwJNasZ4mK64+gQ/tzVDd25m4yeHsScPW+isi34QDU8Ylp9DMisGXqTygnrbVdTicafdKMgCrP6iYxXpEhcY5oLB3HjywLLRkbP2J6Jv80DK2hDBwQ1F+OZ4RTPhbGJdIseMsX/Fk2laf9kGbpJHUnZkw1ERbH6mh9e+jT5r6mUtX4C8PGGDR9Vr/N3u9NY+iNLi6G5vS+OyAel0onS9M7oWqSdMz3caEUVv+ntqp4IhBW2qX9SXKrVyeItgESkc+SO1oDpXf7lU2yuFzyioyKdYcYDpzT/Gc0m5pU1QTo4j2WOKBPi7i5fBJHlOGqpiSRVBkYeM/q49Mcqv1EKEVrOWomg6kvS//jr8wC/PHoJzwk/e1qNdvIt8D2ee74CFygamFPwe6o6R/CyXmhMLzMjspMlai+Kh/G0/0ieFY0mK9J++7YmceD2TF4Cq5zKDe630aAguuNm/eVKD/iIYLrwWwsBJ1kSs6qAk/dDyS8NFcfWxM2LXLRxy92JfAarQuQvPOHn6ZTQFn1xNmCEn/IqbdzVAC+UDKrS9glpOohXphNpQjnthp2Od7hQH5FNLeRRtsYUNrOd9JFIEioiffcw3mOvzalnRXk3KNAe4ccnO7HaA5VTuG5JaIRyJ0qpyJLsbB3hqh/snIndyRh+mIi0MonxfhW/mxcD4C+Rns4hQvJbLAm5smqAWP4BqbG+dJluMnpoPLt5p9Dvq8QBQQ+c2nidZWuPr1OPl564L6rqEXIl7WbVvn27ekiugt+2iUgLXeB+74NETnhgAw7bMqLbSaggvhDpB3AUaQj1IWKE=',X'90bcd2cc6212e4b4fc20dc3b16c9588e7259b26ae06fd180a5aef72296ec04f8a2a7dd1a5adec400bc5b3b392d34ef9e71a3aff51cf32aadab725d9ba8e69b148da164ec862dbbbd6ec16f4b830c3e31ffdf2a08c1951d05c29f159744f602f2f1a6cd274e3223f3e05f3d9fadbea54342c6df0aa0f562c12f93a87627d02b91c9135ad007dc14e3a9e30a17576287b571dadd897360d4f9229c1f59a8d060e4e29576fff603ba8540609f599455bd421a8bb9be24e02b27ea6d7b999608a74324511cf32a0d8d99aa099380500a1691d7af7f54b3a872997cd20210b99981002df9947d69de7a51caf6820db1eb0f9005a24655cd2973ae7cbf9301c68c33c8',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('ADE46DBBD0C1F956E7A603DAAA722469','C52',1,1,'A0bgDmsjlAiAS9eGK/3BKG4aTZ8eiSfWSuZDRLPt60Hihi0cHYH+vPNAOtc9JF4Sw5ec98qBR48Mu5ptHNFlj94HOrSu1tRDjDezxOjywWjKf3K4LMgvyeoFrMxg3ee38PHwHoZ2fCdXJhM61vimkMDPUM9RxP6tUvLX4zogTJd09H/Smm/lqjEBfQtg6Ln2Yk9anred4OWoiSBo0GmZQr8+CuLTudSwYsV9ZIBgxE2XJ2iy3CLFuhZToX+rCW8dB9U+qh8SCMfj0XYp15mS79HOs6KZ4o8EUZUY2Z60uNfXSyixXqbyEliTsGWANu1k5tTdJhox7r+hPER9OBOMErkDtfz/M37Fu5slxIMmhFJQ/d7vnoOqM4Q+5/vKtYw55aACdi9eNj6aAr25P7eqlVOJYRYdtVDaJRp9PmSXklV5pFjOl3JXNeDpeK/CYlEI0gbkc5wlKMIrNktN1VqeIxJR2DEVoOIZ1TSgHSLbqjaT2GbOAfMO9Vv0DgPz39LeZfDHW+awU6uUTSDOjsx+XvxITfSsswgw76mnDzkAzPm4oR3XlYdo5Hrx28PxPzzhdEmtXkHrKJQE+exKCve50LJ4k/nCraqSn3AEAf0+NKJf9zd5XfvQ6GpNKNrLgWjHrVEq63D5x3ldEcvbAGBxq8kihDYLeIekStLd0O7siTjKN7Z6Kunyen/xC0F/UcXv/w2KWl2PLKFrwsG8lQUi7woQEC62IeHTBW8K2OInpMlelhUo9q8u/NzBtzmqWMxzVxikAQYnPHU5/re+ISPd4SOBY7vXMe5xqElj2wLtK8fri1PGetjQWpgYkJaspQPiE14jAMhj+6eVvQgGaEV3eSSf/vzraMR1+50G3RqqCIcaASzPl/bf9mfgvg7ZHOpal5eg9pKGzM8KY8A7UFBjnI2evWO71hNE1vtsR7yUXWBIIzU8buquas+yXvWS734xyWS3kXmomDPXMFJiIrndcGz2wzOeb4CK+7qs9ekHIBILd80NEXqDBKnOcrTIgLFznslew5Qz9ZU5IQy7/2yxKoocfrzQvsJeDZH2bV+yrWXqc/FsirlHh7jw3Xe5mP+30KnC4Fg7Rl0qJCpIxRBRd7/Y+W+E+Ornq5E2r+8f3tJJbBFaplO5wpZq4eVO73anqT/vlv4Lhxleueztz7hJLRYKiEibHwdgJpoDto58Kkp70oct/y1XwFzjtiJ6S34HyZEXBnuRltuHhasZ28jQWJQmIt6NgQ95gn2wKJxrxxa3KvDVEqFsevuCqfNGVoAIH4lNCihFXPf7OsbET+xeS7Wx3wBWFz2k5AmHLwq8inhv9wc1PhwBC6wCrKdZyI315L/3nRP3sZTPwZEck4lGsUXZk0bAJNn4amU15ruaoOO2NqdO7joUcXVmeReQUniF8mKe5+ex+mzFZal1m8UdZq2K6E/m8rx6/wiXt79nf4U9/tHa2OXZ+8axcnrANPD6KoJ11SgZdd+5GSx4C0ft9AExQ8nl42oGbT4IBdzDPLr55nnxv7L7i5neuF8pqwspTrZJVcYUUsuFBjms3/LzP3+7K1eM7ThFLSJ9MdNGZbqL+vFZu3+x9H9rI6J0Mxz9U8FyvL5ftB/mpDOCKUo4VB26Ghvwkg4p37mxxRaxKMI=',X'a6be7fdabf80de7e316961d59374a80e4fff0936b5ebbb9f315e747f6c8693e0dcbe6e95ffa1a6230c775bdc0d3fe5fe00d2b05b553124df0db3d4c6e9b659851951084e383297a7ea78d2bf490d984cc17da2d15ba23b4dc85e80440511204b59be46a4b9abff8dd00e023dbab0fccfd7ef0e2bbb02b1f219a5b40692657fc345be333b55742d8e5a504e372fc9facd79b6bf748a7bd0cc4f588cec9974d16a96b7d74458eb01d68bb85a5fb5d4854a0f51d5f90ac1928f28ceda59e92058d3fb908aa45a8c5c2425dbd278ce4da2a28704e92e90203400ded6f375532c1704aae68a23f20234380513e4c2fb32cb69bbbe23407d150af16f42f86f867a37be',1,4096,0);
-CREATE TABLE EbicsUploadTransactions (transactionID TEXT NOT NULL, orderType TEXT NOT NULL, orderID TEXT NOT NULL, host INT NOT NULL, subscriber INT NOT NULL, numSegments INT NOT NULL, lastSeenSegment INT NOT NULL, transactionKeyEnc BLOB NOT NULL, CONSTRAINT fk_EbicsUploadTransactions_host_id FOREIGN KEY (host) REFERENCES EbicsHosts(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_EbicsUploadTransactions_subscriber_id FOREIGN KEY (subscriber) REFERENCES EbicsSubscribers(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE EbicsUploadTransactionChunks (transactionID TEXT NOT NULL, chunkIndex INT NOT NULL, chunkContent BLOB NOT NULL);
-CREATE TABLE EbicsOrderSignatures (id INTEGER PRIMARY KEY AUTOINCREMENT, orderID TEXT NOT NULL, orderType TEXT NOT NULL, partnerID TEXT NOT NULL, userID TEXT NOT NULL, signatureAlgorithm TEXT NOT NULL, signatureValue BLOB NOT NULL);
-CREATE TABLE BankAccountFreshTransactions (id INTEGER PRIMARY KEY AUTOINCREMENT, "transaction" BIGINT NOT NULL, CONSTRAINT fk_BankAccountFreshTransactions_transaction_id FOREIGN KEY ("transaction") REFERENCES BankAccountTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO BankAccountFreshTransactions VALUES(1,1);
-INSERT INTO BankAccountFreshTransactions VALUES(2,2);
-INSERT INTO BankAccountFreshTransactions VALUES(3,3);
-INSERT INTO BankAccountFreshTransactions VALUES(4,4);
-CREATE TABLE BankAccountReports (id INTEGER PRIMARY KEY AUTOINCREMENT, reportId TEXT NOT NULL, creationTime BIGINT NOT NULL, xmlMessage TEXT NOT NULL, bankAccount INT NOT NULL, CONSTRAINT fk_BankAccountReports_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES BankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE BankAccountStatements (id INTEGER PRIMARY KEY AUTOINCREMENT, statementId TEXT NOT NULL, creationTime BIGINT NOT NULL, xmlMessage TEXT NOT NULL, bankAccount INT NOT NULL, balanceClbd TEXT NOT NULL, CONSTRAINT fk_BankAccountStatements_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES BankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE TalerWithdrawals (id INTEGER PRIMARY KEY AUTOINCREMENT, wopid BINARY(16) NOT NULL, amount TEXT NOT NULL, selectionDone BOOLEAN DEFAULT 0 NOT NULL, aborted BOOLEAN DEFAULT 0 NOT NULL, confirmationDone BOOLEAN DEFAULT 0 NOT NULL, reservePub TEXT NULL, selectedExchangePayto TEXT NULL, walletBankAccount INT NOT NULL, CONSTRAINT fk_TalerWithdrawals_walletBankAccount_id FOREIGN KEY (walletBankAccount) REFERENCES BankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO TalerWithdrawals VALUES(1,X'b40bd3048e9c434498fd978d3372cced','10',1,0,1,'FMQZEATC840WP331DVFWF05XGB5TZ02Z0RTSS19EBR92F8W6MFKG','payto://iban/SANDBOXX/DE989651?receiver-name=Exchange+Company',9);
-INSERT INTO TalerWithdrawals VALUES(2,X'fb0013a5861b4c29b8534cf32fbc9f29','18',1,0,1,'BXCD619SVE1MCJGCBKD1CFAMPAEZ6BRJNW8FARPV56GMV3YM1BXG','payto://iban/SANDBOXX/DE989651?receiver-name=Exchange+Company',10);
-CREATE TABLE DemobankCustomers (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, passwordHash TEXT NOT NULL, "name" TEXT NULL);
-INSERT INTO DemobankCustomers VALUES(1,'fortytwo','sha256-salted$DvU4uYLVRws=$ssRHyRy1bvlQWxhlUh2iCAnJOmbcDr+aYEL1PMUtiMI=','Forty Two');
-INSERT INTO DemobankCustomers VALUES(2,'fortythree','sha256-salted$Nq+g9YLTUHE=$lDOgz5Q9kxOqEG9lvkJuvL47SoFp7ZT5ujNEtDzARTY=','Forty Three');
-INSERT INTO DemobankCustomers VALUES(3,'exchange','sha256-salted$SBIl5I8Ekzo=$lcU1rB+k3PAXSLtuGC/gMj7KWd4NG5nZ+nuVV7mcVGE=','Exchange Company');
-INSERT INTO DemobankCustomers VALUES(4,'tor','sha256-salted$FIeJJ0+C9fs=$RbtMvhpMAHFSuSnQjrTvhyyLzW3fyODHNiE5CCMvtlI=','Tor Project');
-INSERT INTO DemobankCustomers VALUES(5,'gnunet','sha256-salted$E23sUCdsgLY=$TV2aRf5vkmweaGFuAGJE1dpq5PWg6Z1m5LjjA4FaTGM=','GNUnet');
-INSERT INTO DemobankCustomers VALUES(6,'tutorial','sha256-salted$GUURsfEtq2k=$/RuUEJr5ugm9XpgcFKDKGNEmuUxk1UYLi6g6bo8oVlI=','Tutorial');
-INSERT INTO DemobankCustomers VALUES(7,'survey','sha256-salted$zk1cUhozqFM=$id4xtGsSMPVbwyYLL8b8I1XE+mcqJVLeBOXS26kqbmg=','Survey');
-INSERT INTO DemobankCustomers VALUES(8,'testuser-q75takwr','sha256-salted$DKPF6LUCyp4=$ZIvTSwpeRDiA5LoCSmx+P5e+T8aNtho6IEVEGuLgt34=',NULL);
-INSERT INTO DemobankCustomers VALUES(9,'testuser-cyokoxmp','sha256-salted$FJCNgh0LwPA=$PpspUOdbHzFg2XSIreQLaFQhTc0Xce8cLCca9K25Ao8=',NULL);
-CREATE TABLE NexusScheduledTasks (id INTEGER PRIMARY KEY AUTOINCREMENT, resourceType TEXT NOT NULL, resourceId TEXT NOT NULL, taskName TEXT NOT NULL, taskType TEXT NOT NULL, taskCronspec TEXT NOT NULL, taskParams TEXT NOT NULL, nextScheduledExecutionSec BIGINT NULL, lastScheduledExecutionSec BIGINT NULL);
-INSERT INTO NexusScheduledTasks VALUES(1,'bank-account','exchange-nexus','exchange-payments','submit','* * *',replace('{\n "rangeType" : null,\n "level" : null\n}','\n',char(10)),NULL,1660992721);
-INSERT INTO NexusScheduledTasks VALUES(2,'bank-account','exchange-nexus','exchange-history','fetch','* * *',replace('{\n "rangeType" : "latest",\n "level" : "report"\n}','\n',char(10)),NULL,1660992721);
-CREATE TABLE NexusUsers (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, password TEXT NOT NULL, superuser BOOLEAN NOT NULL);
-INSERT INTO NexusUsers VALUES(1,'exchange','sha256-salted$u4KRdNjw2kM=$TRMnjnBXOxtr2ruAwGdOsFOmZ6J3bgTRBfqOfVxzpYY=',1);
-CREATE TABLE NexusBankConnections (id INTEGER PRIMARY KEY AUTOINCREMENT, connectionId TEXT NOT NULL, "type" TEXT NOT NULL, "user" BIGINT NOT NULL, CONSTRAINT fk_NexusBankConnections_user_id FOREIGN KEY ("user") REFERENCES NexusUsers(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO NexusBankConnections VALUES(1,'talerconn','ebics',1);
-CREATE TABLE NexusBankAccounts (id INTEGER PRIMARY KEY AUTOINCREMENT, bankAccountId TEXT NOT NULL, accountHolder TEXT NOT NULL, iban TEXT NOT NULL, bankCode TEXT NOT NULL, defaultBankConnection BIGINT NULL, lastStatementCreationTimestamp BIGINT NULL, lastReportCreationTimestamp BIGINT NULL, lastNotificationCreationTimestamp BIGINT NULL, highestSeenBankMessageSerialId BIGINT NOT NULL, pain001counter BIGINT DEFAULT 1 NOT NULL, CONSTRAINT fk_NexusBankAccounts_defaultBankConnection_id FOREIGN KEY (defaultBankConnection) REFERENCES NexusBankConnections(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO NexusBankAccounts VALUES(1,'exchange-nexus','Account Holder','DE989651','SANDBOXX',1,NULL,NULL,NULL,15,1);
-CREATE TABLE NexusBankTransactions (id INTEGER PRIMARY KEY AUTOINCREMENT, accountTransactionId TEXT NOT NULL, bankAccount BIGINT NOT NULL, creditDebitIndicator TEXT NOT NULL, currency TEXT NOT NULL, amount TEXT NOT NULL, status VARCHAR(16) NOT NULL, updatedBy BIGINT NULL, transactionJson TEXT NOT NULL, CONSTRAINT fk_NexusBankTransactions_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES NexusBankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_NexusBankTransactions_updatedBy_id FOREIGN KEY (updatedBy) REFERENCES NexusBankTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO NexusBankTransactions VALUES(1,'AcctSvcrRef:8SB18L48',1,'CRDT','TESTKUDOS','10','BOOK',NULL,replace('{\n "amount" : "TESTKUDOS:10",\n "creditDebitIndicator" : "CRDT",\n "status" : "BOOK",\n "bankTransactionCode" : "PMNT-ICDT-ESCT",\n "valueDate" : "2022-08-20Z",\n "bookingDate" : "2022-08-20Z",\n "accountServicerRef" : "8SB18L48",\n "batches" : [ {\n "batchTransactions" : [ {\n "amount" : "TESTKUDOS:10",\n "creditDebitIndicator" : "CRDT",\n "details" : {\n "debtor" : {\n "name" : "Name unknown"\n },\n "debtorAccount" : {\n "iban" : "DE371825"\n },\n "debtorAgent" : {\n "bic" : "SANDBOXX"\n },\n "endToEndId" : "NOTPROVIDED",\n "paymentInformationId" : "NOTPROVIDED",\n "unstructuredRemittanceInformation" : "FMQZEATC840WP331DVFWF05XGB5TZ02Z0RTSS19EBR92F8W6MFKG"\n }\n } ]\n } ]\n}','\n',char(10)));
-INSERT INTO NexusBankTransactions VALUES(2,'AcctSvcrRef:L8FTQHU4',1,'CRDT','TESTKUDOS','18','BOOK',NULL,replace('{\n "amount" : "TESTKUDOS:18",\n "creditDebitIndicator" : "CRDT",\n "status" : "BOOK",\n "bankTransactionCode" : "PMNT-ICDT-ESCT",\n "valueDate" : "2022-08-20Z",\n "bookingDate" : "2022-08-20Z",\n "accountServicerRef" : "L8FTQHU4",\n "batches" : [ {\n "batchTransactions" : [ {\n "amount" : "TESTKUDOS:18",\n "creditDebitIndicator" : "CRDT",\n "details" : {\n "debtor" : {\n "name" : "Name unknown"\n },\n "debtorAccount" : {\n "iban" : "DE328996"\n },\n "debtorAgent" : {\n "bic" : "SANDBOXX"\n },\n "endToEndId" : "NOTPROVIDED",\n "paymentInformationId" : "NOTPROVIDED",\n "unstructuredRemittanceInformation" : "BXCD619SVE1MCJGCBKD1CFAMPAEZ6BRJNW8FARPV56GMV3YM1BXG"\n }\n } ]\n } ]\n}','\n',char(10)));
-CREATE TABLE PaymentInitiations (id INTEGER PRIMARY KEY AUTOINCREMENT, bankAccount BIGINT NOT NULL, preparationDate BIGINT NOT NULL, submissionDate BIGINT NULL, "sum" DECIMAL(20, 2) NOT NULL, currency TEXT NOT NULL, endToEndId TEXT NOT NULL, paymentInformationId TEXT NOT NULL, instructionId TEXT NOT NULL, subject TEXT NOT NULL, creditorIban TEXT NOT NULL, creditorBic TEXT NULL, creditorName TEXT NOT NULL, submitted BOOLEAN DEFAULT 0 NOT NULL, messageId TEXT NOT NULL, rawConfirmation BIGINT NULL, CONSTRAINT fk_PaymentInitiations_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES NexusBankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_PaymentInitiations_rawConfirmation_id FOREIGN KEY (rawConfirmation) REFERENCES NexusBankTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE NexusEbicsSubscribers (id INTEGER PRIMARY KEY AUTOINCREMENT, ebicsURL TEXT NOT NULL, hostID TEXT NOT NULL, partnerID TEXT NOT NULL, userID TEXT NOT NULL, systemID TEXT NULL, signaturePrivateKey BLOB NOT NULL, encryptionPrivateKey BLOB NOT NULL, authenticationPrivateKey BLOB NOT NULL, bankEncryptionPublicKey BLOB NULL, bankAuthenticationPublicKey BLOB NULL, nexusBankConnection BIGINT NOT NULL, ebicsIniState VARCHAR(16) NOT NULL, ebicsHiaState VARCHAR(16) NOT NULL, CONSTRAINT fk_NexusEbicsSubscribers_nexusBankConnection_id FOREIGN KEY (nexusBankConnection) REFERENCES NexusBankConnections(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO NexusEbicsSubscribers VALUES(1,'http://localhost:18082/ebicsweb','talerebics','talerpartner','exchangeebics',NULL,X'308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100b4a8cc3bea3b5665b907fb57e985671d835884ce3c67b90647b8c215334f0efcdb93e603401468008d124d401599344b753cd875365cacabd7056527ed8c5cd2326fb21c4745dbad244bc7e517ff8367f49df434b4ae73041f90d0ad0a52772f93e2f84d837a1269394acb482236e94404a525d771b3f24d2908212fe6c0f365f069a7d495742f2830f6a96a9fdb40eb4dcf53503207564b129a53a689278b9e832535d1d61fd5ffeac5f1fd9da9ff6b7257fc24c1c808d1e82ae4f94f11d8cb9f8deb98650f05291b6ed28d6b3d3fc2cb81a528a3efa58525b3e47148ee16a62c715d3a652bb540bd62b18c96848da311b3b9c9df1dfcd838a5f411a9d220ad020301000102820101009597ac3df48f9bd3f16a0d92d71812b15a8062bfcf3ee7f3ae51ebcbd8479f967b4fb5477db9280144cf21ce6dd4057c7220a6f02fca7f646f50d55941975788ea20993057481e45f96712a7bdbe63162274e4b0fbe7f3ef372017db214ff5c71cc2f56e61ef23eda3762e6b958138988cec1f308dc33e60ec18023b02ed44dcfe75728a935ab43a86d211b26b40ea080238e39406e1c8b1c6da70b26042cb13f1f795db964b290e1a7658cf6bca6661bc780120509caee8d37cf87191288a8152fb7a0fecf2a7d7be3112e4e426e1fe356075156e949aa277fc3000eec2751a1cb2fdb065ecb3d022f6197c5119b3942bd0464c3266e43a750508a8dd840ff502818100f2ce2519211b06397c0d7eaef39662768ca97340c11bd2442e632dccbb000d544312e1ca6be534e92537c1a2f36b9a5354c6345bee5a30b515d47dbc55e52a16c5021040c3afb109e8e19970935141c8c0572b71573c10a6e4b3ef8c7ab4e7c4f1959efa71493e5d0842d459fc6f11d3d622cb0fc3d26c21f60ffbe55c02286f02818100be7a17ae08afa43aff1a7fccc9b6aba9fd4465d9f184835110c66d655ffcd770e527b1b9b7e97212ede58a3c7616bd4f29ea8928c64f592dbdba63a416a735a00c2f14452a95c9956938ff79b709ad98a4321c5bdf7a9f572af3c6bbb9031469940cd10d3591c76aa1a2bdeef258c032cf8dd8c8b7c6b2404a5f387a0490bea30281804f8cfadaa0de19cbfbb8f028a1e6439c53b9b0e9265bd7283f8a7f16f4adafb04bc983f0ae290a8cd884cc0c777469bba3aaccbcd1fafaba59cca4e56fbf056b3060dcb25b6ad4b64a769faf22951cd8892c062fbc4511af9c7ed79d4f16b658f04df52858b58699347bb0d74abd9939ae8ef7b8d28fbe9de1e09ac72abe0a410281807fb09d7b3fbb6f5f5570d047dad9a88ed68829b7471f4c60e5dbffae3c00e5f47aca776c470c2a3ae25c44a56f8ca2f014eb7373702df55ca299f6fe2369889b784f7f4936d91f40183feb940ece601fb9c3161bc8df0d3e843ed3f5387c060d1900d68c02636dc9dffd97523e089d1ff2dfe679f8292d89c7d1b9aca2aeddfd0281802727e1c29822b75431fb83dcaae451cd8134fdc72d20927a17ab065dfaf7b64676c81bface29a52b1a3e450417e6dbd05f1ad19237a93c85f6e4c3d39267cc44a520c38efd7ba3ba1429cd310bc8ee92d01a3bf903538f14491369a1516a68fff3b70664c7f13c95aff5d4a936b9487632b33c8109f8573d700bffbeb98b976d',X'308204c0020100300d06092a864886f70d0101010500048204aa308204a60201000282010100b57cad0d7220494d675f05937b26c9f141f6f1352f54ceca6eed39a355d11925768acf8324956bb940cd36a1fb349621721a8ecbeeb62a02cf575735a0cdc7fbd2167334505985509baf9945385f50fd9ca714f87e2cf6b1a519983feb6443273e345e4d2856693ab44efc4ffae82905516ac28ac33035aa3a3a422f627c8217c4bf12b057978f5a507916a6c1dcbaf8d7250a980ded9e6f1739d8b2d86aaaf45522540713c55f2a22fafc0931826f420578203a72ff9927120671f0465fc9efba9631d322bb3c6498245457514cbeb40dd09b996dd35da0be90e74a7860605482f0f0cfaa332858a23efcc7f9324e354e03d4518f4c6ed2769f80ebc777bab9020301000102820101009f576b88d69eca3d0f793a28168423e1928d019234903d4f36bd4951c2d2e745212316b689b436f45b94d156be7b99249c4dfcf9c80860323f60ebccc5f666930e0d6ff08a6b4ec54b2b8d625cf032e7b85669ef12b8df8f70e95be72300d084eff482a733b74a84a432850ca3ba99e975664a9012778d667be112a30fd14955a1bfb4509e6c50d1ea94206ff052de5819d52ba265515ba3f8e94c6bd3eaa736bca6f5a8a86203de6c9a2789199d5ed7be2b65177cfb31a1401062fe6655be85fc1ff98675d7d9556ba69df7af093c416130900c137499fb38e54d9b574349bef0ebe90e4359040c01aa81ad7edbc355f47280d5a07998712dff3d8e011a279102818100e5beb0dd9a2524555885798ca4a7a586e7ebd2f2f9a90847d793883f076aaa4be507e1543233a4f378ed5e39dc1425e6ce1df54d591dc9372d61c8f98cb25e7c71bf2ae681f795a54dd01754726aea7af11189a936a63ab5b809ffd2f5ba899d7520de4a24168fb7d00d1135bc04d3e619c8726ff7e4334a4ceea6f8dfd54b4302818100ca3a2ce540f9b0f2f18dbbf156df6b1155d4d6f10c22d7284742c607145489f7d87d2bf5c943f046db58ae41cb643f5500348cafb1d0a9ac4b91df0d5b36c49352ebf749cff327443e038ae9ca897016e23016c6ae5f7e5b37ed5d3d6fe586fa46cd3be36a5a47ead89bb8e3280c3e068f78bd03fc630cbba78ff2ae20c71c5302818100b561c8c71bf4a8ebcc988c6f326bbd2e7619e410ba74ee39b204233407c9f9ab33a5f60b001b6fe65d19a223b212221e47aab5491ccb7c59d8b573f33956756c706d4a147495a08ac295406606734cae4576e0253d251e02ebcad1339f9767206e21c5fde8e1fb1356e98a25cf4c4c7344f5d10b7f3da614ca0a3cbf0e109a7b02818100a2c79b35da4c62abdbd63bcf731f19def55902bf3b069c6c1698603078a3e7feb1ab68044b42bd993b9cb17fd2895a1540ba0bf8acc80a9bdea4878807c119108171e136f00588b8fcb5fb4e5f32ac202f67881ddb6490a03a6f7d5b23c3fd175e807b517e5d3780896527b8e9969922ccbfe25ddffd96d54276b360888fdd7302818100cfe14d384efc37d9e04ee2b794c02e2cfd784d7bbc8244f9381659fcecbcd7fc1c0886ea6a16542861159aafc932da791df4fa1d607e933fd8afecd1d4c4af7d228235d5693ee5aa5c438780d25d68c15ccb1145431661263224c189201b6d6ddb32c510cb2368345ea62ce1286400a0b8654f6ce40931b35c50094c3595fbf5',X'308204be020100300d06092a864886f70d0101010500048204a8308204a402010002820101009b7fe49949f285635680bdb9161b8b7feda8ff74e8c227ac784440662085dfa3ab928db25e2ee07f09ab42e6129763505a8992c9dc2d9a8a813ed7a90cdd4712aee0767ac95264d6c0e325010a8236ecb4c217c09db759741439eafc072d450ac6a60684f1cc961c7f228ed1551ec40edcd3fa8a49a791cf6a905cb12f35c089d3f86dc6d73e5e01f7be1cd1948ba7a1995d22fb6da5e2b0c068e250dc222e97a927fbed12dd3f2945d903119a0639781c8e2bb1297426f602d285caf632c8804553cc83a8c2505d8598314a181eb1fc63d77f2acaec7ed24d89fbaeaf0347178f0a87f39d29244e59f9f1dca9c1d8c32034113a21880d61d6e998145896b00d02030100010282010100870113b4ae89fb9b126835cff2ccb961b932079035e11356df17ca9da050faa87bf6824541160bdcdfc52c10da454b7961119e3ad989526a3bea168cf3d94db27fd7eba5911292f00c8969002d627e5326607904c7297f659385f1691cc605f2642392f76b834734b8808564633591dca186fd3780d91673f13e22ebc66431a35d79215cb219d772bd623d7fd0b66d813467c9ed26641ed5ff73e52cd94e2ddfda2ccaf0d6d9a374fd685f18917af3a343f679a151a788b4b9b702c1869ede50e182df0d53516898f20ee8e43b791a9ed12d9e67d9414d25134d973b8ade213f9becdf46eae7a0fb994377cd6199aa9ef17d06f43045bfe3fd470ae0f3d5657502818100d06b5ce7a9b413ae61545e236f094d3443e237b0e98d70ff51aafacac517222891a48998ad453fb7fe0cad4235ace420882aee1ee6a8ea7af69add1fe2d21928403d04ba677a99ea35ec2df18f33c607820f9baeb65a868f008e0d327a5f559fecd86e1bc5dc275bf4e50eb0177725d813d0dd276d19df94029f892c2ae50b5702818100beffbe05116d4128b5ff5eeb458e4fa60e444f91ccc63bd400cde8e360f703484dd454052d05ece728fd93a120ed1502f5e1ca9610e28a5d7a2252500cf939e26399ad782d80ba190262a3ed18c7304a708d4e7004ff6efb49fc1192e75505b14109ade19a7cb18fcd81faadb9437ea3a2f785a5a81b7b9e6deeadc3c5b2a53b02818052d176d76f6de92c2fecd0839009c82dee93a3c19eecdf6bf54dd5de6136f211e0dddaf75a52dc2106c88ec8727fc31ed23d0ce6268e14aecbf379cec3d8ecba3bdc835676ec16e12490372977d800e6d6ddd0e539fcfadf343f3e2b42c943430b606d5087ed158ecadf8258a2da6ba5532a79d6c2d9b7281f6ab99d5d662a7d028181009945c1c76f64ad956df7b0c43cdd272daae546b54a0f0a93e6d156c2a15d9854bda0568c90c4e087e06d1dbb8020c16bcec5933d39ef91f9d1b9193504343c2f609e4286de7d1eda52ffb56cdf2579ab4307229ae267d937eef749630a2140a02e010678b4f0bbcd1aade3ece56f34813c9645b9da5db3a63fb1f9dfd116bb61028180689fbfc661c7ac77e826cfe50e9e9addb751426900331436594cf13e1b266929606d1eef76b3a4efeb4b7d4bc43c67ce7dd7347aaca25e5ef220bd5a075075f5debdb9ed4085d9824ece9b0916d3e8440e70fd572f2f40dbe8eb983d2f03068cd84a03edade631b10d1c583e934c98118aeb324c4fa2b14a5b907c6f4a0d94cc',X'30820122300d06092a864886f70d01010105000382010f003082010a0282010100b65ae153acab4789c4c18cca8cac4a8393ebbb10e1553b34836d6fb8073870d64f2c6183a908a4b52f11a688d15a2f2faed5acc3563530a9c7a7ab21787877d79c3bbfd5195e5d4197c12fa9e505546b86b0a8aa91d3ca14ee26b0b266c29097a15984aafda5e4f44e9948e8f722546c394a864ab30c67baeeee9427e644eceb3706293bf6eef501278b90925b441e57c58c7842f53bd9c4337b80b505651a296a31a7a18668733b375d2d859800fba8c8de71b7b520c8c4cb4b20e5b86909bd8ba1777a90208c8cd1b9d305b0c11ff5f94763a7cd8a3b64d0ab2b15735dd663b9c017ad7d4823112e93d1fec324829e76a0e083fb5b866a665a6b6aabffd3ef0203010001',X'30820122300d06092a864886f70d01010105000382010f003082010a02820101008d9d5ae949959e7093cb4501aa9339911ae2f7eff547dcef6e3051e81c8939a0f9a73fcc04e4d3afae16eabf097d67d78e6ca66b7d99113fc46750e7c6d0331aa9ca119f6e4cda1f1076ac23229e57cbf2e69eeb9b7ba7ebbec78c3fe5f244204fc86943e6f0c39498f26f029dd996c56de91fed31794f52a69ac383c00560e868812bcaa3ae6a12e6dc9363c86fba1ee11c3cb8fb99330d911a488812e6d000e2584239c96d95a58512f41c7acb2de6d33bc5a9b1c5799e0d844ba0a30cbe21ec069ee72ae43f6d582e682c7afd0d2b2ec734d081f1711528cd1b0b12ee157d01198001cc89b1197b0291e21da5c4f4c88ece7fa72f93a3ad5bd42f04d60ad10203010001',1,'SENT','SENT');
-CREATE TABLE NexusBankBalances (id INTEGER PRIMARY KEY AUTOINCREMENT, balance TEXT NOT NULL, creditDebitIndicator TEXT NOT NULL, bankAccount BIGINT NOT NULL, "date" TEXT NOT NULL, CONSTRAINT fk_NexusBankBalances_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES NexusBankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE AnastasisIncomingPayments (id INTEGER PRIMARY KEY AUTOINCREMENT, payment BIGINT NOT NULL, subject TEXT NOT NULL, timestampMs BIGINT NOT NULL, incomingPaytoUri TEXT NOT NULL, CONSTRAINT fk_AnastasisIncomingPayments_payment_id FOREIGN KEY (payment) REFERENCES NexusBankTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE TalerIncomingPayments (id INTEGER PRIMARY KEY AUTOINCREMENT, payment BIGINT NOT NULL, reservePublicKey TEXT NOT NULL, timestampMs BIGINT NOT NULL, incomingPaytoUri TEXT NOT NULL, CONSTRAINT fk_TalerIncomingPayments_payment_id FOREIGN KEY (payment) REFERENCES NexusBankTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO TalerIncomingPayments VALUES(1,1,'FMQZEATC840WP331DVFWF05XGB5TZ02Z0RTSS19EBR92F8W6MFKG',1660992702230,'payto://iban/SANDBOXX/DE371825?receiver-name=Name+unknown');
-INSERT INTO TalerIncomingPayments VALUES(2,2,'BXCD619SVE1MCJGCBKD1CFAMPAEZ6BRJNW8FARPV56GMV3YM1BXG',1660992711007,'payto://iban/SANDBOXX/DE328996?receiver-name=Name+unknown');
-CREATE TABLE Facades (id INTEGER PRIMARY KEY AUTOINCREMENT, facadeName TEXT NOT NULL, "type" TEXT NOT NULL, creator BIGINT NOT NULL, CONSTRAINT fk_Facades_creator_id FOREIGN KEY (creator) REFERENCES NexusUsers(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO Facades VALUES(1,'test-facade','taler-wire-gateway',1);
-CREATE TABLE TalerRequestedPayments (id INTEGER PRIMARY KEY AUTOINCREMENT, facade BIGINT NOT NULL, payment BIGINT NOT NULL, requestUid TEXT NOT NULL, amount TEXT NOT NULL, exchangeBaseUrl TEXT NOT NULL, wtid TEXT NOT NULL, creditAccount TEXT NOT NULL, CONSTRAINT fk_TalerRequestedPayments_facade_id FOREIGN KEY (facade) REFERENCES Facades(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_TalerRequestedPayments_payment_id FOREIGN KEY (payment) REFERENCES PaymentInitiations(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE FacadeState (id INTEGER PRIMARY KEY AUTOINCREMENT, bankAccount TEXT NOT NULL, bankConnection TEXT NOT NULL, currency TEXT NOT NULL, reserveTransferLevel TEXT NOT NULL, facade BIGINT NOT NULL, highestSeenMessageSerialId BIGINT DEFAULT 0 NOT NULL, CONSTRAINT fk_FacadeState_facade_id FOREIGN KEY (facade) REFERENCES Facades(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO FacadeState VALUES(1,'exchange-nexus','talerconn','TESTKUDOS','UNUSED',1,2);
-CREATE TABLE TalerInvalidIncomingPayments (id INTEGER PRIMARY KEY AUTOINCREMENT, payment BIGINT NOT NULL, timestampMs BIGINT NOT NULL, refunded BOOLEAN DEFAULT 0 NOT NULL, CONSTRAINT fk_TalerInvalidIncomingPayments_payment_id FOREIGN KEY (payment) REFERENCES NexusBankTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE NexusBankMessages (id INTEGER PRIMARY KEY AUTOINCREMENT, bankConnection BIGINT NOT NULL, messageId TEXT NOT NULL, code TEXT NOT NULL, message BLOB NOT NULL, errors BOOLEAN DEFAULT 0 NOT NULL, CONSTRAINT fk_NexusBankMessages_bankConnection_id FOREIGN KEY (bankConnection) REFERENCES NexusBankConnections(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO NexusBankMessages VALUES(1,1,'sandbox-1660992690711','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323639303731313c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a33302e3731313633345a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a33302e3731313633345a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(2,1,'sandbox-1660992693091','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323639333039313c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a33332e3039313735345a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a33332e3039313735345a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(3,1,'sandbox-1660992695340','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323639353334303c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a33352e3334303536315a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a33352e3334303536315a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(4,1,'sandbox-1660992697530','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323639373533303c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a33372e3533303332355a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a33372e3533303332355a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(5,1,'sandbox-1660992699728','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323639393732383c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a33392e3732383030325a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a33392e3732383030325a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(6,1,'sandbox-1660992701927','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323730313932373c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a34312e3932373935365a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a34312e3932373935365a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e38534231384c34383c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453337313832353c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e464d515a4541544338343057503333314456465746303558474235545a30325a305254535331394542523932463857364d464b473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(7,1,'sandbox-1660992704306','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323730343330363c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a34342e3330363139335a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a34342e3330363139335a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e38534231384c34383c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453337313832353c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e464d515a4541544338343057503333314456465746303558474235545a30325a305254535331394542523932463857364d464b473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(8,1,'sandbox-1660992706484','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323730363438343c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a34362e3438343038355a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a34362e3438343038355a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e38534231384c34383c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453337313832353c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e464d515a4541544338343057503333314456465746303558474235545a30325a305254535331394542523932463857364d464b473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(9,1,'sandbox-1660992708657','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323730383635373c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a34382e3635373636345a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a34382e3635373636345a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e38534231384c34383c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453337313832353c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e464d515a4541544338343057503333314456465746303558474235545a30325a305254535331394542523932463857364d464b473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(10,1,'sandbox-1660992710846','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323731303834363c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a35302e3834363833345a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a35302e3834363833345a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e32383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e38534231384c34383c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453337313832353c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e464d515a4541544338343057503333314456465746303558474235545a30325a305254535331394542523932463857364d464b473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e4c384654514855343c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453332383939363c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e42584344363139535645314d434a4743424b44314346414d5041455a3642524a4e573846415250563536474d5633594d314258473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(11,1,'sandbox-1660992713071','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323731333037313c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a35332e3037313931395a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a35332e3037313931395a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e32383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e38534231384c34383c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453337313832353c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e464d515a4541544338343057503333314456465746303558474235545a30325a305254535331394542523932463857364d464b473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e4c384654514855343c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453332383939363c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e42584344363139535645314d434a4743424b44314346414d5041455a3642524a4e573846415250563536474d5633594d314258473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(12,1,'sandbox-1660992715236','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323731353233363c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a35352e3233363339385a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a35352e3233363339385a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e32383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e38534231384c34383c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453337313832353c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e464d515a4541544338343057503333314456465746303558474235545a30325a305254535331394542523932463857364d464b473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e4c384654514855343c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453332383939363c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e42584344363139535645314d434a4743424b44314346414d5041455a3642524a4e573846415250563536474d5633594d314258473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(13,1,'sandbox-1660992717406','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323731373430363c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a35372e3430363737395a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a35372e3430363737395a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e32383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e38534231384c34383c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453337313832353c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e464d515a4541544338343057503333314456465746303558474235545a30325a305254535331394542523932463857364d464b473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e4c384654514855343c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453332383939363c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e42584344363139535645314d434a4743424b44314346414d5041455a3642524a4e573846415250563536474d5633594d314258473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(14,1,'sandbox-1660992719559','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323731393535393c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a35392e3535393230365a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35313a35392e3535393230365a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e32383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e38534231384c34383c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453337313832353c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e464d515a4541544338343057503333314456465746303558474235545a30325a305254535331394542523932463857364d464b473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e4c384654514855343c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453332383939363c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e42584344363139535645314d434a4743424b44314346414d5041455a3642524a4e573846415250563536474d5633594d314258473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(15,1,'sandbox-1660992721731','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323732313733313c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a30312e37333133365a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a30312e37333133365a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453938393635313c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e32383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e38534231384c34383c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31303c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453337313832353c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e464d515a4541544338343057503333314456465746303558474235545a30325a305254535331394542523932463857364d464b473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e4c384654514855343c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e31383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453332383939363c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e42584344363139535645314d434a4743424b44314346414d5041455a3642524a4e573846415250563536474d5633594d314258473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-CREATE TABLE OfferedBankAccounts (id INTEGER PRIMARY KEY AUTOINCREMENT, offeredAccountId TEXT NOT NULL, bankConnection BIGINT NOT NULL, iban TEXT NOT NULL, bankCode TEXT NOT NULL, holderName TEXT NOT NULL, imported BIGINT NULL, CONSTRAINT fk_OfferedBankAccounts_bankConnection_id FOREIGN KEY (bankConnection) REFERENCES NexusBankConnections(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_OfferedBankAccounts_imported_id FOREIGN KEY (imported) REFERENCES NexusBankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO OfferedBankAccounts VALUES(1,'exchange',1,'DE989651','SANDBOXX','Account Holder',1);
-CREATE TABLE NexusPermissions (id INTEGER PRIMARY KEY AUTOINCREMENT, resourceType TEXT NOT NULL, resourceId TEXT NOT NULL, subjectType TEXT NOT NULL, subjectName TEXT NOT NULL, permissionName TEXT NOT NULL);
-DELETE FROM sqlite_sequence;
-INSERT INTO sqlite_sequence VALUES('DemobankConfigs',1);
-INSERT INTO sqlite_sequence VALUES('BankAccounts',10);
-INSERT INTO sqlite_sequence VALUES('DemobankCustomers',9);
-INSERT INTO sqlite_sequence VALUES('EbicsHosts',1);
-INSERT INTO sqlite_sequence VALUES('EbicsSubscribers',1);
-INSERT INTO sqlite_sequence VALUES('NexusUsers',1);
-INSERT INTO sqlite_sequence VALUES('NexusBankConnections',1);
-INSERT INTO sqlite_sequence VALUES('NexusEbicsSubscribers',1);
-INSERT INTO sqlite_sequence VALUES('EbicsSubscriberPublicKeys',3);
-INSERT INTO sqlite_sequence VALUES('OfferedBankAccounts',1);
-INSERT INTO sqlite_sequence VALUES('NexusBankAccounts',1);
-INSERT INTO sqlite_sequence VALUES('NexusScheduledTasks',2);
-INSERT INTO sqlite_sequence VALUES('Facades',1);
-INSERT INTO sqlite_sequence VALUES('FacadeState',1);
-INSERT INTO sqlite_sequence VALUES('NexusBankMessages',15);
-INSERT INTO sqlite_sequence VALUES('TalerWithdrawals',2);
-INSERT INTO sqlite_sequence VALUES('BankAccountTransactions',4);
-INSERT INTO sqlite_sequence VALUES('BankAccountFreshTransactions',4);
-INSERT INTO sqlite_sequence VALUES('NexusBankTransactions',2);
-INSERT INTO sqlite_sequence VALUES('TalerIncomingPayments',2);
-CREATE UNIQUE INDEX accountLabelIndex ON BankAccounts (label);
-CREATE UNIQUE INDEX NexusBankAccounts_bankAccountId ON NexusBankAccounts (bankAccountId);
-CREATE UNIQUE INDEX Facades_facadeName ON Facades (facadeName);
-CREATE UNIQUE INDEX OfferedBankAccounts_offeredAccountId_bankConnection ON OfferedBankAccounts (offeredAccountId, bankConnection);
-CREATE UNIQUE INDEX NexusPermissions_resourceType_resourceId_subjectType_subjectName_permissionName ON NexusPermissions (resourceType, resourceId, subjectType, subjectName, permissionName);
-COMMIT;
diff --git a/src/auditor/auditor-basedb.age b/src/auditor/auditor-basedb.age
deleted file mode 100644
index faecd6cf4..000000000
--- a/src/auditor/auditor-basedb.age
+++ /dev/null
@@ -1 +0,0 @@
-1660992723
diff --git a/src/auditor/auditor-basedb.mpriv b/src/auditor/auditor-basedb.mpriv
deleted file mode 100644
index f13a4725b..000000000
--- a/src/auditor/auditor-basedb.mpriv
+++ /dev/null
@@ -1 +0,0 @@
-mÎcÚPÔ Ûók†JëF¢x¡ @~ä \ No newline at end of file
diff --git a/src/auditor/auditor-basedb.mpub b/src/auditor/auditor-basedb.mpub
deleted file mode 100644
index b4698aa22..000000000
--- a/src/auditor/auditor-basedb.mpub
+++ /dev/null
@@ -1 +0,0 @@
-RKNMPRGXCX35H11WEYXDXYHPR7NX2QK9BG15MT0QEF75PC5KR470
diff --git a/src/auditor/auditor-basedb.sql b/src/auditor/auditor-basedb.sql
deleted file mode 100644
index d59d2e50f..000000000
--- a/src/auditor/auditor-basedb.sql
+++ /dev/null
@@ -1,16064 +0,0 @@
---
--- PostgreSQL database dump
---
-
--- Dumped from database version 13.7 (Debian 13.7-0+deb11u1)
--- Dumped by pg_dump version 13.7 (Debian 13.7-0+deb11u1)
-
-SET statement_timeout = 0;
-SET lock_timeout = 0;
-SET idle_in_transaction_session_timeout = 0;
-SET client_encoding = 'UTF8';
-SET standard_conforming_strings = on;
-SELECT pg_catalog.set_config('search_path', '', false);
-SET check_function_bodies = false;
-SET xmloption = content;
-SET client_min_messages = warning;
-SET row_security = off;
-
---
--- Name: _v; Type: SCHEMA; Schema: -; Owner: -
---
-
-CREATE SCHEMA _v;
-
-
---
--- Name: SCHEMA _v; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON SCHEMA _v IS 'Schema for versioning data and functionality.';
-
-
---
--- Name: auditor; Type: SCHEMA; Schema: -; Owner: -
---
-
-CREATE SCHEMA auditor;
-
-
---
--- Name: SCHEMA auditor; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON SCHEMA auditor IS 'taler-auditor data';
-
-
---
--- Name: exchange; Type: SCHEMA; Schema: -; Owner: -
---
-
-CREATE SCHEMA exchange;
-
-
---
--- Name: SCHEMA exchange; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON SCHEMA exchange IS 'taler-exchange data';
-
-
---
--- Name: merchant; Type: SCHEMA; Schema: -; Owner: -
---
-
-CREATE SCHEMA merchant;
-
-
---
--- Name: SCHEMA merchant; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON SCHEMA merchant IS 'taler-merchant data';
-
-
---
--- Name: assert_patch_is_applied(text); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_patch_is_applied(in_patch_name text) RETURNS text
- LANGUAGE plpgsql
- AS $$
-DECLARE
- t_text TEXT;
-BEGIN
- SELECT patch_name INTO t_text FROM _v.patches WHERE patch_name = in_patch_name;
- IF NOT FOUND THEN
- RAISE EXCEPTION 'Patch % is not applied!', in_patch_name;
- END IF;
- RETURN format('Patch %s is applied.', in_patch_name);
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_patch_is_applied(in_patch_name text); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_patch_is_applied(in_patch_name text) IS 'Function that can be used to make sure that patch has been applied.';
-
-
---
--- Name: assert_user_is_not_superuser(); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_user_is_not_superuser() RETURNS text
- LANGUAGE plpgsql
- AS $$
-DECLARE
- v_super bool;
-BEGIN
- SELECT usesuper INTO v_super FROM pg_user WHERE usename = current_user;
- IF v_super THEN
- RAISE EXCEPTION 'Current user is superuser - cannot continue.';
- END IF;
- RETURN 'assert_user_is_not_superuser: OK';
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_user_is_not_superuser(); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_user_is_not_superuser() IS 'Function that can be used to make sure that patch is being applied using normal (not superuser) account.';
-
-
---
--- Name: assert_user_is_one_of(text[]); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_user_is_one_of(VARIADIC p_acceptable_users text[]) RETURNS text
- LANGUAGE plpgsql
- AS $$
-DECLARE
-BEGIN
- IF current_user = any( p_acceptable_users ) THEN
- RETURN 'assert_user_is_one_of: OK';
- END IF;
- RAISE EXCEPTION 'User is not one of: % - cannot continue.', p_acceptable_users;
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_user_is_one_of(VARIADIC p_acceptable_users text[]); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_user_is_one_of(VARIADIC p_acceptable_users text[]) IS 'Function that can be used to make sure that patch is being applied by one of defined users.';
-
-
---
--- Name: assert_user_is_superuser(); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_user_is_superuser() RETURNS text
- LANGUAGE plpgsql
- AS $$
-DECLARE
- v_super bool;
-BEGIN
- SELECT usesuper INTO v_super FROM pg_user WHERE usename = current_user;
- IF v_super THEN
- RETURN 'assert_user_is_superuser: OK';
- END IF;
- RAISE EXCEPTION 'Current user is not superuser - cannot continue.';
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_user_is_superuser(); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_user_is_superuser() IS 'Function that can be used to make sure that patch is being applied using superuser account.';
-
-
---
--- Name: register_patch(text); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.register_patch(text) RETURNS SETOF integer
- LANGUAGE sql
- AS $_$
- SELECT _v.register_patch( $1, NULL, NULL );
-$_$;
-
-
---
--- Name: FUNCTION register_patch(text); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.register_patch(text) IS 'Wrapper to allow registration of patches without requirements and conflicts.';
-
-
---
--- Name: register_patch(text, text[]); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.register_patch(text, text[]) RETURNS SETOF integer
- LANGUAGE sql
- AS $_$
- SELECT _v.register_patch( $1, $2, NULL );
-$_$;
-
-
---
--- Name: FUNCTION register_patch(text, text[]); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.register_patch(text, text[]) IS 'Wrapper to allow registration of patches without conflicts.';
-
-
---
--- Name: register_patch(text, text[], text[]); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.register_patch(in_patch_name text, in_requirements text[], in_conflicts text[], OUT versioning integer) RETURNS SETOF integer
- LANGUAGE plpgsql
- AS $$
-DECLARE
- t_text TEXT;
- t_text_a TEXT[];
- i INT4;
-BEGIN
- -- Thanks to this we know only one patch will be applied at a time
- LOCK TABLE _v.patches IN EXCLUSIVE MODE;
-
- SELECT patch_name INTO t_text FROM _v.patches WHERE patch_name = in_patch_name;
- IF FOUND THEN
- RAISE EXCEPTION 'Patch % is already applied!', in_patch_name;
- END IF;
-
- t_text_a := ARRAY( SELECT patch_name FROM _v.patches WHERE patch_name = any( in_conflicts ) );
- IF array_upper( t_text_a, 1 ) IS NOT NULL THEN
- RAISE EXCEPTION 'Versioning patches conflict. Conflicting patche(s) installed: %.', array_to_string( t_text_a, ', ' );
- END IF;
-
- IF array_upper( in_requirements, 1 ) IS NOT NULL THEN
- t_text_a := '{}';
- FOR i IN array_lower( in_requirements, 1 ) .. array_upper( in_requirements, 1 ) LOOP
- SELECT patch_name INTO t_text FROM _v.patches WHERE patch_name = in_requirements[i];
- IF NOT FOUND THEN
- t_text_a := t_text_a || in_requirements[i];
- END IF;
- END LOOP;
- IF array_upper( t_text_a, 1 ) IS NOT NULL THEN
- RAISE EXCEPTION 'Missing prerequisite(s): %.', array_to_string( t_text_a, ', ' );
- END IF;
- END IF;
-
- INSERT INTO _v.patches (patch_name, applied_tsz, applied_by, requires, conflicts ) VALUES ( in_patch_name, now(), current_user, coalesce( in_requirements, '{}' ), coalesce( in_conflicts, '{}' ) );
- RETURN;
-END;
-$$;
-
-
---
--- Name: FUNCTION register_patch(in_patch_name text, in_requirements text[], in_conflicts text[], OUT versioning integer); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.register_patch(in_patch_name text, in_requirements text[], in_conflicts text[], OUT versioning integer) IS 'Function to register patches in database. Raises exception if there are conflicts, prerequisites are not installed or the migration has already been installed.';
-
-
---
--- Name: unregister_patch(text); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.unregister_patch(in_patch_name text, OUT versioning integer) RETURNS SETOF integer
- LANGUAGE plpgsql
- AS $$
-DECLARE
- i INT4;
- t_text_a TEXT[];
-BEGIN
- -- Thanks to this we know only one patch will be applied at a time
- LOCK TABLE _v.patches IN EXCLUSIVE MODE;
-
- t_text_a := ARRAY( SELECT patch_name FROM _v.patches WHERE in_patch_name = ANY( requires ) );
- IF array_upper( t_text_a, 1 ) IS NOT NULL THEN
- RAISE EXCEPTION 'Cannot uninstall %, as it is required by: %.', in_patch_name, array_to_string( t_text_a, ', ' );
- END IF;
-
- DELETE FROM _v.patches WHERE patch_name = in_patch_name;
- GET DIAGNOSTICS i = ROW_COUNT;
- IF i < 1 THEN
- RAISE EXCEPTION 'Patch % is not installed, so it can''t be uninstalled!', in_patch_name;
- END IF;
-
- RETURN;
-END;
-$$;
-
-
---
--- Name: FUNCTION unregister_patch(in_patch_name text, OUT versioning integer); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.unregister_patch(in_patch_name text, OUT versioning integer) IS 'Function to unregister patches in database. Dies if the patch is not registered, or if unregistering it would break dependencies.';
-
-
---
--- Name: add_constraints_to_account_merges_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_account_merges_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE account_merges_' || partition_suffix || ' '
- 'ADD CONSTRAINT account_merges_' || partition_suffix || '_account_merge_request_serial_id_key '
- 'UNIQUE (account_merge_request_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_aggregation_tracking_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_aggregation_tracking_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE aggregation_tracking_' || partition_suffix || ' '
- 'ADD CONSTRAINT aggregation_tracking_' || partition_suffix || '_aggregation_serial_id_key '
- 'UNIQUE (aggregation_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_contracts_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_contracts_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE contracts_' || partition_suffix || ' '
- 'ADD CONSTRAINT contracts_' || partition_suffix || '_contract_serial_id_key '
- 'UNIQUE (contract_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_cs_nonce_locks_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_cs_nonce_locks_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE cs_nonce_locks_' || partition_suffix || ' '
- 'ADD CONSTRAINT cs_nonce_locks_' || partition_suffix || '_cs_nonce_lock_serial_id_key '
- 'UNIQUE (cs_nonce_lock_serial_id)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_deposits_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_deposits_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE deposits_' || partition_suffix || ' '
- 'ADD CONSTRAINT deposits_' || partition_suffix || '_deposit_serial_id_pkey '
- 'PRIMARY KEY (deposit_serial_id) '
- ',ADD CONSTRAINT deposits_' || partition_suffix || '_coin_pub_merchant_pub_h_contract_terms_key '
- 'UNIQUE (coin_pub, merchant_pub, h_contract_terms)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_known_coins_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_known_coins_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE known_coins_' || partition_suffix || ' '
- 'ADD CONSTRAINT known_coins_' || partition_suffix || '_known_coin_id_key '
- 'UNIQUE (known_coin_id)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_legitimization_processes_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_legitimization_processes_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- partition_name VARCHAR;
-BEGIN
- partition_name = concat_ws('_', 'legitimization_processes', partition_suffix);
- EXECUTE FORMAT (
- 'ALTER TABLE ' || partition_name
- || ' '
- 'ADD CONSTRAINT ' || partition_name || '_serial_key '
- 'UNIQUE (legitimization_process_serial_id)');
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || partition_name || '_by_provider_and_legi_index '
- 'ON '|| partition_name || ' '
- '(provider_section,provider_legitimization_id)'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || partition_name || '_by_provider_and_legi_index '
- 'IS ' || quote_literal('used (rarely) in kyc_provider_account_lookup') || ';'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_legitimization_requirements_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_legitimization_requirements_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- partition_name VARCHAR;
-BEGIN
- partition_name = concat_ws('_', 'legitimization_requirements', partition_suffix);
- EXECUTE FORMAT (
- 'ALTER TABLE ' || partition_name
- || ' '
- 'ADD CONSTRAINT ' || partition_name || '_serial_id_key '
- 'UNIQUE (legitimization_requirement_serial_id)');
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_deposits_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_purse_deposits_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE purse_deposits_' || partition_suffix || ' '
- 'ADD CONSTRAINT purse_deposits_' || partition_suffix || '_purse_deposit_serial_id_key '
- 'UNIQUE (purse_deposit_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_merges_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_purse_merges_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE purse_merges_' || partition_suffix || ' '
- 'ADD CONSTRAINT purse_merges_' || partition_suffix || '_purse_merge_request_serial_id_key '
- 'UNIQUE (purse_merge_request_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_refunds_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_purse_refunds_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE purse_refunds_' || partition_suffix || ' '
- 'ADD CONSTRAINT purse_refunds_' || partition_suffix || '_purse_refunds_serial_id_key '
- 'UNIQUE (purse_refunds_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_requests_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_purse_requests_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE purse_requests_' || partition_suffix || ' '
- 'ADD CONSTRAINT purse_requests_' || partition_suffix || '_purse_requests_serial_id_key '
- 'UNIQUE (purse_requests_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_recoup_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_recoup_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE recoup_' || partition_suffix || ' '
- 'ADD CONSTRAINT recoup_' || partition_suffix || '_recoup_uuid_key '
- 'UNIQUE (recoup_uuid) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_recoup_refresh_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_recoup_refresh_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE recoup_refresh_' || partition_suffix || ' '
- 'ADD CONSTRAINT recoup_refresh_' || partition_suffix || '_recoup_refresh_uuid_key '
- 'UNIQUE (recoup_refresh_uuid) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refresh_commitments_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_refresh_commitments_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE refresh_commitments_' || partition_suffix || ' '
- 'ADD CONSTRAINT refresh_commitments_' || partition_suffix || '_melt_serial_id_key '
- 'UNIQUE (melt_serial_id)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refresh_revealed_coins_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_refresh_revealed_coins_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE refresh_revealed_coins_' || partition_suffix || ' '
- 'ADD CONSTRAINT refresh_revealed_coins_' || partition_suffix || '_rrc_serial_key '
- 'UNIQUE (rrc_serial) '
- ',ADD CONSTRAINT refresh_revealed_coins_' || partition_suffix || '_coin_ev_key '
- 'UNIQUE (coin_ev) '
- ',ADD CONSTRAINT refresh_revealed_coins_' || partition_suffix || '_h_coin_ev_key '
- 'UNIQUE (h_coin_ev) '
- ',ADD PRIMARY KEY (melt_serial_id, freshcoin_index) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refresh_transfer_keys_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_refresh_transfer_keys_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE refresh_transfer_keys_' || partition_suffix || ' '
- 'ADD CONSTRAINT refresh_transfer_keys_' || partition_suffix || '_rtc_serial_key '
- 'UNIQUE (rtc_serial)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refunds_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_refunds_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE refunds_' || partition_suffix || ' '
- 'ADD CONSTRAINT refunds_' || partition_suffix || '_refund_serial_id_key '
- 'UNIQUE (refund_serial_id) '
- ',ADD PRIMARY KEY (deposit_serial_id, rtransaction_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_reserves_close_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_reserves_close_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE reserves_close_' || partition_suffix || ' '
- 'ADD CONSTRAINT reserves_close_' || partition_suffix || '_close_uuid_pkey '
- 'PRIMARY KEY (close_uuid)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_reserves_in_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_reserves_in_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE reserves_in_' || partition_suffix || ' '
- 'ADD CONSTRAINT reserves_in_' || partition_suffix || '_reserve_in_serial_id_key '
- 'UNIQUE (reserve_in_serial_id)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_reserves_out_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_reserves_out_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE reserves_out_' || partition_suffix || ' '
- 'ADD CONSTRAINT reserves_out_' || partition_suffix || '_reserve_out_serial_id_key '
- 'UNIQUE (reserve_out_serial_id)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wad_in_entries_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wad_in_entries_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wad_in_entries_' || partition_suffix || ' '
- 'ADD CONSTRAINT wad_in_entries_' || partition_suffix || '_wad_in_entry_serial_id_key '
- 'UNIQUE (wad_in_entry_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wad_out_entries_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wad_out_entries_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wad_out_entries_' || partition_suffix || ' '
- 'ADD CONSTRAINT wad_out_entries_' || partition_suffix || '_wad_out_entry_serial_id_key '
- 'UNIQUE (wad_out_entry_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wads_in_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wads_in_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wads_in_' || partition_suffix || ' '
- 'ADD CONSTRAINT wads_in_' || partition_suffix || '_wad_in_serial_id_key '
- 'UNIQUE (wad_in_serial_id) '
- ',ADD CONSTRAINT wads_in_' || partition_suffix || '_wad_is_origin_exchange_url_key '
- 'UNIQUE (wad_id, origin_exchange_url) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wads_out_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wads_out_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wads_out_' || partition_suffix || ' '
- 'ADD CONSTRAINT wads_out_' || partition_suffix || '_wad_out_serial_id_key '
- 'UNIQUE (wad_out_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wire_out_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wire_out_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wire_out_' || partition_suffix || ' '
- 'ADD CONSTRAINT wire_out_' || partition_suffix || '_wireout_uuid_pkey '
- 'PRIMARY KEY (wireout_uuid)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wire_targets_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wire_targets_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wire_targets_' || partition_suffix || ' '
- 'ADD CONSTRAINT wire_targets_' || partition_suffix || '_wire_target_serial_id_key '
- 'UNIQUE (wire_target_serial_id)'
- );
-END
-$$;
-
-
---
--- Name: create_foreign_hash_partition(character varying, integer, character varying, integer, character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_foreign_hash_partition(source_table_name character varying, modulus integer, shard_suffix character varying, current_shard_num integer, local_user character varying DEFAULT 'taler-exchange-httpd'::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'Creating %_% on %', source_table_name, shard_suffix, shard_suffix;
- EXECUTE FORMAT(
- 'CREATE FOREIGN TABLE IF NOT EXISTS %I '
- 'PARTITION OF %I '
- 'FOR VALUES WITH (MODULUS %s, REMAINDER %s) '
- 'SERVER %I'
- ,source_table_name || '_' || shard_suffix
- ,source_table_name
- ,modulus
- ,current_shard_num-1
- ,shard_suffix
- );
- EXECUTE FORMAT(
- 'ALTER FOREIGN TABLE %I OWNER TO %I'
- ,source_table_name || '_' || shard_suffix
- ,local_user
- );
-END
-$$;
-
-
---
--- Name: create_foreign_range_partition(character varying, integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_foreign_range_partition(source_table_name character varying, partition_num integer) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'TODO';
-END
-$$;
-
-
---
--- Name: create_foreign_servers(integer, character varying, character varying, character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_foreign_servers(amount integer, domain character varying, remote_user character varying DEFAULT 'taler'::character varying, remote_user_password character varying DEFAULT 'taler'::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- PERFORM prepare_sharding();
- FOR i IN 1..amount LOOP
- PERFORM create_shard_server(
- i::varchar
- ,amount
- ,i
- ,'shard-' || i::varchar || '.' || domain
- ,remote_user
- ,remote_user_password
- ,'taler-exchange'
- ,'5432'
- ,'taler-exchange-httpd'
- );
- END LOOP;
- PERFORM drop_default_partitions();
-END
-$$;
-
-
---
--- Name: create_hash_partition(character varying, integer, integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_hash_partition(source_table_name character varying, modulus integer, partition_num integer) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'Creating partition %_%', source_table_name, partition_num;
- EXECUTE FORMAT(
- 'CREATE TABLE IF NOT EXISTS %I '
- 'PARTITION OF %I '
- 'FOR VALUES WITH (MODULUS %s, REMAINDER %s)'
- ,source_table_name || '_' || partition_num
- ,source_table_name
- ,modulus
- ,partition_num-1
- );
-END
-$$;
-
-
---
--- Name: create_partitioned_table(character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_partitioned_table(table_definition character varying, table_name character varying, main_table_partition_str character varying, shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- IF shard_suffix IS NOT NULL THEN
- table_name=table_name || '_' || shard_suffix;
- main_table_partition_str = '';
- END IF;
- EXECUTE FORMAT(
- table_definition,
- table_name,
- main_table_partition_str
- );
-END
-$$;
-
-
---
--- Name: create_partitions(integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_partitions(num_partitions integer) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- modulus INTEGER;
-BEGIN
- modulus := num_partitions;
- PERFORM detach_default_partitions();
- LOOP
- PERFORM create_hash_partition(
- 'wire_targets'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_wire_targets_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'reserves'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'reserves_in'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_reserves_in_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'reserves_close'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_reserves_close_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'reserves_out'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_reserves_out_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'reserves_out_by_reserve'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'known_coins'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_known_coins_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'refresh_commitments'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_refresh_commitments_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'refresh_revealed_coins'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_refresh_revealed_coins_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'refresh_transfer_keys'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_refresh_transfer_keys_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'deposits'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_deposits_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'refunds'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_refunds_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'wire_out'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_wire_out_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'aggregation_transient'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'aggregation_tracking'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_aggregation_tracking_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'recoup'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_recoup_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'recoup_by_reserve'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'recoup_refresh'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_recoup_refresh_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'prewire'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'cs_nonce_locks'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_cs_nonce_locks_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'purse_requests'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_purse_requests_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'purse_refunds'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_purse_refunds_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'purse_merges'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_purse_merges_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'account_merges'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_account_merges_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'contracts'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_contracts_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'history_requests'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'close_requests'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'purse_deposits'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_purse_deposits_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'wad_out_entries'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_wad_out_entries_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'wads_in'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_wads_in_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'wad_in_entries'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_wad_in_entries_partition(num_partitions::varchar);
- num_partitions=num_partitions-1;
- EXIT WHEN num_partitions=0;
- END LOOP;
- PERFORM drop_default_partitions();
-END
-$$;
-
-
---
--- Name: create_range_partition(character varying, integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_range_partition(source_table_name character varying, partition_num integer) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'TODO';
-END
-$$;
-
-
---
--- Name: create_shard_server(character varying, integer, integer, character varying, character varying, character varying, character varying, integer, character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_shard_server(shard_suffix character varying, total_num_shards integer, current_shard_num integer, remote_host character varying, remote_user character varying, remote_user_password character varying, remote_db_name character varying DEFAULT 'taler-exchange'::character varying, remote_port integer DEFAULT 5432, local_user character varying DEFAULT 'taler-exchange-httpd'::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'Creating server %', remote_host;
- EXECUTE FORMAT(
- 'CREATE SERVER IF NOT EXISTS %I '
- 'FOREIGN DATA WRAPPER postgres_fdw '
- 'OPTIONS (dbname %L, host %L, port %L)'
- ,shard_suffix
- ,remote_db_name
- ,remote_host
- ,remote_port
- );
- EXECUTE FORMAT(
- 'CREATE USER MAPPING IF NOT EXISTS '
- 'FOR %I SERVER %I '
- 'OPTIONS (user %L, password %L)'
- ,local_user
- ,shard_suffix
- ,remote_user
- ,remote_user_password
- );
- EXECUTE FORMAT(
- 'GRANT ALL PRIVILEGES '
- 'ON FOREIGN SERVER %I '
- 'TO %I;'
- ,shard_suffix
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'wire_targets'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'reserves'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'reserves_in'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'reserves_out'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'reserves_out_by_reserve'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'reserves_close'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'known_coins'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'refresh_commitments'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'refresh_revealed_coins'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'refresh_transfer_keys'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'deposits'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'refunds'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'wire_out'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'aggregation_transient'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'aggregation_tracking'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'recoup'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'recoup_by_reserve'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'recoup_refresh'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'prewire'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'cs_nonce_locks'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'purse_requests'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'purse_refunds'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'purse_merges'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'account_merges'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'contracts'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'history_requests'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'close_requests'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'purse_deposits'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'wad_out_entries'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'wads_in'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'wad_in_entries'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
-END
-$$;
-
-
---
--- Name: FUNCTION create_shard_server(shard_suffix character varying, total_num_shards integer, current_shard_num integer, remote_host character varying, remote_user character varying, remote_user_password character varying, remote_db_name character varying, remote_port integer, local_user character varying); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.create_shard_server(shard_suffix character varying, total_num_shards integer, current_shard_num integer, remote_host character varying, remote_user character varying, remote_user_password character varying, remote_db_name character varying, remote_port integer, local_user character varying) IS 'Create a shard server on the master
- node with all foreign tables and user mappings';
-
-
---
--- Name: create_table_account_merges(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_account_merges(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'account_merges';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(account_merge_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',wallet_h_payto BYTEA NOT NULL CHECK (LENGTH(wallet_h_payto)=32)'
- ',PRIMARY KEY (purse_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_pub '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_aggregation_tracking(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_aggregation_tracking(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'aggregation_tracking';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(aggregation_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',deposit_serial_id INT8 PRIMARY KEY'
- ',wtid_raw BYTEA NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (deposit_serial_id)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_wtid_raw_index '
- 'ON ' || table_name || ' '
- '(wtid_raw);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_wtid_raw_index '
- 'IS ' || quote_literal('for lookup_transactions') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_aggregation_transient(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_aggregation_transient(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'aggregation_transient';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
- ',merchant_pub BYTEA CHECK (LENGTH(merchant_pub)=32)'
- ',exchange_account_section TEXT NOT NULL'
- ',legitimization_requirement_serial_id INT8 NOT NULL DEFAULT(0)'
- ',wtid_raw BYTEA NOT NULL CHECK (LENGTH(wtid_raw)=32)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (wire_target_h_payto)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_close_requests(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_close_requests(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'close_requests';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(close_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)'
- ',close_timestamp INT8 NOT NULL'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',close_val INT8 NOT NULL'
- ',close_frac INT4 NOT NULL'
- ',PRIMARY KEY (reserve_pub,close_timestamp)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_pub)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_contracts(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_contracts(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'contracts';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(contract_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',pub_ckey BYTEA NOT NULL CHECK (LENGTH(pub_ckey)=32)'
- ',contract_sig BYTEA NOT NULL CHECK (LENGTH(contract_sig)=64)'
- ',e_contract BYTEA NOT NULL'
- ',purse_expiration INT8 NOT NULL'
- ',PRIMARY KEY (purse_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_cs_nonce_locks(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_cs_nonce_locks(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(cs_nonce_lock_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',nonce BYTEA PRIMARY KEY CHECK (LENGTH(nonce)=32)'
- ',op_hash BYTEA NOT NULL CHECK (LENGTH(op_hash)=64)'
- ',max_denomination_serial INT8 NOT NULL'
- ') %s ;'
- ,'cs_nonce_locks'
- ,'PARTITION BY HASH (nonce)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_deposits(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_deposits(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'deposits';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(deposit_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',shard INT8 NOT NULL'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',known_coin_id INT8 NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',wallet_timestamp INT8 NOT NULL'
- ',exchange_timestamp INT8 NOT NULL'
- ',refund_deadline INT8 NOT NULL'
- ',wire_deadline INT8 NOT NULL'
- ',merchant_pub BYTEA NOT NULL CHECK (LENGTH(merchant_pub)=32)'
- ',h_contract_terms BYTEA NOT NULL CHECK (LENGTH(h_contract_terms)=64)'
- ',coin_sig BYTEA NOT NULL CHECK (LENGTH(coin_sig)=64)'
- ',wire_salt BYTEA NOT NULL CHECK (LENGTH(wire_salt)=16)'
- ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
- ',done BOOLEAN NOT NULL DEFAULT FALSE'
- ',extension_blocked BOOLEAN NOT NULL DEFAULT FALSE'
- ',extension_details_serial_id INT8'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (coin_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
- 'ON ' || table_name || ' '
- '(coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_deposits_by_ready(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_deposits_by_ready(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'deposits_by_ready';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(wire_deadline INT8 NOT NULL'
- ',shard INT8 NOT NULL'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',deposit_serial_id INT8'
- ') %s ;'
- ,table_name
- ,'PARTITION BY RANGE (wire_deadline)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
- 'ON ' || table_name || ' '
- '(wire_deadline ASC, shard ASC, coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_deposits_for_matching(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_deposits_for_matching(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'deposits_for_matching';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(refund_deadline INT8 NOT NULL'
- ',merchant_pub BYTEA NOT NULL CHECK (LENGTH(merchant_pub)=32)'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',deposit_serial_id INT8'
- ') %s ;'
- ,table_name
- ,'PARTITION BY RANGE (refund_deadline)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
- 'ON ' || table_name || ' '
- '(refund_deadline ASC, merchant_pub, coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_history_requests(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_history_requests(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'history_requests';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(history_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)'
- ',request_timestamp INT8 NOT NULL'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',history_fee_val INT8 NOT NULL'
- ',history_fee_frac INT4 NOT NULL'
- ',PRIMARY KEY (reserve_pub,request_timestamp)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_pub)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_known_coins(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_known_coins(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR default 'known_coins';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(known_coin_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',denominations_serial INT8 NOT NULL'
- ',coin_pub BYTEA NOT NULL PRIMARY KEY CHECK (LENGTH(coin_pub)=32)'
- ',age_commitment_hash BYTEA CHECK (LENGTH(age_commitment_hash)=32)'
- ',denom_sig BYTEA NOT NULL'
- ',remaining_val INT8 NOT NULL DEFAULT(0)'
- ',remaining_frac INT4 NOT NULL DEFAULT(0)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (coin_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
-END
-$$;
-
-
---
--- Name: create_table_legitimization_processes(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_legitimization_processes(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(legitimization_process_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',h_payto BYTEA NOT NULL CHECK (LENGTH(h_payto)=32)'
- ',expiration_time INT8 NOT NULL DEFAULT (0)'
- ',provider_section VARCHAR NOT NULL'
- ',provider_user_id VARCHAR DEFAULT NULL'
- ',provider_legitimization_id VARCHAR DEFAULT NULL'
- ',UNIQUE (h_payto, provider_section)'
- ') %s ;'
- ,'legitimization_processes'
- ,'PARTITION BY HASH (h_payto)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_legitimization_requirements(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_legitimization_requirements(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(legitimization_requirement_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',h_payto BYTEA NOT NULL CHECK (LENGTH(h_payto)=32)'
- ',required_checks VARCHAR NOT NULL'
- ',UNIQUE (h_payto, required_checks)'
- ') %s ;'
- ,'legitimization_requirements'
- ,'PARTITION BY HASH (h_payto)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_prewire(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_prewire(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'prewire';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(prewire_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY'
- ',wire_method TEXT NOT NULL'
- ',finished BOOLEAN NOT NULL DEFAULT false'
- ',failed BOOLEAN NOT NULL DEFAULT false'
- ',buf BYTEA NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (prewire_uuid)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_finished_index '
- 'ON ' || table_name || ' '
- '(finished);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_finished_index '
- 'IS ' || quote_literal('for gc_prewire') || ';'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_failed_finished_index '
- 'ON ' || table_name || ' '
- '(failed,finished);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_failed_finished_index '
- 'IS ' || quote_literal('for wire_prepare_data_get') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_purse_deposits(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_purse_deposits(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'purse_deposits';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(purse_deposit_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',partner_serial_id INT8'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',coin_pub BYTEA NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',coin_sig BYTEA NOT NULL CHECK(LENGTH(coin_sig)=64)'
- ',PRIMARY KEY (purse_pub,coin_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub '
- 'ON ' || table_name || ' '
- '(coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_purse_merges(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_purse_merges(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'purse_merges';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(purse_merge_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY '
- ',partner_serial_id INT8'
- ',reserve_pub BYTEA NOT NULL CHECK(length(reserve_pub)=32)'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',merge_sig BYTEA NOT NULL CHECK (LENGTH(merge_sig)=64)'
- ',merge_timestamp INT8 NOT NULL'
- ',PRIMARY KEY (purse_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_reserve_pub '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_reserve_pub '
- 'IS ' || quote_literal('needed in reserve history computation') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_purse_refunds(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_purse_refunds(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'purse_refunds';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(purse_refunds_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',PRIMARY KEY (purse_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
-END
-$$;
-
-
---
--- Name: create_table_purse_requests(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_purse_requests(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'purse_requests';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(purse_requests_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',merge_pub BYTEA NOT NULL CHECK (LENGTH(merge_pub)=32)'
- ',purse_creation INT8 NOT NULL'
- ',purse_expiration INT8 NOT NULL'
- ',h_contract_terms BYTEA NOT NULL CHECK (LENGTH(h_contract_terms)=64)'
- ',age_limit INT4 NOT NULL'
- ',flags INT4 NOT NULL'
- ',refunded BOOLEAN NOT NULL DEFAULT(FALSE)'
- ',finished BOOLEAN NOT NULL DEFAULT(FALSE)'
- ',in_reserve_quota BOOLEAN NOT NULL DEFAULT(FALSE)'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',purse_fee_val INT8 NOT NULL'
- ',purse_fee_frac INT4 NOT NULL'
- ',balance_val INT8 NOT NULL DEFAULT (0)'
- ',balance_frac INT4 NOT NULL DEFAULT (0)'
- ',purse_sig BYTEA NOT NULL CHECK(LENGTH(purse_sig)=64)'
- ',PRIMARY KEY (purse_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_merge_pub '
- 'ON ' || table_name || ' '
- '(merge_pub);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_purse_expiration '
- 'ON ' || table_name || ' '
- '(purse_expiration);'
- );
-END
-$$;
-
-
---
--- Name: create_table_recoup(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_recoup(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'recoup';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(recoup_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',coin_sig BYTEA NOT NULL CHECK(LENGTH(coin_sig)=64)'
- ',coin_blind BYTEA NOT NULL CHECK(LENGTH(coin_blind)=32)'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',recoup_timestamp INT8 NOT NULL'
- ',reserve_out_serial_id INT8 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (coin_pub);'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
- 'ON ' || table_name || ' '
- '(coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_recoup_by_reserve(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_recoup_by_reserve(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'recoup_by_reserve';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(reserve_out_serial_id INT8 NOT NULL'
- ',coin_pub BYTEA CHECK (LENGTH(coin_pub)=32)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_out_serial_id)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
- 'ON ' || table_name || ' '
- '(reserve_out_serial_id);'
- );
-END
-$$;
-
-
---
--- Name: create_table_recoup_refresh(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_recoup_refresh(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'recoup_refresh';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(recoup_refresh_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',known_coin_id BIGINT NOT NULL'
- ',coin_sig BYTEA NOT NULL CHECK(LENGTH(coin_sig)=64)'
- ',coin_blind BYTEA NOT NULL CHECK(LENGTH(coin_blind)=32)'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',recoup_timestamp INT8 NOT NULL'
- ',rrc_serial INT8 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (coin_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_rrc_serial_index '
- 'ON ' || table_name || ' '
- '(rrc_serial);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
- 'ON ' || table_name || ' '
- '(coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_refresh_commitments(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_refresh_commitments(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'refresh_commitments';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(melt_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',rc BYTEA PRIMARY KEY CHECK (LENGTH(rc)=64)'
- ',old_coin_pub BYTEA NOT NULL'
- ',old_coin_sig BYTEA NOT NULL CHECK(LENGTH(old_coin_sig)=64)'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',noreveal_index INT4 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (rc)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_old_coin_pub_index '
- 'ON ' || table_name || ' '
- '(old_coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_refresh_revealed_coins(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_refresh_revealed_coins(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'refresh_revealed_coins';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(rrc_serial BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',melt_serial_id INT8 NOT NULL'
- ',freshcoin_index INT4 NOT NULL'
- ',link_sig BYTEA NOT NULL CHECK(LENGTH(link_sig)=64)'
- ',denominations_serial INT8 NOT NULL'
- ',coin_ev BYTEA NOT NULL'
- ',h_coin_ev BYTEA NOT NULL CHECK(LENGTH(h_coin_ev)=64)'
- ',ev_sig BYTEA NOT NULL'
- ',ewv BYTEA NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (melt_serial_id)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_coins_by_melt_serial_id_index '
- 'ON ' || table_name || ' '
- '(melt_serial_id);'
- );
-END
-$$;
-
-
---
--- Name: create_table_refresh_transfer_keys(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_refresh_transfer_keys(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'refresh_transfer_keys';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(rtc_serial BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',melt_serial_id INT8 PRIMARY KEY'
- ',transfer_pub BYTEA NOT NULL CHECK(LENGTH(transfer_pub)=32)'
- ',transfer_privs BYTEA NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (melt_serial_id)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_refunds(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_refunds(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'refunds';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(refund_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',deposit_serial_id INT8 NOT NULL'
- ',merchant_sig BYTEA NOT NULL CHECK(LENGTH(merchant_sig)=64)'
- ',rtransaction_id INT8 NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (coin_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
- 'ON ' || table_name || ' '
- '(coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_reserves(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_reserves(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'reserves';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(reserve_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA PRIMARY KEY CHECK(LENGTH(reserve_pub)=32)'
- ',current_balance_val INT8 NOT NULL DEFAULT(0)'
- ',current_balance_frac INT4 NOT NULL DEFAULT(0)'
- ',purses_active INT8 NOT NULL DEFAULT(0)'
- ',purses_allowed INT8 NOT NULL DEFAULT(0)'
- ',max_age INT4 NOT NULL DEFAULT(120)'
- ',expiration_date INT8 NOT NULL'
- ',gc_date INT8 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_expiration_index '
- 'ON ' || table_name || ' '
- '(expiration_date'
- ',current_balance_val'
- ',current_balance_frac'
- ');'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_expiration_index '
- 'IS ' || quote_literal('used in get_expired_reserves') || ';'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_uuid_index '
- 'ON ' || table_name || ' '
- '(reserve_uuid);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_gc_date_index '
- 'ON ' || table_name || ' '
- '(gc_date);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_gc_date_index '
- 'IS ' || quote_literal('for reserve garbage collection') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_reserves_close(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_reserves_close(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR default 'reserves_close';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(close_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA NOT NULL'
- ',execution_date INT8 NOT NULL'
- ',wtid BYTEA NOT NULL CHECK (LENGTH(wtid)=32)'
- ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',closing_fee_val INT8 NOT NULL'
- ',closing_fee_frac INT4 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_close_uuid_index '
- 'ON ' || table_name || ' '
- '(close_uuid);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_pub_index '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_reserves_in(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_reserves_in(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR default 'reserves_in';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(reserve_in_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA PRIMARY KEY'
- ',wire_reference INT8 NOT NULL'
- ',credit_val INT8 NOT NULL'
- ',credit_frac INT4 NOT NULL'
- ',wire_source_h_payto BYTEA CHECK (LENGTH(wire_source_h_payto)=32)'
- ',exchange_account_section TEXT NOT NULL'
- ',execution_date INT8 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_in_serial_id_index '
- 'ON ' || table_name || ' '
- '(reserve_in_serial_id);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_exch_accnt_section_execution_date_idx '
- 'ON ' || table_name || ' '
- '(exchange_account_section '
- ',execution_date'
- ');'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_exch_accnt_reserve_in_serial_id_idx '
- 'ON ' || table_name || ' '
- '(exchange_account_section,'
- 'reserve_in_serial_id DESC'
- ');'
- );
-END
-$$;
-
-
---
--- Name: create_table_reserves_out(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_reserves_out(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR default 'reserves_out';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(reserve_out_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',h_blind_ev BYTEA CHECK (LENGTH(h_blind_ev)=64) UNIQUE'
- ',denominations_serial INT8 NOT NULL'
- ',denom_sig BYTEA NOT NULL'
- ',reserve_uuid INT8 NOT NULL'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',execution_date INT8 NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ') %s ;'
- ,'reserves_out'
- ,'PARTITION BY HASH (h_blind_ev)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_out_serial_id_index '
- 'ON ' || table_name || ' '
- '(reserve_out_serial_id);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_uuid_and_execution_date_index '
- 'ON ' || table_name || ' '
- '(reserve_uuid, execution_date);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_reserve_uuid_and_execution_date_index '
- 'IS ' || quote_literal('for get_reserves_out and exchange_do_withdraw_limit_check') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_reserves_out_by_reserve(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_reserves_out_by_reserve(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'reserves_out_by_reserve';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(reserve_uuid INT8 NOT NULL'
- ',h_blind_ev BYTEA CHECK (LENGTH(h_blind_ev)=64)'
- ') %s '
- ,table_name
- ,'PARTITION BY HASH (reserve_uuid)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
- 'ON ' || table_name || ' '
- '(reserve_uuid);'
- );
-END
-$$;
-
-
---
--- Name: create_table_wad_in_entries(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wad_in_entries(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'wad_in_entries';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(wad_in_entry_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',wad_in_serial_id INT8'
- ',reserve_pub BYTEA NOT NULL CHECK(LENGTH(reserve_pub)=32)'
- ',purse_pub BYTEA PRIMARY KEY CHECK(LENGTH(purse_pub)=32)'
- ',h_contract BYTEA NOT NULL CHECK(LENGTH(h_contract)=64)'
- ',purse_expiration INT8 NOT NULL'
- ',merge_timestamp INT8 NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',wad_fee_val INT8 NOT NULL'
- ',wad_fee_frac INT4 NOT NULL'
- ',deposit_fees_val INT8 NOT NULL'
- ',deposit_fees_frac INT4 NOT NULL'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',purse_sig BYTEA NOT NULL CHECK (LENGTH(purse_sig)=64)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_reserve_pub '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_reserve_pub '
- 'IS ' || quote_literal('needed in reserve history computation') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_wad_out_entries(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wad_out_entries(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'wad_out_entries';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(wad_out_entry_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',wad_out_serial_id INT8'
- ',reserve_pub BYTEA NOT NULL CHECK(LENGTH(reserve_pub)=32)'
- ',purse_pub BYTEA PRIMARY KEY CHECK(LENGTH(purse_pub)=32)'
- ',h_contract BYTEA NOT NULL CHECK(LENGTH(h_contract)=64)'
- ',purse_expiration INT8 NOT NULL'
- ',merge_timestamp INT8 NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',wad_fee_val INT8 NOT NULL'
- ',wad_fee_frac INT4 NOT NULL'
- ',deposit_fees_val INT8 NOT NULL'
- ',deposit_fees_frac INT4 NOT NULL'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',purse_sig BYTEA NOT NULL CHECK (LENGTH(purse_sig)=64)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_pub '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_wads_in(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wads_in(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'wads_in';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(wad_in_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',wad_id BYTEA PRIMARY KEY CHECK (LENGTH(wad_id)=24)'
- ',origin_exchange_url TEXT NOT NULL'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',arrival_time INT8 NOT NULL'
- ',UNIQUE (wad_id, origin_exchange_url)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (wad_id)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_wads_out(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wads_out(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'wads_out';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(wad_out_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',wad_id BYTEA PRIMARY KEY CHECK (LENGTH(wad_id)=24)'
- ',partner_serial_id INT8 NOT NULL'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',execution_time INT8 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (wad_id)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_wire_out(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wire_out(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'wire_out';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(wireout_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',execution_date INT8 NOT NULL'
- ',wtid_raw BYTEA UNIQUE NOT NULL CHECK (LENGTH(wtid_raw)=32)'
- ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
- ',exchange_account_section TEXT NOT NULL'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (wtid_raw)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_wire_target_h_payto_index '
- 'ON ' || table_name || ' '
- '(wire_target_h_payto);'
- );
-END
-$$;
-
-
---
--- Name: create_table_wire_targets(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wire_targets(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(wire_target_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',wire_target_h_payto BYTEA PRIMARY KEY CHECK (LENGTH(wire_target_h_payto)=32)'
- ',payto_uri VARCHAR NOT NULL'
- ') %s ;'
- ,'wire_targets'
- ,'PARTITION BY HASH (wire_target_h_payto)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: defer_wire_out(); Type: PROCEDURE; Schema: exchange; Owner: -
---
-
-CREATE PROCEDURE exchange.defer_wire_out()
- LANGUAGE plpgsql
- AS $$
-BEGIN
-
-IF EXISTS (
- SELECT 1
- FROM exchange.information_Schema.constraint_column_usage
- WHERE table_name='wire_out'
- AND constraint_name='wire_out_ref')
-THEN
- SET CONSTRAINTS wire_out_ref DEFERRED;
-END IF;
-
-END $$;
-
-
---
--- Name: deposits_delete_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.deposits_delete_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-DECLARE
- was_ready BOOLEAN;
-BEGIN
- was_ready = NOT (OLD.done OR OLD.extension_blocked);
- IF (was_ready)
- THEN
- DELETE FROM exchange.deposits_by_ready
- WHERE wire_deadline = OLD.wire_deadline
- AND shard = OLD.shard
- AND coin_pub = OLD.coin_pub
- AND deposit_serial_id = OLD.deposit_serial_id;
- DELETE FROM exchange.deposits_for_matching
- WHERE refund_deadline = OLD.refund_deadline
- AND merchant_pub = OLD.merchant_pub
- AND coin_pub = OLD.coin_pub
- AND deposit_serial_id = OLD.deposit_serial_id;
- END IF;
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION deposits_delete_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.deposits_delete_trigger() IS 'Replicate deposit deletions into materialized indices.';
-
-
---
--- Name: deposits_insert_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.deposits_insert_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-DECLARE
- is_ready BOOLEAN;
-BEGIN
- is_ready = NOT (NEW.done OR NEW.extension_blocked);
- IF (is_ready)
- THEN
- INSERT INTO exchange.deposits_by_ready
- (wire_deadline
- ,shard
- ,coin_pub
- ,deposit_serial_id)
- VALUES
- (NEW.wire_deadline
- ,NEW.shard
- ,NEW.coin_pub
- ,NEW.deposit_serial_id);
- INSERT INTO exchange.deposits_for_matching
- (refund_deadline
- ,merchant_pub
- ,coin_pub
- ,deposit_serial_id)
- VALUES
- (NEW.refund_deadline
- ,NEW.merchant_pub
- ,NEW.coin_pub
- ,NEW.deposit_serial_id);
- END IF;
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION deposits_insert_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.deposits_insert_trigger() IS 'Replicate deposit inserts into materialized indices.';
-
-
---
--- Name: deposits_update_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.deposits_update_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-DECLARE
- was_ready BOOLEAN;
-DECLARE
- is_ready BOOLEAN;
-BEGIN
- was_ready = NOT (OLD.done OR OLD.extension_blocked);
- is_ready = NOT (NEW.done OR NEW.extension_blocked);
- IF (was_ready AND NOT is_ready)
- THEN
- DELETE FROM exchange.deposits_by_ready
- WHERE wire_deadline = OLD.wire_deadline
- AND shard = OLD.shard
- AND coin_pub = OLD.coin_pub
- AND deposit_serial_id = OLD.deposit_serial_id;
- DELETE FROM exchange.deposits_for_matching
- WHERE refund_deadline = OLD.refund_deadline
- AND merchant_pub = OLD.merchant_pub
- AND coin_pub = OLD.coin_pub
- AND deposit_serial_id = OLD.deposit_serial_id;
- END IF;
- IF (is_ready AND NOT was_ready)
- THEN
- INSERT INTO exchange.deposits_by_ready
- (wire_deadline
- ,shard
- ,coin_pub
- ,deposit_serial_id)
- VALUES
- (NEW.wire_deadline
- ,NEW.shard
- ,NEW.coin_pub
- ,NEW.deposit_serial_id);
- INSERT INTO exchange.deposits_for_matching
- (refund_deadline
- ,merchant_pub
- ,coin_pub
- ,deposit_serial_id)
- VALUES
- (NEW.refund_deadline
- ,NEW.merchant_pub
- ,NEW.coin_pub
- ,NEW.deposit_serial_id);
- END IF;
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION deposits_update_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.deposits_update_trigger() IS 'Replicate deposits changes into materialized indices.';
-
-
---
--- Name: detach_default_partitions(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.detach_default_partitions() RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'Detaching all default table partitions';
- ALTER TABLE IF EXISTS wire_targets
- DETACH PARTITION wire_targets_default;
- ALTER TABLE IF EXISTS reserves
- DETACH PARTITION reserves_default;
- ALTER TABLE IF EXISTS reserves_in
- DETACH PARTITION reserves_in_default;
- ALTER TABLE IF EXISTS reserves_close
- DETACH PARTITION reserves_close_default;
- ALTER TABLE IF EXISTS reserves_out
- DETACH PARTITION reserves_out_default;
- ALTER TABLE IF EXISTS reserves_out_by_reserve
- DETACH PARTITION reserves_out_by_reserve_default;
- ALTER TABLE IF EXISTS known_coins
- DETACH PARTITION known_coins_default;
- ALTER TABLE IF EXISTS refresh_commitments
- DETACH PARTITION refresh_commitments_default;
- ALTER TABLE IF EXISTS refresh_revealed_coins
- DETACH PARTITION refresh_revealed_coins_default;
- ALTER TABLE IF EXISTS refresh_transfer_keys
- DETACH PARTITION refresh_transfer_keys_default;
- ALTER TABLE IF EXISTS deposits
- DETACH PARTITION deposits_default;
- ALTER TABLE IF EXISTS refunds
- DETACH PARTITION refunds_default;
- ALTER TABLE IF EXISTS wire_out
- DETACH PARTITION wire_out_default;
- ALTER TABLE IF EXISTS aggregation_transient
- DETACH PARTITION aggregation_transient_default;
- ALTER TABLE IF EXISTS aggregation_tracking
- DETACH PARTITION aggregation_tracking_default;
- ALTER TABLE IF EXISTS recoup
- DETACH PARTITION recoup_default;
- ALTER TABLE IF EXISTS recoup_by_reserve
- DETACH PARTITION recoup_by_reserve_default;
- ALTER TABLE IF EXISTS recoup_refresh
- DETACH PARTITION recoup_refresh_default;
- ALTER TABLE IF EXISTS prewire
- DETACH PARTITION prewire_default;
- ALTER TABLE IF EXISTS cs_nonce_locks
- DETACH partition cs_nonce_locks_default;
- ALTER TABLE IF EXISTS purse_requests
- DETACH partition purse_requests_default;
- ALTER TABLE IF EXISTS purse_refunds
- DETACH partition purse_refunds_default;
- ALTER TABLE IF EXISTS purse_merges
- DETACH partition purse_merges_default;
- ALTER TABLE IF EXISTS account_merges
- DETACH partition account_merges_default;
- ALTER TABLE IF EXISTS contracts
- DETACH partition contracts_default;
- ALTER TABLE IF EXISTS history_requests
- DETACH partition history_requests_default;
- ALTER TABLE IF EXISTS close_requests
- DETACH partition close_requests_default;
- ALTER TABLE IF EXISTS purse_deposits
- DETACH partition purse_deposits_default;
- ALTER TABLE IF EXISTS wad_out_entries
- DETACH partition wad_out_entries_default;
- ALTER TABLE IF EXISTS wads_in
- DETACH partition wads_in_default;
- ALTER TABLE IF EXISTS wad_in_entries
- DETACH partition wad_in_entries_default;
-END
-$$;
-
-
---
--- Name: FUNCTION detach_default_partitions(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.detach_default_partitions() IS 'We need to drop default and create new one before deleting the default partitions
- otherwise constraints get lost too. Might be needed in shardig too';
-
-
---
--- Name: drop_default_partitions(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.drop_default_partitions() RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'Dropping default table partitions';
- DROP TABLE IF EXISTS wire_targets_default;
- DROP TABLE IF EXISTS reserves_default;
- DROP TABLE IF EXISTS reserves_in_default;
- DROP TABLE IF EXISTS reserves_close_default;
- DROP TABLE IF EXISTS reserves_out_default;
- DROP TABLE IF EXISTS reserves_out_by_reserve_default;
- DROP TABLE IF EXISTS known_coins_default;
- DROP TABLE IF EXISTS refresh_commitments_default;
- DROP TABLE IF EXISTS refresh_revealed_coins_default;
- DROP TABLE IF EXISTS refresh_transfer_keys_default;
- DROP TABLE IF EXISTS deposits_default;
- DROP TABLE IF EXISTS refunds_default;
- DROP TABLE IF EXISTS wire_out_default;
- DROP TABLE IF EXISTS aggregation_transient_default;
- DROP TABLE IF EXISTS aggregation_tracking_default;
- DROP TABLE IF EXISTS recoup_default;
- DROP TABLE IF EXISTS recoup_by_reserve_default;
- DROP TABLE IF EXISTS recoup_refresh_default;
- DROP TABLE IF EXISTS prewire_default;
- DROP TABLE IF EXISTS cs_nonce_locks_default;
- DROP TABLE IF EXISTS purse_requests_default;
- DROP TABLE IF EXISTS purse_refunds_default;
- DROP TABLE IF EXISTS purse_merges_default;
- DROP TABLE IF EXISTS account_merges_default;
- DROP TABLE IF EXISTS contracts_default;
- DROP TABLE IF EXISTS history_requests_default;
- DROP TABLE IF EXISTS close_requests_default;
- DROP TABLE IF EXISTS purse_deposits_default;
- DROP TABLE IF EXISTS wad_out_entries_default;
- DROP TABLE IF EXISTS wads_in_default;
- DROP TABLE IF EXISTS wad_in_entries_default;
-END
-$$;
-
-
---
--- Name: FUNCTION drop_default_partitions(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.drop_default_partitions() IS 'Drop all default partitions once other partitions are attached.
- Might be needed in sharding too.';
-
-
---
--- Name: exchange_do_account_merge(bytea, bytea, bytea); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_account_merge(in_purse_pub bytea, in_reserve_pub bytea, in_reserve_sig bytea, OUT out_balance_ok boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-BEGIN
- -- FIXME: function/API is dead! Do DCE?
-END $$;
-
-
---
--- Name: exchange_do_batch_withdraw(bigint, integer, bytea, bigint, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_batch_withdraw(amount_val bigint, amount_frac integer, rpub bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT ruuid bigint) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- reserve_gc INT8;
-DECLARE
- reserve_val INT8;
-DECLARE
- reserve_frac INT4;
-BEGIN
--- Shards: reserves by reserve_pub (SELECT)
--- reserves_out (INSERT, with CONFLICT detection) by wih
--- reserves by reserve_pub (UPDATE)
--- reserves_in by reserve_pub (SELECT)
--- wire_targets by wire_target_h_payto
-
-SELECT
- current_balance_val
- ,current_balance_frac
- ,gc_date
- ,reserve_uuid
- INTO
- reserve_val
- ,reserve_frac
- ,reserve_gc
- ,ruuid
- FROM exchange.reserves
- WHERE reserves.reserve_pub=rpub;
-
-IF NOT FOUND
-THEN
- -- reserve unknown
- reserve_found=FALSE;
- balance_ok=FALSE;
- ruuid=2;
- RETURN;
-END IF;
-
--- Check reserve balance is sufficient.
-IF (reserve_val > amount_val)
-THEN
- IF (reserve_frac >= amount_frac)
- THEN
- reserve_val=reserve_val - amount_val;
- reserve_frac=reserve_frac - amount_frac;
- ELSE
- reserve_val=reserve_val - amount_val - 1;
- reserve_frac=reserve_frac + 100000000 - amount_frac;
- END IF;
-ELSE
- IF (reserve_val = amount_val) AND (reserve_frac >= amount_frac)
- THEN
- reserve_val=0;
- reserve_frac=reserve_frac - amount_frac;
- ELSE
- reserve_found=TRUE;
- balance_ok=FALSE;
- RETURN;
- END IF;
-END IF;
-
--- Calculate new expiration dates.
-min_reserve_gc=GREATEST(min_reserve_gc,reserve_gc);
-
--- Update reserve balance.
-UPDATE reserves SET
- gc_date=min_reserve_gc
- ,current_balance_val=reserve_val
- ,current_balance_frac=reserve_frac
-WHERE
- reserves.reserve_pub=rpub;
-
-reserve_found=TRUE;
-balance_ok=TRUE;
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_batch_withdraw(amount_val bigint, amount_frac integer, rpub bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT ruuid bigint); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_batch_withdraw(amount_val bigint, amount_frac integer, rpub bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT ruuid bigint) IS 'Checks whether the reserve has sufficient balance for a withdraw operation (or the request is repeated and was previously approved) and if so updates the database with the result. Excludes storing the planchets.';
-
-
---
--- Name: exchange_do_batch_withdraw_insert(bytea, bigint, integer, bytea, bigint, bytea, bytea, bytea, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_batch_withdraw_insert(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, ruuid bigint, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, OUT out_denom_unknown boolean, OUT out_nonce_reuse boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- denom_serial INT8;
-BEGIN
--- Shards: reserves by reserve_pub (SELECT)
--- reserves_out (INSERT, with CONFLICT detection) by wih
--- reserves by reserve_pub (UPDATE)
--- reserves_in by reserve_pub (SELECT)
--- wire_targets by wire_target_h_payto
-
-out_denom_unknown=TRUE;
-out_conflict=TRUE;
-out_nonce_reuse=TRUE;
-
-SELECT denominations_serial
- INTO denom_serial
- FROM exchange.denominations
- WHERE denom_pub_hash=h_denom_pub;
-
-IF NOT FOUND
-THEN
- -- denomination unknown, should be impossible!
- out_denom_unknown=TRUE;
- ASSERT false, 'denomination unknown';
- RETURN;
-END IF;
-out_denom_unknown=FALSE;
-
-INSERT INTO exchange.reserves_out
- (h_blind_ev
- ,denominations_serial
- ,denom_sig
- ,reserve_uuid
- ,reserve_sig
- ,execution_date
- ,amount_with_fee_val
- ,amount_with_fee_frac)
-VALUES
- (h_coin_envelope
- ,denom_serial
- ,denom_sig
- ,ruuid
- ,reserve_sig
- ,now
- ,amount_val
- ,amount_frac)
-ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- out_conflict=TRUE;
- RETURN;
-END IF;
-out_conflict=FALSE;
-
--- Special actions needed for a CS withdraw?
-out_nonce_reuse=FALSE;
-IF NOT NULL cs_nonce
-THEN
- -- Cache CS signature to prevent replays in the future
- -- (and check if cached signature exists at the same time).
- INSERT INTO exchange.cs_nonce_locks
- (nonce
- ,max_denomination_serial
- ,op_hash)
- VALUES
- (cs_nonce
- ,denom_serial
- ,h_coin_envelope)
- ON CONFLICT DO NOTHING;
-
- IF NOT FOUND
- THEN
- -- See if the existing entry is identical.
- SELECT 1
- FROM exchange.cs_nonce_locks
- WHERE nonce=cs_nonce
- AND op_hash=h_coin_envelope;
- IF NOT FOUND
- THEN
- out_nonce_reuse=TRUE;
- ASSERT false, 'nonce reuse attempted by client';
- RETURN;
- END IF;
- END IF;
-END IF;
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_batch_withdraw_insert(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, ruuid bigint, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, OUT out_denom_unknown boolean, OUT out_nonce_reuse boolean, OUT out_conflict boolean); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_batch_withdraw_insert(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, ruuid bigint, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, OUT out_denom_unknown boolean, OUT out_nonce_reuse boolean, OUT out_conflict boolean) IS 'Stores information about a planchet for a batch withdraw operation. Checks if the planchet already exists, and in that case indicates a conflict';
-
-
---
--- Name: exchange_do_close_request(bytea, bigint, bytea); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_close_request(in_reserve_pub bytea, in_close_timestamp bigint, in_reserve_sig bytea, OUT out_final_balance_val bigint, OUT out_final_balance_frac integer, OUT out_balance_ok boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-BEGIN
-
- SELECT
- current_balance_val
- ,current_balance_frac
- INTO
- out_final_balance_val
- ,out_final_balance_frac
- FROM exchange.reserves
- WHERE reserve_pub=in_reserve_pub;
-
- IF NOT FOUND
- THEN
- out_final_balance_val=0;
- out_final_balance_frac=0;
- out_balance_ok = FALSE;
- out_conflict = FALSE;
- END IF;
-
- INSERT INTO exchange.close_requests
- (reserve_pub
- ,close_timestamp
- ,reserve_sig
- ,close_val
- ,close_frac)
- VALUES
- (in_reserve_pub
- ,in_close_timestamp
- ,in_reserve_sig
- ,out_final_balance_val
- ,out_final_balance_frac)
- ON CONFLICT DO NOTHING;
- out_conflict = NOT FOUND;
-
- UPDATE reserves SET
- current_balance_val=0
- ,current_balance_frac=0
- WHERE reserve_pub=in_reserve_pub;
- out_balance_ok = TRUE;
-
-END $$;
-
-
---
--- Name: exchange_do_deposit(bigint, integer, bytea, bytea, bigint, bigint, bigint, bigint, bytea, character varying, bytea, bigint, bytea, bytea, bigint, boolean, character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_deposit(in_amount_with_fee_val bigint, in_amount_with_fee_frac integer, in_h_contract_terms bytea, in_wire_salt bytea, in_wallet_timestamp bigint, in_exchange_timestamp bigint, in_refund_deadline bigint, in_wire_deadline bigint, in_merchant_pub bytea, in_receiver_wire_account character varying, in_h_payto bytea, in_known_coin_id bigint, in_coin_pub bytea, in_coin_sig bytea, in_shard bigint, in_extension_blocked boolean, in_extension_details character varying, OUT out_exchange_timestamp bigint, OUT out_balance_ok boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- wtsi INT8; -- wire target serial id
-DECLARE
- xdi INT8; -- eXstension details serial id
-BEGIN
--- Shards: INSERT extension_details (by extension_details_serial_id)
--- INSERT wire_targets (by h_payto), on CONFLICT DO NOTHING;
--- INSERT deposits (by coin_pub, shard), ON CONFLICT DO NOTHING;
--- UPDATE known_coins (by coin_pub)
-
-IF NOT NULL in_extension_details
-THEN
- INSERT INTO exchange.extension_details
- (extension_options)
- VALUES
- (in_extension_details)
- RETURNING extension_details_serial_id INTO xdi;
-ELSE
- xdi=NULL;
-END IF;
-
-
-INSERT INTO exchange.wire_targets
- (wire_target_h_payto
- ,payto_uri)
- VALUES
- (in_h_payto
- ,in_receiver_wire_account)
-ON CONFLICT DO NOTHING -- for CONFLICT ON (wire_target_h_payto)
- RETURNING wire_target_serial_id INTO wtsi;
-
-IF NOT FOUND
-THEN
- SELECT wire_target_serial_id
- INTO wtsi
- FROM exchange.wire_targets
- WHERE wire_target_h_payto=in_h_payto;
-END IF;
-
-
-INSERT INTO exchange.deposits
- (shard
- ,coin_pub
- ,known_coin_id
- ,amount_with_fee_val
- ,amount_with_fee_frac
- ,wallet_timestamp
- ,exchange_timestamp
- ,refund_deadline
- ,wire_deadline
- ,merchant_pub
- ,h_contract_terms
- ,coin_sig
- ,wire_salt
- ,wire_target_h_payto
- ,extension_blocked
- ,extension_details_serial_id
- )
- VALUES
- (in_shard
- ,in_coin_pub
- ,in_known_coin_id
- ,in_amount_with_fee_val
- ,in_amount_with_fee_frac
- ,in_wallet_timestamp
- ,in_exchange_timestamp
- ,in_refund_deadline
- ,in_wire_deadline
- ,in_merchant_pub
- ,in_h_contract_terms
- ,in_coin_sig
- ,in_wire_salt
- ,in_h_payto
- ,in_extension_blocked
- ,xdi)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: see if an identical record exists.
- -- Note that by checking 'coin_sig', we implicitly check
- -- identity over everything that the signature covers.
- -- We do select over merchant_pub and wire_target_h_payto
- -- primarily here to maximally use the existing index.
- SELECT
- exchange_timestamp
- INTO
- out_exchange_timestamp
- FROM exchange.deposits
- WHERE shard=in_shard
- AND merchant_pub=in_merchant_pub
- AND wire_target_h_payto=in_h_payto
- AND coin_pub=in_coin_pub
- AND coin_sig=in_coin_sig;
-
- IF NOT FOUND
- THEN
- -- Deposit exists, but with differences. Not allowed.
- out_balance_ok=FALSE;
- out_conflict=TRUE;
- RETURN;
- END IF;
-
- -- Idempotent request known, return success.
- out_balance_ok=TRUE;
- out_conflict=FALSE;
-
- RETURN;
-END IF;
-
-
-out_exchange_timestamp=in_exchange_timestamp;
-
--- Check and update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=remaining_frac-in_amount_with_fee_frac
- + CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val-in_amount_with_fee_val
- - CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 1
- ELSE 0
- END
- WHERE coin_pub=in_coin_pub
- AND ( (remaining_val > in_amount_with_fee_val) OR
- ( (remaining_frac >= in_amount_with_fee_frac) AND
- (remaining_val >= in_amount_with_fee_val) ) );
-
-IF NOT FOUND
-THEN
- -- Insufficient balance.
- out_balance_ok=FALSE;
- out_conflict=FALSE;
- RETURN;
-END IF;
-
--- Everything fine, return success!
-out_balance_ok=TRUE;
-out_conflict=FALSE;
-
-END $$;
-
-
---
--- Name: exchange_do_expire_purse(bigint, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_expire_purse(in_start_time bigint, in_end_time bigint, OUT out_found boolean) RETURNS boolean
- LANGUAGE plpgsql
- AS $$
-DECLARE
- my_purse_pub BYTEA;
-DECLARE
- my_deposit record;
-BEGIN
-
-SELECT purse_pub
- INTO my_purse_pub
- FROM exchange.purse_requests
- WHERE (purse_expiration >= in_start_time) AND
- (purse_expiration < in_end_time) AND
- (NOT finished) AND
- (NOT refunded)
- ORDER BY purse_expiration ASC
- LIMIT 1;
-out_found = FOUND;
-IF NOT FOUND
-THEN
- RETURN;
-END IF;
-
-UPDATE purse_requests
- SET refunded=TRUE,
- finished=TRUE
- WHERE purse_pub=my_purse_pub;
-
-INSERT INTO exchange.purse_refunds
- (purse_pub)
- VALUES
- (my_purse_pub);
-
--- restore balance to each coin deposited into the purse
-FOR my_deposit IN
- SELECT coin_pub
- ,amount_with_fee_val
- ,amount_with_fee_frac
- FROM exchange.purse_deposits
- WHERE purse_pub = my_purse_pub
-LOOP
- UPDATE known_coins SET
- remaining_frac=remaining_frac+my_deposit.amount_with_fee_frac
- - CASE
- WHEN remaining_frac+my_deposit.amount_with_fee_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val+my_deposit.amount_with_fee_val
- + CASE
- WHEN remaining_frac+my_deposit.amount_with_fee_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE coin_pub = my_deposit.coin_pub;
- END LOOP;
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_expire_purse(in_start_time bigint, in_end_time bigint, OUT out_found boolean); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_expire_purse(in_start_time bigint, in_end_time bigint, OUT out_found boolean) IS 'Finds an expired purse in the given time range and refunds the coins (if any).';
-
-
---
--- Name: exchange_do_gc(bigint, bigint); Type: PROCEDURE; Schema: exchange; Owner: -
---
-
-CREATE PROCEDURE exchange.exchange_do_gc(in_ancient_date bigint, in_now bigint)
- LANGUAGE plpgsql
- AS $$
-DECLARE
- reserve_uuid_min INT8; -- minimum reserve UUID still alive
-DECLARE
- melt_min INT8; -- minimum melt still alive
-DECLARE
- coin_min INT8; -- minimum known_coin still alive
-DECLARE
- deposit_min INT8; -- minimum deposit still alive
-DECLARE
- reserve_out_min INT8; -- minimum reserve_out still alive
-DECLARE
- denom_min INT8; -- minimum denomination still alive
-BEGIN
-
-DELETE FROM exchange.prewire
- WHERE finished=TRUE;
-
-DELETE FROM exchange.wire_fee
- WHERE end_date < in_ancient_date;
-
--- TODO: use closing fee as threshold?
-DELETE FROM exchange.reserves
- WHERE gc_date < in_now
- AND current_balance_val = 0
- AND current_balance_frac = 0;
-
-SELECT
- reserve_out_serial_id
- INTO
- reserve_out_min
- FROM exchange.reserves_out
- ORDER BY reserve_out_serial_id ASC
- LIMIT 1;
-
-DELETE FROM exchange.recoup
- WHERE reserve_out_serial_id < reserve_out_min;
--- FIXME: recoup_refresh lacks GC!
-
-SELECT
- reserve_uuid
- INTO
- reserve_uuid_min
- FROM exchange.reserves
- ORDER BY reserve_uuid ASC
- LIMIT 1;
-
-DELETE FROM exchange.reserves_out
- WHERE reserve_uuid < reserve_uuid_min;
-
--- FIXME: this query will be horribly slow;
--- need to find another way to formulate it...
-DELETE FROM exchange.denominations
- WHERE expire_legal < in_now
- AND denominations_serial NOT IN
- (SELECT DISTINCT denominations_serial
- FROM exchange.reserves_out)
- AND denominations_serial NOT IN
- (SELECT DISTINCT denominations_serial
- FROM exchange.known_coins
- WHERE coin_pub IN
- (SELECT DISTINCT coin_pub
- FROM exchange.recoup))
- AND denominations_serial NOT IN
- (SELECT DISTINCT denominations_serial
- FROM exchange.known_coins
- WHERE coin_pub IN
- (SELECT DISTINCT coin_pub
- FROM exchange.recoup_refresh));
-
-SELECT
- melt_serial_id
- INTO
- melt_min
- FROM exchange.refresh_commitments
- ORDER BY melt_serial_id ASC
- LIMIT 1;
-
-DELETE FROM exchange.refresh_revealed_coins
- WHERE melt_serial_id < melt_min;
-
-DELETE FROM exchange.refresh_transfer_keys
- WHERE melt_serial_id < melt_min;
-
-SELECT
- known_coin_id
- INTO
- coin_min
- FROM exchange.known_coins
- ORDER BY known_coin_id ASC
- LIMIT 1;
-
-DELETE FROM exchange.deposits
- WHERE known_coin_id < coin_min;
-
-SELECT
- deposit_serial_id
- INTO
- deposit_min
- FROM exchange.deposits
- ORDER BY deposit_serial_id ASC
- LIMIT 1;
-
-DELETE FROM exchange.refunds
- WHERE deposit_serial_id < deposit_min;
-
-DELETE FROM exchange.aggregation_tracking
- WHERE deposit_serial_id < deposit_min;
-
-SELECT
- denominations_serial
- INTO
- denom_min
- FROM exchange.denominations
- ORDER BY denominations_serial ASC
- LIMIT 1;
-
-DELETE FROM exchange.cs_nonce_locks
- WHERE max_denomination_serial <= denom_min;
-
-END $$;
-
-
---
--- Name: exchange_do_history_request(bytea, bytea, bigint, bigint, integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_history_request(in_reserve_pub bytea, in_reserve_sig bytea, in_request_timestamp bigint, in_history_fee_val bigint, in_history_fee_frac integer, OUT out_balance_ok boolean, OUT out_idempotent boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-BEGIN
-
- -- Insert and check for idempotency.
- INSERT INTO exchange.history_requests
- (reserve_pub
- ,request_timestamp
- ,reserve_sig
- ,history_fee_val
- ,history_fee_frac)
- VALUES
- (in_reserve_pub
- ,in_request_timestamp
- ,in_reserve_sig
- ,in_history_fee_val
- ,in_history_fee_frac)
- ON CONFLICT DO NOTHING;
-
- IF NOT FOUND
- THEN
- out_balance_ok=TRUE;
- out_idempotent=TRUE;
- RETURN;
- END IF;
-
- out_idempotent=FALSE;
-
- -- Update reserve balance.
- UPDATE reserves
- SET
- current_balance_frac=current_balance_frac-in_history_fee_frac
- + CASE
- WHEN current_balance_frac < in_history_fee_frac
- THEN 100000000
- ELSE 0
- END,
- current_balance_val=current_balance_val-in_history_fee_val
- - CASE
- WHEN current_balance_frac < in_history_fee_frac
- THEN 1
- ELSE 0
- END
- WHERE
- reserve_pub=in_reserve_pub
- AND ( (current_balance_val > in_history_fee_val) OR
- ( (current_balance_frac >= in_history_fee_frac) AND
- (current_balance_val >= in_history_fee_val) ) );
-
- IF NOT FOUND
- THEN
- -- Either reserve does not exist, or balance insufficient.
- -- Both we treat the same here as balance insufficient.
- out_balance_ok=FALSE;
- RETURN;
- END IF;
-
- out_balance_ok=TRUE;
-END $$;
-
-
---
--- Name: exchange_do_melt(bytea, bigint, integer, bytea, bytea, bytea, bigint, integer, boolean); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_melt(in_cs_rms bytea, in_amount_with_fee_val bigint, in_amount_with_fee_frac integer, in_rc bytea, in_old_coin_pub bytea, in_old_coin_sig bytea, in_known_coin_id bigint, in_noreveal_index integer, in_zombie_required boolean, OUT out_balance_ok boolean, OUT out_zombie_bad boolean, OUT out_noreveal_index integer) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- denom_max INT8;
-BEGIN
--- Shards: INSERT refresh_commitments (by rc)
--- (rare:) SELECT refresh_commitments (by old_coin_pub) -- crosses shards!
--- (rare:) SEELCT refresh_revealed_coins (by melt_serial_id)
--- (rare:) PERFORM recoup_refresh (by rrc_serial) -- crosses shards!
--- UPDATE known_coins (by coin_pub)
-
-INSERT INTO exchange.refresh_commitments
- (rc
- ,old_coin_pub
- ,old_coin_sig
- ,amount_with_fee_val
- ,amount_with_fee_frac
- ,noreveal_index
- )
- VALUES
- (in_rc
- ,in_old_coin_pub
- ,in_old_coin_sig
- ,in_amount_with_fee_val
- ,in_amount_with_fee_frac
- ,in_noreveal_index)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: see if an identical record exists.
- out_noreveal_index=-1;
- SELECT
- noreveal_index
- INTO
- out_noreveal_index
- FROM exchange.refresh_commitments
- WHERE rc=in_rc;
- out_balance_ok=FOUND;
- out_zombie_bad=FALSE; -- zombie is OK
- RETURN;
-END IF;
-
-
-IF in_zombie_required
-THEN
- -- Check if this coin was part of a refresh
- -- operation that was subsequently involved
- -- in a recoup operation. We begin by all
- -- refresh operations our coin was involved
- -- with, then find all associated reveal
- -- operations, and then see if any of these
- -- reveal operations was involved in a recoup.
- PERFORM
- FROM exchange.recoup_refresh
- WHERE rrc_serial IN
- (SELECT rrc_serial
- FROM exchange.refresh_revealed_coins
- WHERE melt_serial_id IN
- (SELECT melt_serial_id
- FROM exchange.refresh_commitments
- WHERE old_coin_pub=in_old_coin_pub));
- IF NOT FOUND
- THEN
- out_zombie_bad=TRUE;
- out_balance_ok=FALSE;
- RETURN;
- END IF;
-END IF;
-
-out_zombie_bad=FALSE; -- zombie is OK
-
-
--- Check and update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=remaining_frac-in_amount_with_fee_frac
- + CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val-in_amount_with_fee_val
- - CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 1
- ELSE 0
- END
- WHERE coin_pub=in_old_coin_pub
- AND ( (remaining_val > in_amount_with_fee_val) OR
- ( (remaining_frac >= in_amount_with_fee_frac) AND
- (remaining_val >= in_amount_with_fee_val) ) );
-
-IF NOT FOUND
-THEN
- -- Insufficient balance.
- out_noreveal_index=-1;
- out_balance_ok=FALSE;
- RETURN;
-END IF;
-
-
-
--- Special actions needed for a CS melt?
-IF NOT NULL in_cs_rms
-THEN
- -- Get maximum denominations serial value in
- -- existence, this will determine how long the
- -- nonce will be locked.
- SELECT
- denominations_serial
- INTO
- denom_max
- FROM exchange.denominations
- ORDER BY denominations_serial DESC
- LIMIT 1;
-
- -- Cache CS signature to prevent replays in the future
- -- (and check if cached signature exists at the same time).
- INSERT INTO exchange.cs_nonce_locks
- (nonce
- ,max_denomination_serial
- ,op_hash)
- VALUES
- (cs_rms
- ,denom_serial
- ,in_rc)
- ON CONFLICT DO NOTHING;
-
- IF NOT FOUND
- THEN
- -- Record exists, make sure it is the same
- SELECT 1
- FROM exchange.cs_nonce_locks
- WHERE nonce=cs_rms
- AND op_hash=in_rc;
-
- IF NOT FOUND
- THEN
- -- Nonce reuse detected
- out_balance_ok=FALSE;
- out_zombie_bad=FALSE;
- out_noreveal_index=42; -- FIXME: return error message more nicely!
- ASSERT false, 'nonce reuse attempted by client';
- END IF;
- END IF;
-END IF;
-
--- Everything fine, return success!
-out_balance_ok=TRUE;
-out_noreveal_index=in_noreveal_index;
-
-END $$;
-
-
---
--- Name: exchange_do_purse_deposit(bigint, bytea, bigint, integer, bytea, bytea, bigint, integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_purse_deposit(in_partner_id bigint, in_purse_pub bytea, in_amount_with_fee_val bigint, in_amount_with_fee_frac integer, in_coin_pub bytea, in_coin_sig bytea, in_amount_without_fee_val bigint, in_amount_without_fee_frac integer, in_reserve_expiration bigint, OUT out_balance_ok boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- was_merged BOOLEAN;
-DECLARE
- psi INT8; -- partner's serial ID (set if merged)
-DECLARE
- my_amount_val INT8; -- total in purse
-DECLARE
- my_amount_frac INT4; -- total in purse
-DECLARE
- was_paid BOOLEAN;
-DECLARE
- my_reserve_pub BYTEA;
-BEGIN
-
--- Store the deposit request.
-INSERT INTO exchange.purse_deposits
- (partner_serial_id
- ,purse_pub
- ,coin_pub
- ,amount_with_fee_val
- ,amount_with_fee_frac
- ,coin_sig)
- VALUES
- (in_partner_id
- ,in_purse_pub
- ,in_coin_pub
- ,in_amount_with_fee_val
- ,in_amount_with_fee_frac
- ,in_coin_sig)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: check if coin_sig is the same,
- -- if so, success, otherwise conflict!
- PERFORM
- FROM exchange.purse_deposits
- WHERE coin_pub = in_coin_pub
- AND purse_pub = in_purse_pub
- AND coin_sig = in_cion_sig;
- IF NOT FOUND
- THEN
- -- Deposit exists, but with differences. Not allowed.
- out_balance_ok=FALSE;
- out_conflict=TRUE;
- RETURN;
- END IF;
-END IF;
-
-
--- Debit the coin
--- Check and update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=remaining_frac-in_amount_with_fee_frac
- + CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val-in_amount_with_fee_val
- - CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 1
- ELSE 0
- END
- WHERE coin_pub=in_coin_pub
- AND ( (remaining_val > in_amount_with_fee_val) OR
- ( (remaining_frac >= in_amount_with_fee_frac) AND
- (remaining_val >= in_amount_with_fee_val) ) );
-
-IF NOT FOUND
-THEN
- -- Insufficient balance.
- out_balance_ok=FALSE;
- out_conflict=FALSE;
- RETURN;
-END IF;
-
-
--- Credit the purse.
-UPDATE purse_requests
- SET
- balance_frac=balance_frac+in_amount_without_fee_frac
- - CASE
- WHEN balance_frac+in_amount_without_fee_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- balance_val=balance_val+in_amount_without_fee_val
- + CASE
- WHEN balance_frac+in_amount_without_fee_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE purse_pub=in_purse_pub;
-
-out_conflict=FALSE;
-out_balance_ok=TRUE;
-
--- See if we can finish the merge or need to update the trigger time and partner.
-SELECT partner_serial_id
- ,reserve_pub
- INTO psi
- ,my_reserve_pub
- FROM exchange.purse_merges
- WHERE purse_pub=in_purse_pub;
-
-IF NOT FOUND
-THEN
- RETURN;
-END IF;
-
-SELECT
- amount_with_fee_val
- ,amount_with_fee_frac
- INTO
- my_amount_val
- ,my_amount_frac
- FROM exchange.purse_requests
- WHERE (purse_pub=in_purse_pub)
- AND ( ( ( (amount_with_fee_val <= balance_val)
- AND (amount_with_fee_frac <= balance_frac) )
- OR (amount_with_fee_val < balance_val) ) );
-IF NOT FOUND
-THEN
- RETURN;
-END IF;
-
-IF (0 != psi)
-THEN
- -- The taler-exchange-router will take care of this.
- UPDATE purse_actions
- SET action_date=0 --- "immediately"
- ,partner_serial_id=psi
- WHERE purse_pub=in_purse_pub;
-ELSE
- -- This is a local reserve, update balance immediately.
- UPDATE reserves
- SET
- current_balance_frac=current_balance_frac+my_amount_frac
- - CASE
- WHEN current_balance_frac + my_amount_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- current_balance_val=current_balance_val+my_amount_val
- + CASE
- WHEN current_balance_frac + my_amount_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE reserve_pub=my_reserve_pub;
-
- -- ... and mark purse as finished.
- -- FIXME: combine with UPDATE above?
- UPDATE purse_requests
- SET finished=true
- WHERE purse_pub=in_purse_pub;
-END IF;
-
-
-END $$;
-
-
---
--- Name: exchange_do_purse_merge(bytea, bytea, bigint, bytea, character varying, bytea, bytea, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_purse_merge(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_partner_url character varying, in_reserve_pub bytea, in_wallet_h_payto bytea, in_expiration_date bigint, OUT out_no_partner boolean, OUT out_no_balance boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- my_amount_val INT8;
-DECLARE
- my_amount_frac INT4;
-DECLARE
- my_purse_fee_val INT8;
-DECLARE
- my_purse_fee_frac INT4;
-DECLARE
- my_partner_serial_id INT8;
-DECLARE
- my_finished BOOLEAN;
-BEGIN
-
-IF in_partner_url IS NULL
-THEN
- my_partner_serial_id=0;
-ELSE
- SELECT
- partner_serial_id
- INTO
- my_partner_serial_id
- FROM exchange.partners
- WHERE partner_base_url=in_partner_url
- AND start_date <= in_merge_timestamp
- AND end_date > in_merge_timestamp;
- IF NOT FOUND
- THEN
- out_no_partner=TRUE;
- out_conflict=FALSE;
- RETURN;
- END IF;
-END IF;
-
-out_no_partner=FALSE;
-
-
--- Check purse is 'full'.
-SELECT amount_with_fee_val
- ,amount_with_fee_frac
- ,purse_fee_val
- ,purse_fee_frac
- ,finished
- INTO my_amount_val
- ,my_amount_frac
- ,my_purse_fee_val
- ,my_purse_fee_frac
- ,my_finished
- FROM exchange.purse_requests
- WHERE purse_pub=in_purse_pub
- AND balance_val >= amount_with_fee_val
- AND ( (balance_frac >= amount_with_fee_frac) OR
- (balance_val > amount_with_fee_val) );
-IF NOT FOUND
-THEN
- out_no_balance=TRUE;
- out_conflict=FALSE;
- RETURN;
-END IF;
-out_no_balance=FALSE;
-
--- Store purse merge signature, checks for purse_pub uniqueness
-INSERT INTO exchange.purse_merges
- (partner_serial_id
- ,reserve_pub
- ,purse_pub
- ,merge_sig
- ,merge_timestamp)
- VALUES
- (my_partner_serial_id
- ,in_reserve_pub
- ,in_purse_pub
- ,in_merge_sig
- ,in_merge_timestamp)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: see if an identical record exists.
- -- Note that by checking 'merge_sig', we implicitly check
- -- identity over everything that the signature covers.
- PERFORM
- FROM exchange.purse_merges
- WHERE purse_pub=in_purse_pub
- AND merge_sig=in_merge_sig;
- IF NOT FOUND
- THEN
- -- Purse was merged, but to some other reserve. Not allowed.
- out_conflict=TRUE;
- RETURN;
- END IF;
-
- -- "success"
- out_conflict=FALSE;
- RETURN;
-END IF;
-out_conflict=FALSE;
-
-ASSERT NOT my_finished, 'internal invariant failed';
-
-
--- Initialize reserve, if not yet exists.
-INSERT INTO reserves
- (reserve_pub
- ,expiration_date
- ,gc_date)
- VALUES
- (in_reserve_pub
- ,in_expiration_date
- ,in_expiration_date)
- ON CONFLICT DO NOTHING;
-
-
-
-
--- Store account merge signature.
-INSERT INTO exchange.account_merges
- (reserve_pub
- ,reserve_sig
- ,purse_pub
- ,wallet_h_payto)
- VALUES
- (in_reserve_pub
- ,in_reserve_sig
- ,in_purse_pub
- ,in_wallet_h_payto);
-
--- If we need a wad transfer, mark purse ready for it.
-IF (0 != my_partner_serial_id)
-THEN
- -- The taler-exchange-router will take care of this.
- UPDATE purse_actions
- SET action_date=0 --- "immediately"
- ,partner_serial_id=my_partner_serial_id
- WHERE purse_pub=in_purse_pub;
-ELSE
- -- This is a local reserve, update reserve balance immediately.
-
- -- Refund the purse fee, by adding it to the purse value:
- my_amount_val = my_amount_val + my_purse_fee_val;
- my_amount_frac = my_amount_frac + my_purse_fee_frac;
- -- normalize result
- my_amount_val = my_amount_val + my_amount_frac / 100000000;
- my_amount_frac = my_amount_frac % 100000000;
-
- UPDATE reserves
- SET
- current_balance_frac=current_balance_frac+my_amount_frac
- - CASE
- WHEN current_balance_frac + my_amount_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- current_balance_val=current_balance_val+my_amount_val
- + CASE
- WHEN current_balance_frac + my_amount_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE reserve_pub=in_reserve_pub;
-
- -- ... and mark purse as finished.
- UPDATE purse_requests
- SET finished=true
- WHERE purse_pub=in_purse_pub;
-END IF;
-
-
-RETURN;
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_purse_merge(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_partner_url character varying, in_reserve_pub bytea, in_wallet_h_payto bytea, in_expiration_date bigint, OUT out_no_partner boolean, OUT out_no_balance boolean, OUT out_conflict boolean); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_purse_merge(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_partner_url character varying, in_reserve_pub bytea, in_wallet_h_payto bytea, in_expiration_date bigint, OUT out_no_partner boolean, OUT out_no_balance boolean, OUT out_conflict boolean) IS 'Checks that the partner exists, the purse has not been merged with a different reserve and that the purse is full. If so, persists the merge data and either merges the purse with the reserve or marks it as ready for the taler-exchange-router. Caller MUST abort the transaction on failures so as to not persist data by accident.';
-
-
---
--- Name: exchange_do_recoup_by_reserve(bytea); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_recoup_by_reserve(res_pub bytea) RETURNS TABLE(denom_sig bytea, denominations_serial bigint, coin_pub bytea, coin_sig bytea, coin_blind bytea, amount_val bigint, amount_frac integer, recoup_timestamp bigint)
- LANGUAGE plpgsql
- AS $$
-DECLARE
- res_uuid BIGINT;
- blind_ev BYTEA;
- c_pub BYTEA;
-BEGIN
- SELECT reserve_uuid
- INTO res_uuid
- FROM exchange.reserves
- WHERE reserves.reserve_pub = res_pub;
-
- FOR blind_ev IN
- SELECT h_blind_ev
- FROM exchange.reserves_out_by_reserve
- WHERE reserves_out_by_reserve.reserve_uuid = res_uuid
- LOOP
- SELECT robr.coin_pub
- INTO c_pub
- FROM exchange.recoup_by_reserve robr
- WHERE robr.reserve_out_serial_id = (
- SELECT reserves_out.reserve_out_serial_id
- FROM exchange.reserves_out
- WHERE reserves_out.h_blind_ev = blind_ev
- );
- RETURN QUERY
- SELECT kc.denom_sig,
- kc.denominations_serial,
- rc.coin_pub,
- rc.coin_sig,
- rc.coin_blind,
- rc.amount_val,
- rc.amount_frac,
- rc.recoup_timestamp
- FROM (
- SELECT *
- FROM exchange.known_coins
- WHERE known_coins.coin_pub = c_pub
- ) kc
- JOIN (
- SELECT *
- FROM exchange.recoup
- WHERE recoup.coin_pub = c_pub
- ) rc USING (coin_pub);
- END LOOP;
-END;
-$$;
-
-
---
--- Name: FUNCTION exchange_do_recoup_by_reserve(res_pub bytea); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_recoup_by_reserve(res_pub bytea) IS 'Recoup by reserve as a function to make sure we hit only the needed partition and not all when joining as joins on distributed tables fetch ALL rows from the shards';
-
-
---
--- Name: exchange_do_recoup_to_coin(bytea, bigint, bytea, bytea, bigint, bytea, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_recoup_to_coin(in_old_coin_pub bytea, in_rrc_serial bigint, in_coin_blind bytea, in_coin_pub bytea, in_known_coin_id bigint, in_coin_sig bytea, in_recoup_timestamp bigint, OUT out_recoup_ok boolean, OUT out_internal_failure boolean, OUT out_recoup_timestamp bigint) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- tmp_val INT8; -- amount recouped
-DECLARE
- tmp_frac INT8; -- amount recouped
-BEGIN
-
--- Shards: UPDATE known_coins (by coin_pub)
--- SELECT recoup_refresh (by coin_pub)
--- UPDATE known_coins (by coin_pub)
--- INSERT recoup_refresh (by coin_pub)
-
-
-out_internal_failure=FALSE;
-
-
--- Check remaining balance of the coin.
-SELECT
- remaining_frac
- ,remaining_val
- INTO
- tmp_frac
- ,tmp_val
-FROM exchange.known_coins
- WHERE coin_pub=in_coin_pub;
-
-IF NOT FOUND
-THEN
- out_internal_failure=TRUE;
- out_recoup_ok=FALSE;
- RETURN;
-END IF;
-
-IF tmp_val + tmp_frac = 0
-THEN
- -- Check for idempotency
- SELECT
- recoup_timestamp
- INTO
- out_recoup_timestamp
- FROM exchange.recoup_refresh
- WHERE coin_pub=in_coin_pub;
- out_recoup_ok=FOUND;
- RETURN;
-END IF;
-
--- Update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=0
- ,remaining_val=0
- WHERE coin_pub=in_coin_pub;
-
-
--- Credit the old coin.
-UPDATE known_coins
- SET
- remaining_frac=remaining_frac+tmp_frac
- - CASE
- WHEN remaining_frac+tmp_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val+tmp_val
- + CASE
- WHEN remaining_frac+tmp_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE coin_pub=in_old_coin_pub;
-
-
-IF NOT FOUND
-THEN
- RAISE NOTICE 'failed to increase old coin balance from recoup';
- out_recoup_ok=TRUE;
- out_internal_failure=TRUE;
- RETURN;
-END IF;
-
-
-INSERT INTO exchange.recoup_refresh
- (coin_pub
- ,known_coin_id
- ,coin_sig
- ,coin_blind
- ,amount_val
- ,amount_frac
- ,recoup_timestamp
- ,rrc_serial
- )
-VALUES
- (in_coin_pub
- ,in_known_coin_id
- ,in_coin_sig
- ,in_coin_blind
- ,tmp_val
- ,tmp_frac
- ,in_recoup_timestamp
- ,in_rrc_serial);
-
--- Normal end, everything is fine.
-out_recoup_ok=TRUE;
-out_recoup_timestamp=in_recoup_timestamp;
-
-END $$;
-
-
---
--- Name: exchange_do_recoup_to_reserve(bytea, bigint, bytea, bytea, bigint, bytea, bigint, bigint, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_recoup_to_reserve(in_reserve_pub bytea, in_reserve_out_serial_id bigint, in_coin_blind bytea, in_coin_pub bytea, in_known_coin_id bigint, in_coin_sig bytea, in_reserve_gc bigint, in_reserve_expiration bigint, in_recoup_timestamp bigint, OUT out_recoup_ok boolean, OUT out_internal_failure boolean, OUT out_recoup_timestamp bigint) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- tmp_val INT8; -- amount recouped
-DECLARE
- tmp_frac INT8; -- amount recouped
-BEGIN
--- Shards: SELECT known_coins (by coin_pub)
--- SELECT recoup (by coin_pub)
--- UPDATE known_coins (by coin_pub)
--- UPDATE reserves (by reserve_pub)
--- INSERT recoup (by coin_pub)
-
-out_internal_failure=FALSE;
-
-
--- Check remaining balance of the coin.
-SELECT
- remaining_frac
- ,remaining_val
- INTO
- tmp_frac
- ,tmp_val
-FROM exchange.known_coins
- WHERE coin_pub=in_coin_pub;
-
-IF NOT FOUND
-THEN
- out_internal_failure=TRUE;
- out_recoup_ok=FALSE;
- RETURN;
-END IF;
-
-IF tmp_val + tmp_frac = 0
-THEN
- -- Check for idempotency
- SELECT
- recoup_timestamp
- INTO
- out_recoup_timestamp
- FROM exchange.recoup
- WHERE coin_pub=in_coin_pub;
-
- out_recoup_ok=FOUND;
- RETURN;
-END IF;
-
-
--- Update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=0
- ,remaining_val=0
- WHERE coin_pub=in_coin_pub;
-
-
--- Credit the reserve and update reserve timers.
-UPDATE reserves
- SET
- current_balance_frac=current_balance_frac+tmp_frac
- - CASE
- WHEN current_balance_frac+tmp_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- current_balance_val=current_balance_val+tmp_val
- + CASE
- WHEN current_balance_frac+tmp_frac >= 100000000
- THEN 1
- ELSE 0
- END,
- gc_date=GREATEST(gc_date, in_reserve_gc),
- expiration_date=GREATEST(expiration_date, in_reserve_expiration)
- WHERE reserve_pub=in_reserve_pub;
-
-
-IF NOT FOUND
-THEN
- RAISE NOTICE 'failed to increase reserve balance from recoup';
- out_recoup_ok=TRUE;
- out_internal_failure=TRUE;
- RETURN;
-END IF;
-
-
-INSERT INTO exchange.recoup
- (coin_pub
- ,coin_sig
- ,coin_blind
- ,amount_val
- ,amount_frac
- ,recoup_timestamp
- ,reserve_out_serial_id
- )
-VALUES
- (in_coin_pub
- ,in_coin_sig
- ,in_coin_blind
- ,tmp_val
- ,tmp_frac
- ,in_recoup_timestamp
- ,in_reserve_out_serial_id);
-
--- Normal end, everything is fine.
-out_recoup_ok=TRUE;
-out_recoup_timestamp=in_recoup_timestamp;
-
-END $$;
-
-
---
--- Name: exchange_do_refund(bigint, integer, bigint, integer, bigint, integer, bytea, bigint, bigint, bigint, bytea, bytea, bytea); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_refund(in_amount_with_fee_val bigint, in_amount_with_fee_frac integer, in_amount_val bigint, in_amount_frac integer, in_deposit_fee_val bigint, in_deposit_fee_frac integer, in_h_contract_terms bytea, in_rtransaction_id bigint, in_deposit_shard bigint, in_known_coin_id bigint, in_coin_pub bytea, in_merchant_pub bytea, in_merchant_sig bytea, OUT out_not_found boolean, OUT out_refund_ok boolean, OUT out_gone boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- dsi INT8; -- ID of deposit being refunded
-DECLARE
- tmp_val INT8; -- total amount refunded
-DECLARE
- tmp_frac INT8; -- total amount refunded
-DECLARE
- deposit_val INT8; -- amount that was originally deposited
-DECLARE
- deposit_frac INT8; -- amount that was originally deposited
-BEGIN
--- Shards: SELECT deposits (coin_pub, shard, h_contract_terms, merchant_pub)
--- INSERT refunds (by coin_pub, rtransaction_id) ON CONFLICT DO NOTHING
--- SELECT refunds (by coin_pub)
--- UPDATE known_coins (by coin_pub)
-
-SELECT
- deposit_serial_id
- ,amount_with_fee_val
- ,amount_with_fee_frac
- ,done
-INTO
- dsi
- ,deposit_val
- ,deposit_frac
- ,out_gone
-FROM exchange.deposits
- WHERE coin_pub=in_coin_pub
- AND shard=in_deposit_shard
- AND merchant_pub=in_merchant_pub
- AND h_contract_terms=in_h_contract_terms;
-
-IF NOT FOUND
-THEN
- -- No matching deposit found!
- out_refund_ok=FALSE;
- out_conflict=FALSE;
- out_not_found=TRUE;
- out_gone=FALSE;
- RETURN;
-END IF;
-
-INSERT INTO exchange.refunds
- (deposit_serial_id
- ,coin_pub
- ,merchant_sig
- ,rtransaction_id
- ,amount_with_fee_val
- ,amount_with_fee_frac
- )
- VALUES
- (dsi
- ,in_coin_pub
- ,in_merchant_sig
- ,in_rtransaction_id
- ,in_amount_with_fee_val
- ,in_amount_with_fee_frac)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: see if an identical record exists.
- -- Note that by checking 'coin_sig', we implicitly check
- -- identity over everything that the signature covers.
- -- We do select over merchant_pub and h_contract_terms
- -- primarily here to maximally use the existing index.
- PERFORM
- FROM exchange.refunds
- WHERE coin_pub=in_coin_pub
- AND deposit_serial_id=dsi
- AND rtransaction_id=in_rtransaction_id
- AND amount_with_fee_val=in_amount_with_fee_val
- AND amount_with_fee_frac=in_amount_with_fee_frac;
-
- IF NOT FOUND
- THEN
- -- Deposit exists, but have conflicting refund.
- out_refund_ok=FALSE;
- out_conflict=TRUE;
- out_not_found=FALSE;
- RETURN;
- END IF;
-
- -- Idempotent request known, return success.
- out_refund_ok=TRUE;
- out_conflict=FALSE;
- out_not_found=FALSE;
- out_gone=FALSE;
- RETURN;
-END IF;
-
-IF out_gone
-THEN
- -- money already sent to the merchant. Tough luck.
- out_refund_ok=FALSE;
- out_conflict=FALSE;
- out_not_found=FALSE;
- RETURN;
-END IF;
-
--- Check refund balance invariant.
-SELECT
- SUM(amount_with_fee_val) -- overflow here is not plausible
- ,SUM(CAST(amount_with_fee_frac AS INT8)) -- compute using 64 bits
- INTO
- tmp_val
- ,tmp_frac
- FROM exchange.refunds
- WHERE coin_pub=in_coin_pub
- AND deposit_serial_id=dsi;
-IF tmp_val IS NULL
-THEN
- RAISE NOTICE 'failed to sum up existing refunds';
- out_refund_ok=FALSE;
- out_conflict=FALSE;
- out_not_found=FALSE;
- RETURN;
-END IF;
-
--- Normalize result before continuing
-tmp_val = tmp_val + tmp_frac / 100000000;
-tmp_frac = tmp_frac % 100000000;
-
--- Actually check if the deposits are sufficient for the refund. Verbosely. ;-)
-IF (tmp_val < deposit_val)
-THEN
- out_refund_ok=TRUE;
-ELSE
- IF (tmp_val = deposit_val) AND (tmp_frac <= deposit_frac)
- THEN
- out_refund_ok=TRUE;
- ELSE
- out_refund_ok=FALSE;
- END IF;
-END IF;
-
-IF (tmp_val = deposit_val) AND (tmp_frac = deposit_frac)
-THEN
- -- Refunds have reached the full value of the original
- -- deposit. Also refund the deposit fee.
- in_amount_frac = in_amount_frac + in_deposit_fee_frac;
- in_amount_val = in_amount_val + in_deposit_fee_val;
-
- -- Normalize result before continuing
- in_amount_val = in_amount_val + in_amount_frac / 100000000;
- in_amount_frac = in_amount_frac % 100000000;
-END IF;
-
--- Update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=remaining_frac+in_amount_frac
- - CASE
- WHEN remaining_frac+in_amount_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val+in_amount_val
- + CASE
- WHEN remaining_frac+in_amount_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE coin_pub=in_coin_pub;
-
-
-out_conflict=FALSE;
-out_not_found=FALSE;
-
-END $$;
-
-
---
--- Name: exchange_do_reserve_purse(bytea, bytea, bigint, bytea, boolean, bigint, integer, bytea, bytea); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_reserve_purse(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_reserve_quota boolean, in_purse_fee_val bigint, in_purse_fee_frac integer, in_reserve_pub bytea, in_wallet_h_payto bytea, OUT out_no_funds boolean, OUT out_no_reserve boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-BEGIN
-
--- Store purse merge signature, checks for purse_pub uniqueness
-INSERT INTO exchange.purse_merges
- (partner_serial_id
- ,reserve_pub
- ,purse_pub
- ,merge_sig
- ,merge_timestamp)
- VALUES
- (0
- ,in_reserve_pub
- ,in_purse_pub
- ,in_merge_sig
- ,in_merge_timestamp)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: see if an identical record exists.
- -- Note that by checking 'merge_sig', we implicitly check
- -- identity over everything that the signature covers.
- PERFORM
- FROM exchange.purse_merges
- WHERE purse_pub=in_purse_pub
- AND merge_sig=in_merge_sig;
- IF NOT FOUND
- THEN
- -- Purse was merged, but to some other reserve. Not allowed.
- out_conflict=TRUE;
- out_no_reserve=FALSE;
- out_no_funds=FALSE;
- RETURN;
- END IF;
-
- -- "success"
- out_conflict=FALSE;
- out_no_funds=FALSE;
- out_no_reserve=FALSE;
- RETURN;
-END IF;
-out_conflict=FALSE;
-
-PERFORM
- FROM exchange.reserves
- WHERE reserve_pub=in_reserve_pub;
-
-IF NOT FOUND
-THEN
- out_no_reserve=TRUE;
- out_no_funds=TRUE;
- RETURN;
-END IF;
-out_no_reserve=FALSE;
-
-IF (in_reserve_quota)
-THEN
- -- Increment active purses per reserve (and check this is allowed)
- UPDATE reserves
- SET purses_active=purses_active+1
- WHERE reserve_pub=in_reserve_pub
- AND purses_active < purses_allowed;
- IF NOT FOUND
- THEN
- out_no_funds=TRUE;
- RETURN;
- END IF;
-ELSE
- -- UPDATE reserves balance (and check if balance is enough to pay the fee)
- UPDATE reserves
- SET
- current_balance_frac=current_balance_frac-in_purse_fee_frac
- + CASE
- WHEN current_balance_frac < in_purse_fee_frac
- THEN 100000000
- ELSE 0
- END,
- current_balance_val=current_balance_val-in_purse_fee_val
- - CASE
- WHEN current_balance_frac < in_purse_fee_frac
- THEN 1
- ELSE 0
- END
- WHERE reserve_pub=in_reserve_pub
- AND ( (current_balance_val > in_purse_fee_val) OR
- ( (current_balance_frac >= in_purse_fee_frac) AND
- (current_balance_val >= in_purse_fee_val) ) );
- IF NOT FOUND
- THEN
- out_no_funds=TRUE;
- RETURN;
- END IF;
-END IF;
-
-out_no_funds=FALSE;
-
-
--- Store account merge signature.
-INSERT INTO exchange.account_merges
- (reserve_pub
- ,reserve_sig
- ,purse_pub
- ,wallet_h_payto)
- VALUES
- (in_reserve_pub
- ,in_reserve_sig
- ,in_purse_pub
- ,in_wallet_h_payto);
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_reserve_purse(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_reserve_quota boolean, in_purse_fee_val bigint, in_purse_fee_frac integer, in_reserve_pub bytea, in_wallet_h_payto bytea, OUT out_no_funds boolean, OUT out_no_reserve boolean, OUT out_conflict boolean); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_reserve_purse(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_reserve_quota boolean, in_purse_fee_val bigint, in_purse_fee_frac integer, in_reserve_pub bytea, in_wallet_h_payto bytea, OUT out_no_funds boolean, OUT out_no_reserve boolean, OUT out_conflict boolean) IS 'Create a purse for a reserve.';
-
-
---
--- Name: exchange_do_withdraw(bytea, bigint, integer, bytea, bytea, bytea, bytea, bytea, bigint, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_withdraw(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, rpub bytea, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT nonce_ok boolean, OUT ruuid bigint) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- reserve_gc INT8;
-DECLARE
- denom_serial INT8;
-DECLARE
- reserve_val INT8;
-DECLARE
- reserve_frac INT4;
-BEGIN
--- Shards: reserves by reserve_pub (SELECT)
--- reserves_out (INSERT, with CONFLICT detection) by wih
--- reserves by reserve_pub (UPDATE)
--- reserves_in by reserve_pub (SELECT)
--- wire_targets by wire_target_h_payto
-
-SELECT denominations_serial
- INTO denom_serial
- FROM exchange.denominations
- WHERE denom_pub_hash=h_denom_pub;
-
-IF NOT FOUND
-THEN
- -- denomination unknown, should be impossible!
- reserve_found=FALSE;
- balance_ok=FALSE;
- ruuid=0;
- ASSERT false, 'denomination unknown';
- RETURN;
-END IF;
-
-
-SELECT
- current_balance_val
- ,current_balance_frac
- ,gc_date
- ,reserve_uuid
- INTO
- reserve_val
- ,reserve_frac
- ,reserve_gc
- ,ruuid
- FROM exchange.reserves
- WHERE reserves.reserve_pub=rpub;
-
-IF NOT FOUND
-THEN
- -- reserve unknown
- reserve_found=FALSE;
- balance_ok=FALSE;
- nonce_ok=TRUE;
- ruuid=2;
- RETURN;
-END IF;
-
--- We optimistically insert, and then on conflict declare
--- the query successful due to idempotency.
-INSERT INTO exchange.reserves_out
- (h_blind_ev
- ,denominations_serial
- ,denom_sig
- ,reserve_uuid
- ,reserve_sig
- ,execution_date
- ,amount_with_fee_val
- ,amount_with_fee_frac)
-VALUES
- (h_coin_envelope
- ,denom_serial
- ,denom_sig
- ,ruuid
- ,reserve_sig
- ,now
- ,amount_val
- ,amount_frac)
-ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- idempotent query, all constraints must be satisfied
- reserve_found=TRUE;
- balance_ok=TRUE;
- nonce_ok=TRUE;
- RETURN;
-END IF;
-
--- Check reserve balance is sufficient.
-IF (reserve_val > amount_val)
-THEN
- IF (reserve_frac >= amount_frac)
- THEN
- reserve_val=reserve_val - amount_val;
- reserve_frac=reserve_frac - amount_frac;
- ELSE
- reserve_val=reserve_val - amount_val - 1;
- reserve_frac=reserve_frac + 100000000 - amount_frac;
- END IF;
-ELSE
- IF (reserve_val = amount_val) AND (reserve_frac >= amount_frac)
- THEN
- reserve_val=0;
- reserve_frac=reserve_frac - amount_frac;
- ELSE
- reserve_found=TRUE;
- nonce_ok=TRUE; -- we do not really know
- balance_ok=FALSE;
- RETURN;
- END IF;
-END IF;
-
--- Calculate new expiration dates.
-min_reserve_gc=GREATEST(min_reserve_gc,reserve_gc);
-
--- Update reserve balance.
-UPDATE reserves SET
- gc_date=min_reserve_gc
- ,current_balance_val=reserve_val
- ,current_balance_frac=reserve_frac
-WHERE
- reserves.reserve_pub=rpub;
-
-reserve_found=TRUE;
-balance_ok=TRUE;
-
-
-
--- Special actions needed for a CS withdraw?
-IF NOT NULL cs_nonce
-THEN
- -- Cache CS signature to prevent replays in the future
- -- (and check if cached signature exists at the same time).
- INSERT INTO exchange.cs_nonce_locks
- (nonce
- ,max_denomination_serial
- ,op_hash)
- VALUES
- (cs_nonce
- ,denom_serial
- ,h_coin_envelope)
- ON CONFLICT DO NOTHING;
-
- IF NOT FOUND
- THEN
- -- See if the existing entry is identical.
- SELECT 1
- FROM exchange.cs_nonce_locks
- WHERE nonce=cs_nonce
- AND op_hash=h_coin_envelope;
- IF NOT FOUND
- THEN
- reserve_found=FALSE;
- balance_ok=FALSE;
- nonce_ok=FALSE;
- RETURN;
- END IF;
- END IF;
-ELSE
- nonce_ok=TRUE; -- no nonce, hence OK!
-END IF;
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_withdraw(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, rpub bytea, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT nonce_ok boolean, OUT ruuid bigint); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_withdraw(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, rpub bytea, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT nonce_ok boolean, OUT ruuid bigint) IS 'Checks whether the reserve has sufficient balance for a withdraw operation (or the request is repeated and was previously approved) and if so updates the database with the result';
-
-
---
--- Name: prepare_sharding(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.prepare_sharding() RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- CREATE EXTENSION IF NOT EXISTS postgres_fdw;
- PERFORM detach_default_partitions();
- ALTER TABLE IF EXISTS wire_targets
- DROP CONSTRAINT IF EXISTS wire_targets_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS reserves
- DROP CONSTRAINT IF EXISTS reserves_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS reserves_in
- DROP CONSTRAINT IF EXISTS reserves_in_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS reserves_close
- DROP CONSTRAINT IF EXISTS reserves_close_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS reserves_out
- DROP CONSTRAINT IF EXISTS reserves_out_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS reserves_out_denominations_serial_fkey
- ,DROP CONSTRAINT IF EXISTS reserves_out_h_blind_ev_key
- ;
- ALTER TABLE IF EXISTS known_coins
- DROP CONSTRAINT IF EXISTS known_coins_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS known_coins_denominations_serial_fkey
- ;
- ALTER TABLE IF EXISTS refresh_commitments
- DROP CONSTRAINT IF EXISTS refresh_commitments_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS refresh_old_coin_pub_fkey
- ;
- ALTER TABLE IF EXISTS refresh_revealed_coins
- DROP CONSTRAINT IF EXISTS refresh_revealed_coins_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS refresh_revealed_coins_denominations_serial_fkey
- ;
- ALTER TABLE IF EXISTS refresh_transfer_keys
- DROP CONSTRAINT IF EXISTS refresh_transfer_keys_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS deposits
- DROP CONSTRAINT IF EXISTS deposits_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS deposits_extension_details_serial_id_fkey
- ,DROP CONSTRAINT IF EXISTS deposits_coin_pub_merchant_pub_h_contract_terms_key CASCADE
- ;
- ALTER TABLE IF EXISTS refunds
- DROP CONSTRAINT IF EXISTS refunds_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS wire_out
- DROP CONSTRAINT IF EXISTS wire_out_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS wire_out_wtid_raw_key CASCADE
- ;
- ALTER TABLE IF EXISTS aggregation_tracking
- DROP CONSTRAINT IF EXISTS aggregation_tracking_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS aggregation_tracking_wtid_raw_fkey
- ;
- ALTER TABLE IF EXISTS recoup
- DROP CONSTRAINT IF EXISTS recoup_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS recoup_refresh
- DROP CONSTRAINT IF EXISTS recoup_refresh_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS prewire
- DROP CONSTRAINT IF EXISTS prewire_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS cs_nonce_locks
- DROP CONSTRAINT IF EXISTS cs_nonce_locks_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS purse_requests
- DROP CONSTRAINT IF EXISTS purse_requests_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS purse_refunds
- DROP CONSTRAINT IF EXISTS purse_refunds_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS purse_merges
- DROP CONSTRAINT IF EXISTS purse_merges_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS account_merges
- DROP CONSTRAINT IF EXISTS account_merges_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS contracts
- DROP CONSTRAINT IF EXISTS contracts_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS history_requests
- DROP CONSTRAINT IF EXISTS history_requests_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS close_requests
- DROP CONSTRAINT IF EXISTS close_requests_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS purse_deposits
- DROP CONSTRAINT IF EXISTS purse_deposits_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS wads_out
- DROP CONSTRAINT IF EXISTS wads_out_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS wad_out_entries
- DROP CONSTRAINT IF EXISTS wad_out_entries_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS wads_in
- DROP CONSTRAINT IF EXISTS wads_in_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS wads_in_wad_id_origin_exchange_url_key
- ;
- ALTER TABLE IF EXISTS wad_in_entries
- DROP CONSTRAINT IF EXISTS wad_in_entries_pkey CASCADE
- ;
-END
-$$;
-
-
---
--- Name: purse_requests_insert_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.purse_requests_insert_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- ASSERT NOT NEW.finished,'Internal invariant violated';
- INSERT INTO
- purse_actions
- (purse_pub
- ,action_date)
- VALUES
- (NEW.purse_pub
- ,NEW.purse_expiration);
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION purse_requests_insert_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.purse_requests_insert_trigger() IS 'When a purse is created, insert it into the purse_action table to take action when the purse expires.';
-
-
---
--- Name: purse_requests_on_update_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.purse_requests_on_update_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- IF (NEW.finished AND NOT OLD.finished)
- THEN
- IF (NEW.in_reserve_quota)
- THEN
- UPDATE reserves
- SET purses_active=purses_active-1
- WHERE reserve_pub IN
- (SELECT reserve_pub
- FROM exchange.purse_merges
- WHERE purse_pub=NEW.purse_pub
- LIMIT 1);
- NEW.in_reserve_quota=FALSE;
- END IF;
- DELETE FROM exchange.purse_actions
- WHERE purse_pub=NEW.purse_pub;
- RETURN NEW;
- END IF;
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION purse_requests_on_update_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.purse_requests_on_update_trigger() IS 'Trigger the router if the purse is ready. Also removes the entry from the router watchlist once the purse is finished.';
-
-
---
--- Name: recoup_delete_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.recoup_delete_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- DELETE FROM exchange.recoup_by_reserve
- WHERE reserve_out_serial_id = OLD.reserve_out_serial_id
- AND coin_pub = OLD.coin_pub;
- RETURN OLD;
-END $$;
-
-
---
--- Name: FUNCTION recoup_delete_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.recoup_delete_trigger() IS 'Replicate recoup deletions into recoup_by_reserve table.';
-
-
---
--- Name: recoup_insert_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.recoup_insert_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- INSERT INTO exchange.recoup_by_reserve
- (reserve_out_serial_id
- ,coin_pub)
- VALUES
- (NEW.reserve_out_serial_id
- ,NEW.coin_pub);
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION recoup_insert_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.recoup_insert_trigger() IS 'Replicate recoup inserts into recoup_by_reserve table.';
-
-
---
--- Name: reserves_out_by_reserve_delete_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.reserves_out_by_reserve_delete_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- DELETE FROM exchange.reserves_out_by_reserve
- WHERE reserve_uuid = OLD.reserve_uuid;
- RETURN OLD;
-END $$;
-
-
---
--- Name: FUNCTION reserves_out_by_reserve_delete_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.reserves_out_by_reserve_delete_trigger() IS 'Replicate reserve_out deletions into reserve_out_by_reserve table.';
-
-
---
--- Name: reserves_out_by_reserve_insert_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.reserves_out_by_reserve_insert_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- INSERT INTO exchange.reserves_out_by_reserve
- (reserve_uuid
- ,h_blind_ev)
- VALUES
- (NEW.reserve_uuid
- ,NEW.h_blind_ev);
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION reserves_out_by_reserve_insert_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.reserves_out_by_reserve_insert_trigger() IS 'Replicate reserve_out inserts into reserve_out_by_reserve table.';
-
-
---
--- Name: wire_out_delete_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.wire_out_delete_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- DELETE FROM exchange.aggregation_tracking
- WHERE wtid_raw = OLD.wtid_raw;
- RETURN OLD;
-END $$;
-
-
---
--- Name: FUNCTION wire_out_delete_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.wire_out_delete_trigger() IS 'Replicate reserve_out deletions into aggregation_tracking. This replaces an earlier use of an ON DELETE CASCADE that required a DEFERRABLE constraint and conflicted with nice partitioning.';
-
-
-SET default_tablespace = '';
-
-SET default_table_access_method = heap;
-
---
--- Name: patches; Type: TABLE; Schema: _v; Owner: -
---
-
-CREATE TABLE _v.patches (
- patch_name text NOT NULL,
- applied_tsz timestamp with time zone DEFAULT now() NOT NULL,
- applied_by text NOT NULL,
- requires text[],
- conflicts text[]
-);
-
-
---
--- Name: TABLE patches; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON TABLE _v.patches IS 'Contains information about what patches are currently applied on database.';
-
-
---
--- Name: COLUMN patches.patch_name; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.patch_name IS 'Name of patch, has to be unique for every patch.';
-
-
---
--- Name: COLUMN patches.applied_tsz; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.applied_tsz IS 'When the patch was applied.';
-
-
---
--- Name: COLUMN patches.applied_by; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.applied_by IS 'Who applied this patch (PostgreSQL username)';
-
-
---
--- Name: COLUMN patches.requires; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.requires IS 'List of patches that are required for given patch.';
-
-
---
--- Name: COLUMN patches.conflicts; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.conflicts IS 'List of patches that conflict with given patch.';
-
-
---
--- Name: auditor_balance_summary; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_balance_summary (
- master_pub bytea NOT NULL,
- denom_balance_val bigint NOT NULL,
- denom_balance_frac integer NOT NULL,
- deposit_fee_balance_val bigint NOT NULL,
- deposit_fee_balance_frac integer NOT NULL,
- melt_fee_balance_val bigint NOT NULL,
- melt_fee_balance_frac integer NOT NULL,
- refund_fee_balance_val bigint NOT NULL,
- refund_fee_balance_frac integer NOT NULL,
- risk_val bigint NOT NULL,
- risk_frac integer NOT NULL,
- loss_val bigint NOT NULL,
- loss_frac integer NOT NULL,
- irregular_recoup_val bigint NOT NULL,
- irregular_recoup_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_balance_summary; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_balance_summary IS 'the sum of the outstanding coins from auditor_denomination_pending (denom_pubs must belong to the respectives exchange master public key); it represents the auditor_balance_summary of the exchange at this point (modulo unexpected historic_loss-style events where denomination keys are compromised)';
-
-
---
--- Name: auditor_denomination_pending; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_denomination_pending (
- denom_pub_hash bytea NOT NULL,
- denom_balance_val bigint NOT NULL,
- denom_balance_frac integer NOT NULL,
- denom_loss_val bigint NOT NULL,
- denom_loss_frac integer NOT NULL,
- num_issued bigint NOT NULL,
- denom_risk_val bigint NOT NULL,
- denom_risk_frac integer NOT NULL,
- recoup_loss_val bigint NOT NULL,
- recoup_loss_frac integer NOT NULL,
- CONSTRAINT auditor_denomination_pending_denom_pub_hash_check CHECK ((length(denom_pub_hash) = 64))
-);
-
-
---
--- Name: TABLE auditor_denomination_pending; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_denomination_pending IS 'outstanding denomination coins that the exchange is aware of and what the respective balances are (outstanding as well as issued overall which implies the maximum value at risk).';
-
-
---
--- Name: COLUMN auditor_denomination_pending.num_issued; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON COLUMN auditor.auditor_denomination_pending.num_issued IS 'counts the number of coins issued (withdraw, refresh) of this denomination';
-
-
---
--- Name: COLUMN auditor_denomination_pending.denom_risk_val; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON COLUMN auditor.auditor_denomination_pending.denom_risk_val IS 'amount that could theoretically be lost in the future due to recoup operations';
-
-
---
--- Name: COLUMN auditor_denomination_pending.recoup_loss_val; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON COLUMN auditor.auditor_denomination_pending.recoup_loss_val IS 'amount actually lost due to recoup operations past revocation';
-
-
---
--- Name: auditor_exchange_signkeys; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_exchange_signkeys (
- master_pub bytea NOT NULL,
- ep_start bigint NOT NULL,
- ep_expire bigint NOT NULL,
- ep_end bigint NOT NULL,
- exchange_pub bytea NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT auditor_exchange_signkeys_exchange_pub_check CHECK ((length(exchange_pub) = 32)),
- CONSTRAINT auditor_exchange_signkeys_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE auditor_exchange_signkeys; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_exchange_signkeys IS 'list of the online signing keys of exchanges we are auditing';
-
-
---
--- Name: auditor_exchanges; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_exchanges (
- master_pub bytea NOT NULL,
- exchange_url character varying NOT NULL,
- CONSTRAINT auditor_exchanges_master_pub_check CHECK ((length(master_pub) = 32))
-);
-
-
---
--- Name: TABLE auditor_exchanges; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_exchanges IS 'list of the exchanges we are auditing';
-
-
---
--- Name: auditor_historic_denomination_revenue; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_historic_denomination_revenue (
- master_pub bytea NOT NULL,
- denom_pub_hash bytea NOT NULL,
- revenue_timestamp bigint NOT NULL,
- revenue_balance_val bigint NOT NULL,
- revenue_balance_frac integer NOT NULL,
- loss_balance_val bigint NOT NULL,
- loss_balance_frac integer NOT NULL,
- CONSTRAINT auditor_historic_denomination_revenue_denom_pub_hash_check CHECK ((length(denom_pub_hash) = 64))
-);
-
-
---
--- Name: TABLE auditor_historic_denomination_revenue; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_historic_denomination_revenue IS 'Table with historic profits; basically, when a denom_pub has expired and everything associated with it is garbage collected, the final profits end up in here; note that the denom_pub here is not a foreign key, we just keep it as a reference point.';
-
-
---
--- Name: COLUMN auditor_historic_denomination_revenue.revenue_balance_val; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON COLUMN auditor.auditor_historic_denomination_revenue.revenue_balance_val IS 'the sum of all of the profits we made on the coin except for withdraw fees (which are in historic_reserve_revenue); so this includes the deposit, melt and refund fees';
-
-
---
--- Name: auditor_historic_reserve_summary; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_historic_reserve_summary (
- master_pub bytea NOT NULL,
- start_date bigint NOT NULL,
- end_date bigint NOT NULL,
- reserve_profits_val bigint NOT NULL,
- reserve_profits_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_historic_reserve_summary; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_historic_reserve_summary IS 'historic profits from reserves; we eventually GC auditor_historic_reserve_revenue, and then store the totals in here (by time intervals).';
-
-
---
--- Name: auditor_predicted_result; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_predicted_result (
- master_pub bytea NOT NULL,
- balance_val bigint NOT NULL,
- balance_frac integer NOT NULL,
- drained_val bigint NOT NULL,
- drained_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_predicted_result; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_predicted_result IS 'Table with the sum of the ledger, auditor_historic_revenue and the auditor_reserve_balance and the drained profits. This is the final amount that the exchange should have in its bank account right now (and the total amount drained as profits to non-escrow accounts).';
-
-
---
--- Name: auditor_progress_aggregation; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_progress_aggregation (
- master_pub bytea NOT NULL,
- last_wire_out_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_aggregation; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_progress_aggregation IS 'information as to which transactions the auditor has processed in the exchange database. Used for SELECTing the
- statements to process. The indices include the last serial ID from the respective tables that we have processed. Thus, we need to select those table entries that are strictly larger (and process in monotonically increasing order).';
-
-
---
--- Name: auditor_progress_coin; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_progress_coin (
- master_pub bytea NOT NULL,
- last_withdraw_serial_id bigint DEFAULT 0 NOT NULL,
- last_deposit_serial_id bigint DEFAULT 0 NOT NULL,
- last_melt_serial_id bigint DEFAULT 0 NOT NULL,
- last_refund_serial_id bigint DEFAULT 0 NOT NULL,
- last_recoup_serial_id bigint DEFAULT 0 NOT NULL,
- last_recoup_refresh_serial_id bigint DEFAULT 0 NOT NULL,
- last_purse_deposits_serial_id bigint DEFAULT 0 NOT NULL,
- last_purse_refunds_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_coin; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_progress_coin IS 'information as to which transactions the auditor has processed in the exchange database. Used for SELECTing the
- statements to process. The indices include the last serial ID from the respective tables that we have processed. Thus, we need to select those table entries that are strictly larger (and process in monotonically increasing order).';
-
-
---
--- Name: auditor_progress_deposit_confirmation; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_progress_deposit_confirmation (
- master_pub bytea NOT NULL,
- last_deposit_confirmation_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_deposit_confirmation; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_progress_deposit_confirmation IS 'information as to which transactions the auditor has processed in the exchange database. Used for SELECTing the
- statements to process. The indices include the last serial ID from the respective tables that we have processed. Thus, we need to select those table entries that are strictly larger (and process in monotonically increasing order).';
-
-
---
--- Name: auditor_progress_reserve; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_progress_reserve (
- master_pub bytea NOT NULL,
- last_reserve_in_serial_id bigint DEFAULT 0 NOT NULL,
- last_reserve_out_serial_id bigint DEFAULT 0 NOT NULL,
- last_reserve_recoup_serial_id bigint DEFAULT 0 NOT NULL,
- last_reserve_close_serial_id bigint DEFAULT 0 NOT NULL,
- last_purse_merges_serial_id bigint DEFAULT 0 NOT NULL,
- last_purse_deposits_serial_id bigint DEFAULT 0 NOT NULL,
- last_account_merges_serial_id bigint DEFAULT 0 NOT NULL,
- last_history_requests_serial_id bigint DEFAULT 0 NOT NULL,
- last_close_requests_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_reserve; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_progress_reserve IS 'information as to which transactions the auditor has processed in the exchange database. Used for SELECTing the
- statements to process. The indices include the last serial ID from the respective tables that we have processed. Thus, we need to select those table entries that are strictly larger (and process in monotonically increasing order).';
-
-
---
--- Name: auditor_reserve_balance; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_reserve_balance (
- master_pub bytea NOT NULL,
- reserve_balance_val bigint NOT NULL,
- reserve_balance_frac integer NOT NULL,
- withdraw_fee_balance_val bigint NOT NULL,
- withdraw_fee_balance_frac integer NOT NULL,
- purse_fee_balance_val bigint NOT NULL,
- purse_fee_balance_frac integer NOT NULL,
- history_fee_balance_val bigint NOT NULL,
- history_fee_balance_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_reserve_balance; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_reserve_balance IS 'sum of the balances of all customer reserves (by exchange master public key)';
-
-
---
--- Name: auditor_reserves; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_reserves (
- reserve_pub bytea NOT NULL,
- master_pub bytea NOT NULL,
- reserve_balance_val bigint NOT NULL,
- reserve_balance_frac integer NOT NULL,
- withdraw_fee_balance_val bigint NOT NULL,
- withdraw_fee_balance_frac integer NOT NULL,
- expiration_date bigint NOT NULL,
- auditor_reserves_rowid bigint NOT NULL,
- origin_account text,
- CONSTRAINT auditor_reserves_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-);
-
-
---
--- Name: TABLE auditor_reserves; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_reserves IS 'all of the customer reserves and their respective balances that the auditor is aware of';
-
-
---
--- Name: auditor_reserves_auditor_reserves_rowid_seq; Type: SEQUENCE; Schema: auditor; Owner: -
---
-
-CREATE SEQUENCE auditor.auditor_reserves_auditor_reserves_rowid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
---
--- Name: auditor_reserves_auditor_reserves_rowid_seq; Type: SEQUENCE OWNED BY; Schema: auditor; Owner: -
---
-
-ALTER SEQUENCE auditor.auditor_reserves_auditor_reserves_rowid_seq OWNED BY auditor.auditor_reserves.auditor_reserves_rowid;
-
-
---
--- Name: auditor_wire_fee_balance; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_wire_fee_balance (
- master_pub bytea NOT NULL,
- wire_fee_balance_val bigint NOT NULL,
- wire_fee_balance_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_wire_fee_balance; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_wire_fee_balance IS 'sum of the balances of all wire fees (by exchange master public key)';
-
-
---
--- Name: deposit_confirmations; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.deposit_confirmations (
- master_pub bytea NOT NULL,
- serial_id bigint NOT NULL,
- h_contract_terms bytea NOT NULL,
- h_extensions bytea NOT NULL,
- h_wire bytea NOT NULL,
- exchange_timestamp bigint NOT NULL,
- refund_deadline bigint NOT NULL,
- wire_deadline bigint NOT NULL,
- amount_without_fee_val bigint NOT NULL,
- amount_without_fee_frac integer NOT NULL,
- coin_pub bytea NOT NULL,
- merchant_pub bytea NOT NULL,
- exchange_sig bytea NOT NULL,
- exchange_pub bytea NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT deposit_confirmations_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT deposit_confirmations_exchange_pub_check CHECK ((length(exchange_pub) = 32)),
- CONSTRAINT deposit_confirmations_exchange_sig_check CHECK ((length(exchange_sig) = 64)),
- CONSTRAINT deposit_confirmations_h_contract_terms_check CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT deposit_confirmations_h_contract_terms_check1 CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT deposit_confirmations_h_wire_check CHECK ((length(h_wire) = 64)),
- CONSTRAINT deposit_confirmations_master_sig_check CHECK ((length(master_sig) = 64)),
- CONSTRAINT deposit_confirmations_merchant_pub_check CHECK ((length(merchant_pub) = 32))
-);
-
-
---
--- Name: TABLE deposit_confirmations; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.deposit_confirmations IS 'deposit confirmation sent to us by merchants; we must check that the exchange reported these properly.';
-
-
---
--- Name: deposit_confirmations_serial_id_seq; Type: SEQUENCE; Schema: auditor; Owner: -
---
-
-CREATE SEQUENCE auditor.deposit_confirmations_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
---
--- Name: deposit_confirmations_serial_id_seq; Type: SEQUENCE OWNED BY; Schema: auditor; Owner: -
---
-
-ALTER SEQUENCE auditor.deposit_confirmations_serial_id_seq OWNED BY auditor.deposit_confirmations.serial_id;
-
-
---
--- Name: wire_auditor_account_progress; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.wire_auditor_account_progress (
- master_pub bytea NOT NULL,
- account_name text NOT NULL,
- last_wire_reserve_in_serial_id bigint DEFAULT 0 NOT NULL,
- last_wire_wire_out_serial_id bigint DEFAULT 0 NOT NULL,
- wire_in_off bigint NOT NULL,
- wire_out_off bigint NOT NULL
-);
-
-
---
--- Name: TABLE wire_auditor_account_progress; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.wire_auditor_account_progress IS 'information as to which transactions the auditor has processed in the exchange database. Used for SELECTing the
- statements to process. The indices include the last serial ID from the respective tables that we have processed. Thus, we need to select those table entries that are strictly larger (and process in monotonically increasing order).';
-
-
---
--- Name: wire_auditor_progress; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.wire_auditor_progress (
- master_pub bytea NOT NULL,
- last_timestamp bigint NOT NULL,
- last_reserve_close_uuid bigint NOT NULL
-);
-
-
---
--- Name: account_merges; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.account_merges (
- account_merge_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_pub bytea NOT NULL,
- wallet_h_payto bytea NOT NULL,
- CONSTRAINT account_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT account_merges_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT account_merges_reserve_sig_check CHECK ((length(reserve_sig) = 64)),
- CONSTRAINT account_merges_wallet_h_payto_check CHECK ((length(wallet_h_payto) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE account_merges; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.account_merges IS 'Merge requests where a purse- and account-owner requested merging the purse into the account';
-
-
---
--- Name: COLUMN account_merges.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.account_merges.reserve_pub IS 'public key of the target reserve';
-
-
---
--- Name: COLUMN account_merges.reserve_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.account_merges.reserve_sig IS 'signature by the reserve private key affirming the merge, of type TALER_SIGNATURE_WALLET_ACCOUNT_MERGE';
-
-
---
--- Name: COLUMN account_merges.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.account_merges.purse_pub IS 'public key of the purse';
-
-
---
--- Name: account_merges_account_merge_request_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.account_merges ALTER COLUMN account_merge_request_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.account_merges_account_merge_request_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: account_merges_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.account_merges_default (
- account_merge_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_pub bytea NOT NULL,
- wallet_h_payto bytea NOT NULL,
- CONSTRAINT account_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT account_merges_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT account_merges_reserve_sig_check CHECK ((length(reserve_sig) = 64)),
- CONSTRAINT account_merges_wallet_h_payto_check CHECK ((length(wallet_h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.account_merges ATTACH PARTITION exchange.account_merges_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: aggregation_tracking; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.aggregation_tracking (
- aggregation_serial_id bigint NOT NULL,
- deposit_serial_id bigint NOT NULL,
- wtid_raw bytea NOT NULL
-)
-PARTITION BY HASH (deposit_serial_id);
-
-
---
--- Name: TABLE aggregation_tracking; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.aggregation_tracking IS 'mapping from wire transfer identifiers (WTID) to deposits (and back)';
-
-
---
--- Name: COLUMN aggregation_tracking.wtid_raw; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.aggregation_tracking.wtid_raw IS 'identifier of the wire transfer';
-
-
---
--- Name: aggregation_tracking_aggregation_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.aggregation_tracking ALTER COLUMN aggregation_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.aggregation_tracking_aggregation_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: aggregation_tracking_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.aggregation_tracking_default (
- aggregation_serial_id bigint NOT NULL,
- deposit_serial_id bigint NOT NULL,
- wtid_raw bytea NOT NULL
-);
-ALTER TABLE ONLY exchange.aggregation_tracking ATTACH PARTITION exchange.aggregation_tracking_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: aggregation_transient; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.aggregation_transient (
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- wire_target_h_payto bytea,
- merchant_pub bytea,
- exchange_account_section text NOT NULL,
- legitimization_requirement_serial_id bigint DEFAULT 0 NOT NULL,
- wtid_raw bytea NOT NULL,
- CONSTRAINT aggregation_transient_merchant_pub_check CHECK ((length(merchant_pub) = 32)),
- CONSTRAINT aggregation_transient_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT aggregation_transient_wtid_raw_check CHECK ((length(wtid_raw) = 32))
-)
-PARTITION BY HASH (wire_target_h_payto);
-
-
---
--- Name: TABLE aggregation_transient; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.aggregation_transient IS 'aggregations currently happening (lacking wire_out, usually because the amount is too low); this table is not replicated';
-
-
---
--- Name: COLUMN aggregation_transient.amount_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.aggregation_transient.amount_val IS 'Sum of all of the aggregated deposits (without deposit fees)';
-
-
---
--- Name: COLUMN aggregation_transient.wtid_raw; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.aggregation_transient.wtid_raw IS 'identifier of the wire transfer';
-
-
---
--- Name: aggregation_transient_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.aggregation_transient_default (
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- wire_target_h_payto bytea,
- merchant_pub bytea,
- exchange_account_section text NOT NULL,
- legitimization_requirement_serial_id bigint DEFAULT 0 NOT NULL,
- wtid_raw bytea NOT NULL,
- CONSTRAINT aggregation_transient_merchant_pub_check CHECK ((length(merchant_pub) = 32)),
- CONSTRAINT aggregation_transient_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT aggregation_transient_wtid_raw_check CHECK ((length(wtid_raw) = 32))
-);
-ALTER TABLE ONLY exchange.aggregation_transient ATTACH PARTITION exchange.aggregation_transient_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: auditor_denom_sigs; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.auditor_denom_sigs (
- auditor_denom_serial bigint NOT NULL,
- auditor_uuid bigint NOT NULL,
- denominations_serial bigint NOT NULL,
- auditor_sig bytea,
- CONSTRAINT auditor_denom_sigs_auditor_sig_check CHECK ((length(auditor_sig) = 64))
-);
-
-
---
--- Name: TABLE auditor_denom_sigs; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.auditor_denom_sigs IS 'Table with auditor signatures on exchange denomination keys.';
-
-
---
--- Name: COLUMN auditor_denom_sigs.auditor_uuid; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditor_denom_sigs.auditor_uuid IS 'Identifies the auditor.';
-
-
---
--- Name: COLUMN auditor_denom_sigs.denominations_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditor_denom_sigs.denominations_serial IS 'Denomination the signature is for.';
-
-
---
--- Name: COLUMN auditor_denom_sigs.auditor_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditor_denom_sigs.auditor_sig IS 'Signature of the auditor, of purpose TALER_SIGNATURE_AUDITOR_EXCHANGE_KEYS.';
-
-
---
--- Name: auditor_denom_sigs_auditor_denom_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.auditor_denom_sigs ALTER COLUMN auditor_denom_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.auditor_denom_sigs_auditor_denom_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: auditors; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.auditors (
- auditor_uuid bigint NOT NULL,
- auditor_pub bytea NOT NULL,
- auditor_name character varying NOT NULL,
- auditor_url character varying NOT NULL,
- is_active boolean NOT NULL,
- last_change bigint NOT NULL,
- CONSTRAINT auditors_auditor_pub_check CHECK ((length(auditor_pub) = 32))
-);
-
-
---
--- Name: TABLE auditors; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.auditors IS 'Table with auditors the exchange uses or has used in the past. Entries never expire as we need to remember the last_change column indefinitely.';
-
-
---
--- Name: COLUMN auditors.auditor_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditors.auditor_pub IS 'Public key of the auditor.';
-
-
---
--- Name: COLUMN auditors.auditor_url; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditors.auditor_url IS 'The base URL of the auditor.';
-
-
---
--- Name: COLUMN auditors.is_active; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditors.is_active IS 'true if we are currently supporting the use of this auditor.';
-
-
---
--- Name: COLUMN auditors.last_change; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditors.last_change IS 'Latest time when active status changed. Used to detect replays of old messages.';
-
-
---
--- Name: auditors_auditor_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.auditors ALTER COLUMN auditor_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.auditors_auditor_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: close_requests; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.close_requests (
- close_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- close_timestamp bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- close_val bigint NOT NULL,
- close_frac integer NOT NULL,
- CONSTRAINT close_requests_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT close_requests_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE close_requests; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.close_requests IS 'Explicit requests by a reserve owner to close a reserve immediately';
-
-
---
--- Name: COLUMN close_requests.close_timestamp; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.close_requests.close_timestamp IS 'When the request was created by the client';
-
-
---
--- Name: COLUMN close_requests.reserve_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.close_requests.reserve_sig IS 'Signature affirming that the reserve is to be closed';
-
-
---
--- Name: COLUMN close_requests.close_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.close_requests.close_val IS 'Balance of the reserve at the time of closing, to be wired to the associated bank account (minus the closing fee)';
-
-
---
--- Name: close_requests_close_request_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.close_requests ALTER COLUMN close_request_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.close_requests_close_request_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: close_requests_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.close_requests_default (
- close_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- close_timestamp bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- close_val bigint NOT NULL,
- close_frac integer NOT NULL,
- CONSTRAINT close_requests_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT close_requests_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-);
-ALTER TABLE ONLY exchange.close_requests ATTACH PARTITION exchange.close_requests_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: contracts; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.contracts (
- contract_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- pub_ckey bytea NOT NULL,
- contract_sig bytea NOT NULL,
- e_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- CONSTRAINT contracts_contract_sig_check CHECK ((length(contract_sig) = 64)),
- CONSTRAINT contracts_pub_ckey_check CHECK ((length(pub_ckey) = 32)),
- CONSTRAINT contracts_purse_pub_check CHECK ((length(purse_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE contracts; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.contracts IS 'encrypted contracts associated with purses';
-
-
---
--- Name: COLUMN contracts.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.contracts.purse_pub IS 'public key of the purse that the contract is associated with';
-
-
---
--- Name: COLUMN contracts.pub_ckey; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.contracts.pub_ckey IS 'Public ECDH key used to encrypt the contract, to be used with the purse private key for decryption';
-
-
---
--- Name: COLUMN contracts.contract_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.contracts.contract_sig IS 'signature over the encrypted contract by the purse contract key';
-
-
---
--- Name: COLUMN contracts.e_contract; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.contracts.e_contract IS 'AES-GCM encrypted contract terms (contains gzip compressed JSON after decryption)';
-
-
---
--- Name: contracts_contract_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.contracts ALTER COLUMN contract_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.contracts_contract_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: contracts_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.contracts_default (
- contract_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- pub_ckey bytea NOT NULL,
- contract_sig bytea NOT NULL,
- e_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- CONSTRAINT contracts_contract_sig_check CHECK ((length(contract_sig) = 64)),
- CONSTRAINT contracts_pub_ckey_check CHECK ((length(pub_ckey) = 32)),
- CONSTRAINT contracts_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-ALTER TABLE ONLY exchange.contracts ATTACH PARTITION exchange.contracts_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: cs_nonce_locks; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.cs_nonce_locks (
- cs_nonce_lock_serial_id bigint NOT NULL,
- nonce bytea NOT NULL,
- op_hash bytea NOT NULL,
- max_denomination_serial bigint NOT NULL,
- CONSTRAINT cs_nonce_locks_nonce_check CHECK ((length(nonce) = 32)),
- CONSTRAINT cs_nonce_locks_op_hash_check CHECK ((length(op_hash) = 64))
-)
-PARTITION BY HASH (nonce);
-
-
---
--- Name: TABLE cs_nonce_locks; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.cs_nonce_locks IS 'ensures a Clause Schnorr client nonce is locked for use with an operation identified by a hash';
-
-
---
--- Name: COLUMN cs_nonce_locks.nonce; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.cs_nonce_locks.nonce IS 'actual nonce submitted by the client';
-
-
---
--- Name: COLUMN cs_nonce_locks.op_hash; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.cs_nonce_locks.op_hash IS 'hash (RC for refresh, blind coin hash for withdraw) the nonce may be used with';
-
-
---
--- Name: COLUMN cs_nonce_locks.max_denomination_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.cs_nonce_locks.max_denomination_serial IS 'Maximum number of a CS denomination serial the nonce could be used with, for GC';
-
-
---
--- Name: cs_nonce_locks_cs_nonce_lock_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.cs_nonce_locks ALTER COLUMN cs_nonce_lock_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.cs_nonce_locks_cs_nonce_lock_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: cs_nonce_locks_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.cs_nonce_locks_default (
- cs_nonce_lock_serial_id bigint NOT NULL,
- nonce bytea NOT NULL,
- op_hash bytea NOT NULL,
- max_denomination_serial bigint NOT NULL,
- CONSTRAINT cs_nonce_locks_nonce_check CHECK ((length(nonce) = 32)),
- CONSTRAINT cs_nonce_locks_op_hash_check CHECK ((length(op_hash) = 64))
-);
-ALTER TABLE ONLY exchange.cs_nonce_locks ATTACH PARTITION exchange.cs_nonce_locks_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: denomination_revocations; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.denomination_revocations (
- denom_revocations_serial_id bigint NOT NULL,
- denominations_serial bigint NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT denomination_revocations_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE denomination_revocations; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.denomination_revocations IS 'remembering which denomination keys have been revoked';
-
-
---
--- Name: denomination_revocations_denom_revocations_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.denomination_revocations ALTER COLUMN denom_revocations_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.denomination_revocations_denom_revocations_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: denominations; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.denominations (
- denominations_serial bigint NOT NULL,
- denom_pub_hash bytea NOT NULL,
- denom_type integer DEFAULT 1 NOT NULL,
- age_mask integer DEFAULT 0 NOT NULL,
- denom_pub bytea NOT NULL,
- master_sig bytea NOT NULL,
- valid_from bigint NOT NULL,
- expire_withdraw bigint NOT NULL,
- expire_deposit bigint NOT NULL,
- expire_legal bigint NOT NULL,
- coin_val bigint NOT NULL,
- coin_frac integer NOT NULL,
- fee_withdraw_val bigint NOT NULL,
- fee_withdraw_frac integer NOT NULL,
- fee_deposit_val bigint NOT NULL,
- fee_deposit_frac integer NOT NULL,
- fee_refresh_val bigint NOT NULL,
- fee_refresh_frac integer NOT NULL,
- fee_refund_val bigint NOT NULL,
- fee_refund_frac integer NOT NULL,
- CONSTRAINT denominations_denom_pub_hash_check CHECK ((length(denom_pub_hash) = 64)),
- CONSTRAINT denominations_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE denominations; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.denominations IS 'Main denominations table. All the valid denominations the exchange knows about.';
-
-
---
--- Name: COLUMN denominations.denominations_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.denominations.denominations_serial IS 'needed for exchange-auditor replication logic';
-
-
---
--- Name: COLUMN denominations.denom_type; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.denominations.denom_type IS 'determines cipher type for blind signatures used with this denomination; 0 is for RSA';
-
-
---
--- Name: COLUMN denominations.age_mask; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.denominations.age_mask IS 'bitmask with the age restrictions that are being used for this denomination; 0 if denomination does not support the use of age restrictions';
-
-
---
--- Name: denominations_denominations_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.denominations ALTER COLUMN denominations_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.denominations_denominations_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: deposits; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits (
- deposit_serial_id bigint NOT NULL,
- shard bigint NOT NULL,
- coin_pub bytea NOT NULL,
- known_coin_id bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wallet_timestamp bigint NOT NULL,
- exchange_timestamp bigint NOT NULL,
- refund_deadline bigint NOT NULL,
- wire_deadline bigint NOT NULL,
- merchant_pub bytea NOT NULL,
- h_contract_terms bytea NOT NULL,
- coin_sig bytea NOT NULL,
- wire_salt bytea NOT NULL,
- wire_target_h_payto bytea,
- done boolean DEFAULT false NOT NULL,
- extension_blocked boolean DEFAULT false NOT NULL,
- extension_details_serial_id bigint,
- CONSTRAINT deposits_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
- CONSTRAINT deposits_h_contract_terms_check CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT deposits_merchant_pub_check CHECK ((length(merchant_pub) = 32)),
- CONSTRAINT deposits_wire_salt_check CHECK ((length(wire_salt) = 16)),
- CONSTRAINT deposits_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE deposits; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.deposits IS 'Deposits we have received and for which we need to make (aggregate) wire transfers (and manage refunds).';
-
-
---
--- Name: COLUMN deposits.shard; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.shard IS 'Used for load sharding in the materialized indices. Should be set based on merchant_pub. 64-bit value because we need an *unsigned* 32-bit value.';
-
-
---
--- Name: COLUMN deposits.known_coin_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.known_coin_id IS 'Used for garbage collection';
-
-
---
--- Name: COLUMN deposits.wire_salt; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.wire_salt IS 'Salt used when hashing the payto://-URI to get the h_wire';
-
-
---
--- Name: COLUMN deposits.wire_target_h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.wire_target_h_payto IS 'Identifies the target bank account and KYC status';
-
-
---
--- Name: COLUMN deposits.done; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.done IS 'Set to TRUE once we have included this deposit in some aggregate wire transfer to the merchant';
-
-
---
--- Name: COLUMN deposits.extension_blocked; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.extension_blocked IS 'True if the aggregation of the deposit is currently blocked by some extension mechanism. Used to filter out deposits that must not be processed by the canonical deposit logic.';
-
-
---
--- Name: COLUMN deposits.extension_details_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.extension_details_serial_id IS 'References extensions table, NULL if extensions are not used';
-
-
---
--- Name: deposits_by_ready; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits_by_ready (
- wire_deadline bigint NOT NULL,
- shard bigint NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint,
- CONSTRAINT deposits_by_ready_coin_pub_check CHECK ((length(coin_pub) = 32))
-)
-PARTITION BY RANGE (wire_deadline);
-
-
---
--- Name: TABLE deposits_by_ready; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.deposits_by_ready IS 'Enables fast lookups for deposits_get_ready, auto-populated via TRIGGER below';
-
-
---
--- Name: deposits_by_ready_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits_by_ready_default (
- wire_deadline bigint NOT NULL,
- shard bigint NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint,
- CONSTRAINT deposits_by_ready_coin_pub_check CHECK ((length(coin_pub) = 32))
-);
-ALTER TABLE ONLY exchange.deposits_by_ready ATTACH PARTITION exchange.deposits_by_ready_default DEFAULT;
-
-
---
--- Name: deposits_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits_default (
- deposit_serial_id bigint NOT NULL,
- shard bigint NOT NULL,
- coin_pub bytea NOT NULL,
- known_coin_id bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wallet_timestamp bigint NOT NULL,
- exchange_timestamp bigint NOT NULL,
- refund_deadline bigint NOT NULL,
- wire_deadline bigint NOT NULL,
- merchant_pub bytea NOT NULL,
- h_contract_terms bytea NOT NULL,
- coin_sig bytea NOT NULL,
- wire_salt bytea NOT NULL,
- wire_target_h_payto bytea,
- done boolean DEFAULT false NOT NULL,
- extension_blocked boolean DEFAULT false NOT NULL,
- extension_details_serial_id bigint,
- CONSTRAINT deposits_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
- CONSTRAINT deposits_h_contract_terms_check CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT deposits_merchant_pub_check CHECK ((length(merchant_pub) = 32)),
- CONSTRAINT deposits_wire_salt_check CHECK ((length(wire_salt) = 16)),
- CONSTRAINT deposits_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.deposits ATTACH PARTITION exchange.deposits_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: deposits_deposit_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.deposits ALTER COLUMN deposit_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.deposits_deposit_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: deposits_for_matching; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits_for_matching (
- refund_deadline bigint NOT NULL,
- merchant_pub bytea NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint,
- CONSTRAINT deposits_for_matching_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT deposits_for_matching_merchant_pub_check CHECK ((length(merchant_pub) = 32))
-)
-PARTITION BY RANGE (refund_deadline);
-
-
---
--- Name: TABLE deposits_for_matching; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.deposits_for_matching IS 'Enables fast lookups for deposits_iterate_matching, auto-populated via TRIGGER below';
-
-
---
--- Name: deposits_for_matching_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits_for_matching_default (
- refund_deadline bigint NOT NULL,
- merchant_pub bytea NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint,
- CONSTRAINT deposits_for_matching_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT deposits_for_matching_merchant_pub_check CHECK ((length(merchant_pub) = 32))
-);
-ALTER TABLE ONLY exchange.deposits_for_matching ATTACH PARTITION exchange.deposits_for_matching_default DEFAULT;
-
-
---
--- Name: exchange_sign_keys; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.exchange_sign_keys (
- esk_serial bigint NOT NULL,
- exchange_pub bytea NOT NULL,
- master_sig bytea NOT NULL,
- valid_from bigint NOT NULL,
- expire_sign bigint NOT NULL,
- expire_legal bigint NOT NULL,
- CONSTRAINT exchange_sign_keys_exchange_pub_check CHECK ((length(exchange_pub) = 32)),
- CONSTRAINT exchange_sign_keys_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE exchange_sign_keys; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.exchange_sign_keys IS 'Table with master public key signatures on exchange online signing keys.';
-
-
---
--- Name: COLUMN exchange_sign_keys.exchange_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.exchange_sign_keys.exchange_pub IS 'Public online signing key of the exchange.';
-
-
---
--- Name: COLUMN exchange_sign_keys.master_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.exchange_sign_keys.master_sig IS 'Signature affirming the validity of the signing key of purpose TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY.';
-
-
---
--- Name: COLUMN exchange_sign_keys.valid_from; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.exchange_sign_keys.valid_from IS 'Time when this online signing key will first be used to sign messages.';
-
-
---
--- Name: COLUMN exchange_sign_keys.expire_sign; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.exchange_sign_keys.expire_sign IS 'Time when this online signing key will no longer be used to sign.';
-
-
---
--- Name: COLUMN exchange_sign_keys.expire_legal; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.exchange_sign_keys.expire_legal IS 'Time when this online signing key legally expires.';
-
-
---
--- Name: exchange_sign_keys_esk_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.exchange_sign_keys ALTER COLUMN esk_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.exchange_sign_keys_esk_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: extension_details; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.extension_details (
- extension_details_serial_id bigint NOT NULL,
- extension_options character varying
-)
-PARTITION BY HASH (extension_details_serial_id);
-
-
---
--- Name: TABLE extension_details; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.extension_details IS 'Extensions that were provided with deposits (not yet used).';
-
-
---
--- Name: COLUMN extension_details.extension_options; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.extension_details.extension_options IS 'JSON object with options set that the exchange needs to consider when executing a deposit. Supported details depend on the extensions supported by the exchange.';
-
-
---
--- Name: extension_details_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.extension_details_default (
- extension_details_serial_id bigint NOT NULL,
- extension_options character varying
-);
-ALTER TABLE ONLY exchange.extension_details ATTACH PARTITION exchange.extension_details_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: extension_details_extension_details_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.extension_details ALTER COLUMN extension_details_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.extension_details_extension_details_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: extensions; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.extensions (
- extension_id bigint NOT NULL,
- name character varying NOT NULL,
- config bytea
-);
-
-
---
--- Name: TABLE extensions; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.extensions IS 'Configurations of the activated extensions';
-
-
---
--- Name: COLUMN extensions.name; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.extensions.name IS 'Name of the extension';
-
-
---
--- Name: COLUMN extensions.config; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.extensions.config IS 'Configuration of the extension as JSON-blob, maybe NULL';
-
-
---
--- Name: extensions_extension_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.extensions ALTER COLUMN extension_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.extensions_extension_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: global_fee; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.global_fee (
- global_fee_serial bigint NOT NULL,
- start_date bigint NOT NULL,
- end_date bigint NOT NULL,
- history_fee_val bigint NOT NULL,
- history_fee_frac integer NOT NULL,
- kyc_fee_val bigint NOT NULL,
- kyc_fee_frac integer NOT NULL,
- account_fee_val bigint NOT NULL,
- account_fee_frac integer NOT NULL,
- purse_fee_val bigint NOT NULL,
- purse_fee_frac integer NOT NULL,
- purse_timeout bigint NOT NULL,
- kyc_timeout bigint NOT NULL,
- history_expiration bigint NOT NULL,
- purse_account_limit integer NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT global_fee_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE global_fee; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.global_fee IS 'list of the global fees of this exchange, by date';
-
-
---
--- Name: COLUMN global_fee.global_fee_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.global_fee.global_fee_serial IS 'needed for exchange-auditor replication logic';
-
-
---
--- Name: global_fee_global_fee_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.global_fee ALTER COLUMN global_fee_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.global_fee_global_fee_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: history_requests; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.history_requests (
- history_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- request_timestamp bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- history_fee_val bigint NOT NULL,
- history_fee_frac integer NOT NULL,
- CONSTRAINT history_requests_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT history_requests_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE history_requests; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.history_requests IS 'Paid history requests issued by a client against a reserve';
-
-
---
--- Name: COLUMN history_requests.request_timestamp; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.history_requests.request_timestamp IS 'When was the history request made';
-
-
---
--- Name: COLUMN history_requests.reserve_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.history_requests.reserve_sig IS 'Signature approving payment for the history request';
-
-
---
--- Name: COLUMN history_requests.history_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.history_requests.history_fee_val IS 'History fee approved by the signature';
-
-
---
--- Name: history_requests_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.history_requests_default (
- history_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- request_timestamp bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- history_fee_val bigint NOT NULL,
- history_fee_frac integer NOT NULL,
- CONSTRAINT history_requests_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT history_requests_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-);
-ALTER TABLE ONLY exchange.history_requests ATTACH PARTITION exchange.history_requests_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: history_requests_history_request_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.history_requests ALTER COLUMN history_request_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.history_requests_history_request_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: known_coins; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.known_coins (
- known_coin_id bigint NOT NULL,
- denominations_serial bigint NOT NULL,
- coin_pub bytea NOT NULL,
- age_commitment_hash bytea,
- denom_sig bytea NOT NULL,
- remaining_val bigint DEFAULT 0 NOT NULL,
- remaining_frac integer DEFAULT 0 NOT NULL,
- CONSTRAINT known_coins_age_commitment_hash_check CHECK ((length(age_commitment_hash) = 32)),
- CONSTRAINT known_coins_coin_pub_check CHECK ((length(coin_pub) = 32))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE known_coins; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.known_coins IS 'information about coins and their signatures, so we do not have to store the signatures more than once if a coin is involved in multiple operations';
-
-
---
--- Name: COLUMN known_coins.denominations_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.known_coins.denominations_serial IS 'Denomination of the coin, determines the value of the original coin and applicable fees for coin-specific operations.';
-
-
---
--- Name: COLUMN known_coins.coin_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.known_coins.coin_pub IS 'EdDSA public key of the coin';
-
-
---
--- Name: COLUMN known_coins.age_commitment_hash; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.known_coins.age_commitment_hash IS 'Optional hash of the age commitment for age restrictions as per DD 24 (active if denom_type has the respective bit set)';
-
-
---
--- Name: COLUMN known_coins.denom_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.known_coins.denom_sig IS 'This is the signature of the exchange that affirms that the coin is a valid coin. The specific signature type depends on denom_type of the denomination.';
-
-
---
--- Name: COLUMN known_coins.remaining_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.known_coins.remaining_val IS 'Value of the coin that remains to be spent';
-
-
---
--- Name: known_coins_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.known_coins_default (
- known_coin_id bigint NOT NULL,
- denominations_serial bigint NOT NULL,
- coin_pub bytea NOT NULL,
- age_commitment_hash bytea,
- denom_sig bytea NOT NULL,
- remaining_val bigint DEFAULT 0 NOT NULL,
- remaining_frac integer DEFAULT 0 NOT NULL,
- CONSTRAINT known_coins_age_commitment_hash_check CHECK ((length(age_commitment_hash) = 32)),
- CONSTRAINT known_coins_coin_pub_check CHECK ((length(coin_pub) = 32))
-);
-ALTER TABLE ONLY exchange.known_coins ATTACH PARTITION exchange.known_coins_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: known_coins_known_coin_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.known_coins ALTER COLUMN known_coin_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.known_coins_known_coin_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: kyc_alerts; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.kyc_alerts (
- h_payto bytea NOT NULL,
- trigger_type integer NOT NULL,
- CONSTRAINT kyc_alerts_h_payto_check CHECK ((length(h_payto) = 32))
-);
-
-
---
--- Name: TABLE kyc_alerts; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.kyc_alerts IS 'alerts about completed KYC events reliably notifying other components (even if they are not running)';
-
-
---
--- Name: COLUMN kyc_alerts.h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.kyc_alerts.h_payto IS 'hash of the payto://-URI for which the KYC status changed';
-
-
---
--- Name: COLUMN kyc_alerts.trigger_type; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.kyc_alerts.trigger_type IS 'identifies the receiver of the alert, as the same h_payto may require multiple components to be notified';
-
-
---
--- Name: legitimization_processes; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.legitimization_processes (
- legitimization_process_serial_id bigint NOT NULL,
- h_payto bytea NOT NULL,
- expiration_time bigint DEFAULT 0 NOT NULL,
- provider_section character varying NOT NULL,
- provider_user_id character varying,
- provider_legitimization_id character varying,
- CONSTRAINT legitimization_processes_h_payto_check CHECK ((length(h_payto) = 32))
-)
-PARTITION BY HASH (h_payto);
-
-
---
--- Name: TABLE legitimization_processes; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.legitimization_processes IS 'List of legitimization processes (ongoing and completed) by account and provider';
-
-
---
--- Name: COLUMN legitimization_processes.legitimization_process_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.legitimization_process_serial_id IS 'unique ID for this legitimization process at the exchange';
-
-
---
--- Name: COLUMN legitimization_processes.h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.h_payto IS 'foreign key linking the entry to the wire_targets table, NOT a primary key (multiple legitimizations are possible per wire target)';
-
-
---
--- Name: COLUMN legitimization_processes.expiration_time; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.expiration_time IS 'in the future if the respective KYC check was passed successfully';
-
-
---
--- Name: COLUMN legitimization_processes.provider_section; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.provider_section IS 'Configuration file section with details about this provider';
-
-
---
--- Name: COLUMN legitimization_processes.provider_user_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.provider_user_id IS 'Identifier for the user at the provider that was used for the legitimization. NULL if provider is unaware.';
-
-
---
--- Name: COLUMN legitimization_processes.provider_legitimization_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.provider_legitimization_id IS 'Identifier for the specific legitimization process at the provider. NULL if legitimization was not started.';
-
-
---
--- Name: legitimization_processes_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.legitimization_processes_default (
- legitimization_process_serial_id bigint NOT NULL,
- h_payto bytea NOT NULL,
- expiration_time bigint DEFAULT 0 NOT NULL,
- provider_section character varying NOT NULL,
- provider_user_id character varying,
- provider_legitimization_id character varying,
- CONSTRAINT legitimization_processes_h_payto_check CHECK ((length(h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.legitimization_processes ATTACH PARTITION exchange.legitimization_processes_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: legitimization_processes_legitimization_process_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.legitimization_processes ALTER COLUMN legitimization_process_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.legitimization_processes_legitimization_process_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: legitimization_requirements; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.legitimization_requirements (
- legitimization_requirement_serial_id bigint NOT NULL,
- h_payto bytea NOT NULL,
- required_checks character varying NOT NULL,
- CONSTRAINT legitimization_requirements_h_payto_check CHECK ((length(h_payto) = 32))
-)
-PARTITION BY HASH (h_payto);
-
-
---
--- Name: TABLE legitimization_requirements; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.legitimization_requirements IS 'List of required legitimization by account';
-
-
---
--- Name: COLUMN legitimization_requirements.legitimization_requirement_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_requirements.legitimization_requirement_serial_id IS 'unique ID for this legitimization requirement at the exchange';
-
-
---
--- Name: COLUMN legitimization_requirements.h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_requirements.h_payto IS 'foreign key linking the entry to the wire_targets table, NOT a primary key (multiple legitimizations are possible per wire target)';
-
-
---
--- Name: COLUMN legitimization_requirements.required_checks; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_requirements.required_checks IS 'space-separated list of required checks';
-
-
---
--- Name: legitimization_requirements_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.legitimization_requirements_default (
- legitimization_requirement_serial_id bigint NOT NULL,
- h_payto bytea NOT NULL,
- required_checks character varying NOT NULL,
- CONSTRAINT legitimization_requirements_h_payto_check CHECK ((length(h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.legitimization_requirements ATTACH PARTITION exchange.legitimization_requirements_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: legitimization_requirements_legitimization_requirement_seri_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.legitimization_requirements ALTER COLUMN legitimization_requirement_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.legitimization_requirements_legitimization_requirement_seri_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: partner_accounts; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.partner_accounts (
- payto_uri character varying NOT NULL,
- partner_serial_id bigint,
- partner_master_sig bytea,
- last_seen bigint NOT NULL,
- CONSTRAINT partner_accounts_partner_master_sig_check CHECK ((length(partner_master_sig) = 64))
-);
-
-
---
--- Name: TABLE partner_accounts; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.partner_accounts IS 'Table with bank accounts of the partner exchange. Entries never expire as we need to remember the signature for the auditor.';
-
-
---
--- Name: COLUMN partner_accounts.payto_uri; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partner_accounts.payto_uri IS 'payto URI (RFC 8905) with the bank account of the partner exchange.';
-
-
---
--- Name: COLUMN partner_accounts.partner_master_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partner_accounts.partner_master_sig IS 'Signature of purpose TALER_SIGNATURE_MASTER_WIRE_DETAILS by the partner master public key';
-
-
---
--- Name: COLUMN partner_accounts.last_seen; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partner_accounts.last_seen IS 'Last time we saw this account as being active at the partner exchange. Used to select the most recent entry, and to detect when we should check again.';
-
-
---
--- Name: partners; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.partners (
- partner_serial_id bigint NOT NULL,
- partner_master_pub bytea NOT NULL,
- start_date bigint NOT NULL,
- end_date bigint NOT NULL,
- next_wad bigint DEFAULT 0 NOT NULL,
- wad_frequency bigint NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- master_sig bytea NOT NULL,
- partner_base_url text NOT NULL,
- CONSTRAINT partners_master_sig_check CHECK ((length(master_sig) = 64)),
- CONSTRAINT partners_partner_master_pub_check CHECK ((length(partner_master_pub) = 32))
-);
-
-
---
--- Name: TABLE partners; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.partners IS 'exchanges we do wad transfers to';
-
-
---
--- Name: COLUMN partners.partner_master_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.partner_master_pub IS 'offline master public key of the partner';
-
-
---
--- Name: COLUMN partners.start_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.start_date IS 'starting date of the partnership';
-
-
---
--- Name: COLUMN partners.end_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.end_date IS 'end date of the partnership';
-
-
---
--- Name: COLUMN partners.next_wad; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.next_wad IS 'at what time should we do the next wad transfer to this partner (frequently updated); set to forever after the end_date';
-
-
---
--- Name: COLUMN partners.wad_frequency; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.wad_frequency IS 'how often do we promise to do wad transfers';
-
-
---
--- Name: COLUMN partners.wad_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.wad_fee_val IS 'how high is the fee for a wallet to be added to a wad to this partner';
-
-
---
--- Name: COLUMN partners.master_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.master_sig IS 'signature of our master public key affirming the partnership, of purpose TALER_SIGNATURE_MASTER_PARTNER_DETAILS';
-
-
---
--- Name: COLUMN partners.partner_base_url; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.partner_base_url IS 'base URL of the REST API for this partner';
-
-
---
--- Name: partners_partner_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.partners ALTER COLUMN partner_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.partners_partner_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: prewire; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.prewire (
- prewire_uuid bigint NOT NULL,
- wire_method text NOT NULL,
- finished boolean DEFAULT false NOT NULL,
- failed boolean DEFAULT false NOT NULL,
- buf bytea NOT NULL
-)
-PARTITION BY HASH (prewire_uuid);
-
-
---
--- Name: TABLE prewire; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.prewire IS 'pre-commit data for wire transfers we are about to execute';
-
-
---
--- Name: COLUMN prewire.finished; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.prewire.finished IS 'set to TRUE once bank confirmed receiving the wire transfer request';
-
-
---
--- Name: COLUMN prewire.failed; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.prewire.failed IS 'set to TRUE if the bank responded with a non-transient failure to our transfer request';
-
-
---
--- Name: COLUMN prewire.buf; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.prewire.buf IS 'serialized data to send to the bank to execute the wire transfer';
-
-
---
--- Name: prewire_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.prewire_default (
- prewire_uuid bigint NOT NULL,
- wire_method text NOT NULL,
- finished boolean DEFAULT false NOT NULL,
- failed boolean DEFAULT false NOT NULL,
- buf bytea NOT NULL
-);
-ALTER TABLE ONLY exchange.prewire ATTACH PARTITION exchange.prewire_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: prewire_prewire_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.prewire ALTER COLUMN prewire_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.prewire_prewire_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: profit_drains; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.profit_drains (
- profit_drain_serial_id bigint NOT NULL,
- wtid bytea NOT NULL,
- account_section character varying NOT NULL,
- payto_uri character varying NOT NULL,
- trigger_date bigint NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- master_sig bytea NOT NULL,
- executed boolean DEFAULT false NOT NULL,
- CONSTRAINT profit_drains_master_sig_check CHECK ((length(master_sig) = 64)),
- CONSTRAINT profit_drains_wtid_check CHECK ((length(wtid) = 32))
-);
-
-
---
--- Name: TABLE profit_drains; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.profit_drains IS 'transactions to be performed to move profits from the escrow account of the exchange to a regular account';
-
-
---
--- Name: COLUMN profit_drains.wtid; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.wtid IS 'randomly chosen nonce, unique to prevent double-submission';
-
-
---
--- Name: COLUMN profit_drains.account_section; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.account_section IS 'specifies the configuration section in the taler-exchange-drain configuration with the wire account to drain';
-
-
---
--- Name: COLUMN profit_drains.payto_uri; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.payto_uri IS 'specifies the account to be credited';
-
-
---
--- Name: COLUMN profit_drains.trigger_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.trigger_date IS 'set by taler-exchange-offline at the time of making the signature; not necessarily the exact date of execution of the wire transfer, just for orientation';
-
-
---
--- Name: COLUMN profit_drains.amount_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.amount_val IS 'amount to be transferred';
-
-
---
--- Name: COLUMN profit_drains.master_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.master_sig IS 'EdDSA signature of type TALER_SIGNATURE_MASTER_DRAIN_PROFIT';
-
-
---
--- Name: COLUMN profit_drains.executed; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.executed IS 'set to TRUE by taler-exchange-drain on execution of the transaction, not replicated to auditor';
-
-
---
--- Name: profit_drains_profit_drain_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.profit_drains ALTER COLUMN profit_drain_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.profit_drains_profit_drain_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: purse_actions; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_actions (
- purse_pub bytea NOT NULL,
- action_date bigint NOT NULL,
- partner_serial_id bigint,
- CONSTRAINT purse_actions_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-
-
---
--- Name: TABLE purse_actions; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.purse_actions IS 'purses awaiting some action by the router';
-
-
---
--- Name: COLUMN purse_actions.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_actions.purse_pub IS 'public (contract) key of the purse';
-
-
---
--- Name: COLUMN purse_actions.action_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_actions.action_date IS 'when is the purse ready for action';
-
-
---
--- Name: COLUMN purse_actions.partner_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_actions.partner_serial_id IS 'wad target of an outgoing wire transfer, 0 for local, NULL if the purse is unmerged and thus the target is still unknown';
-
-
---
--- Name: purse_deposits; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_deposits (
- purse_deposit_serial_id bigint NOT NULL,
- partner_serial_id bigint,
- purse_pub bytea NOT NULL,
- coin_pub bytea NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- coin_sig bytea NOT NULL,
- CONSTRAINT purse_deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
- CONSTRAINT purse_deposits_purse_pub_check CHECK ((length(purse_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_deposits; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.purse_deposits IS 'Requests depositing coins into a purse';
-
-
---
--- Name: COLUMN purse_deposits.partner_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_deposits.partner_serial_id IS 'identifies the partner exchange, NULL in case the target purse lives at this exchange';
-
-
---
--- Name: COLUMN purse_deposits.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_deposits.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: COLUMN purse_deposits.coin_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_deposits.coin_pub IS 'Public key of the coin being deposited';
-
-
---
--- Name: COLUMN purse_deposits.amount_with_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_deposits.amount_with_fee_val IS 'Total amount being deposited';
-
-
---
--- Name: COLUMN purse_deposits.coin_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_deposits.coin_sig IS 'Signature of the coin affirming the deposit into the purse, of type TALER_SIGNATURE_PURSE_DEPOSIT';
-
-
---
--- Name: purse_deposits_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_deposits_default (
- purse_deposit_serial_id bigint NOT NULL,
- partner_serial_id bigint,
- purse_pub bytea NOT NULL,
- coin_pub bytea NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- coin_sig bytea NOT NULL,
- CONSTRAINT purse_deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
- CONSTRAINT purse_deposits_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-ALTER TABLE ONLY exchange.purse_deposits ATTACH PARTITION exchange.purse_deposits_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_deposits_purse_deposit_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.purse_deposits ALTER COLUMN purse_deposit_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.purse_deposits_purse_deposit_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: purse_merges; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_merges (
- purse_merge_request_serial_id bigint NOT NULL,
- partner_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- merge_sig bytea NOT NULL,
- merge_timestamp bigint NOT NULL,
- CONSTRAINT purse_merges_merge_sig_check CHECK ((length(merge_sig) = 64)),
- CONSTRAINT purse_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT purse_merges_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_merges; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.purse_merges IS 'Merge requests where a purse-owner requested merging the purse into the account';
-
-
---
--- Name: COLUMN purse_merges.partner_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_merges.partner_serial_id IS 'identifies the partner exchange, NULL in case the target reserve lives at this exchange';
-
-
---
--- Name: COLUMN purse_merges.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_merges.reserve_pub IS 'public key of the target reserve';
-
-
---
--- Name: COLUMN purse_merges.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_merges.purse_pub IS 'public key of the purse';
-
-
---
--- Name: COLUMN purse_merges.merge_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_merges.merge_sig IS 'signature by the purse private key affirming the merge, of type TALER_SIGNATURE_WALLET_PURSE_MERGE';
-
-
---
--- Name: COLUMN purse_merges.merge_timestamp; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_merges.merge_timestamp IS 'when was the merge message signed';
-
-
---
--- Name: purse_merges_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_merges_default (
- purse_merge_request_serial_id bigint NOT NULL,
- partner_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- merge_sig bytea NOT NULL,
- merge_timestamp bigint NOT NULL,
- CONSTRAINT purse_merges_merge_sig_check CHECK ((length(merge_sig) = 64)),
- CONSTRAINT purse_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT purse_merges_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-);
-ALTER TABLE ONLY exchange.purse_merges ATTACH PARTITION exchange.purse_merges_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_merges_purse_merge_request_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.purse_merges ALTER COLUMN purse_merge_request_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.purse_merges_purse_merge_request_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: purse_refunds; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_refunds (
- purse_refunds_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- CONSTRAINT purse_refunds_purse_pub_check CHECK ((length(purse_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_refunds; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.purse_refunds IS 'Purses that were refunded due to expiration';
-
-
---
--- Name: COLUMN purse_refunds.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_refunds.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: purse_refunds_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_refunds_default (
- purse_refunds_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- CONSTRAINT purse_refunds_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-ALTER TABLE ONLY exchange.purse_refunds ATTACH PARTITION exchange.purse_refunds_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_refunds_purse_refunds_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.purse_refunds ALTER COLUMN purse_refunds_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.purse_refunds_purse_refunds_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: purse_requests; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_requests (
- purse_requests_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- merge_pub bytea NOT NULL,
- purse_creation bigint NOT NULL,
- purse_expiration bigint NOT NULL,
- h_contract_terms bytea NOT NULL,
- age_limit integer NOT NULL,
- flags integer NOT NULL,
- refunded boolean DEFAULT false NOT NULL,
- finished boolean DEFAULT false NOT NULL,
- in_reserve_quota boolean DEFAULT false NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- purse_fee_val bigint NOT NULL,
- purse_fee_frac integer NOT NULL,
- balance_val bigint DEFAULT 0 NOT NULL,
- balance_frac integer DEFAULT 0 NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT purse_requests_h_contract_terms_check CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT purse_requests_merge_pub_check CHECK ((length(merge_pub) = 32)),
- CONSTRAINT purse_requests_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT purse_requests_purse_sig_check CHECK ((length(purse_sig) = 64))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_requests; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.purse_requests IS 'Requests establishing purses, associating them with a contract but without a target reserve';
-
-
---
--- Name: COLUMN purse_requests.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: COLUMN purse_requests.purse_creation; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.purse_creation IS 'Local time when the purse was created. Determines applicable purse fees.';
-
-
---
--- Name: COLUMN purse_requests.purse_expiration; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.purse_expiration IS 'When the purse is set to expire';
-
-
---
--- Name: COLUMN purse_requests.h_contract_terms; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.h_contract_terms IS 'Hash of the contract the parties are to agree to';
-
-
---
--- Name: COLUMN purse_requests.flags; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.flags IS 'see the enum TALER_WalletAccountMergeFlags';
-
-
---
--- Name: COLUMN purse_requests.refunded; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.refunded IS 'set to TRUE if the purse could not be merged and thus all deposited coins were refunded';
-
-
---
--- Name: COLUMN purse_requests.finished; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.finished IS 'set to TRUE once the purse has been merged (into reserve or wad) or the coins were refunded (transfer aborted)';
-
-
---
--- Name: COLUMN purse_requests.in_reserve_quota; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.in_reserve_quota IS 'set to TRUE if this purse currently counts against the number of free purses in the respective reserve';
-
-
---
--- Name: COLUMN purse_requests.amount_with_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.amount_with_fee_val IS 'Total amount expected to be in the purse';
-
-
---
--- Name: COLUMN purse_requests.purse_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.purse_fee_val IS 'Purse fee the client agreed to pay from the reserve (accepted by the exchange at the time the purse was created). Zero if in_reserve_quota is TRUE.';
-
-
---
--- Name: COLUMN purse_requests.balance_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.balance_val IS 'Total amount actually in the purse';
-
-
---
--- Name: COLUMN purse_requests.purse_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.purse_sig IS 'Signature of the purse affirming the purse parameters, of type TALER_SIGNATURE_PURSE_REQUEST';
-
-
---
--- Name: purse_requests_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_requests_default (
- purse_requests_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- merge_pub bytea NOT NULL,
- purse_creation bigint NOT NULL,
- purse_expiration bigint NOT NULL,
- h_contract_terms bytea NOT NULL,
- age_limit integer NOT NULL,
- flags integer NOT NULL,
- refunded boolean DEFAULT false NOT NULL,
- finished boolean DEFAULT false NOT NULL,
- in_reserve_quota boolean DEFAULT false NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- purse_fee_val bigint NOT NULL,
- purse_fee_frac integer NOT NULL,
- balance_val bigint DEFAULT 0 NOT NULL,
- balance_frac integer DEFAULT 0 NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT purse_requests_h_contract_terms_check CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT purse_requests_merge_pub_check CHECK ((length(merge_pub) = 32)),
- CONSTRAINT purse_requests_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT purse_requests_purse_sig_check CHECK ((length(purse_sig) = 64))
-);
-ALTER TABLE ONLY exchange.purse_requests ATTACH PARTITION exchange.purse_requests_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_requests_purse_requests_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.purse_requests ALTER COLUMN purse_requests_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.purse_requests_purse_requests_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: recoup; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup (
- recoup_uuid bigint NOT NULL,
- coin_pub bytea NOT NULL,
- coin_sig bytea NOT NULL,
- coin_blind bytea NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- recoup_timestamp bigint NOT NULL,
- reserve_out_serial_id bigint NOT NULL,
- CONSTRAINT recoup_coin_blind_check CHECK ((length(coin_blind) = 32)),
- CONSTRAINT recoup_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT recoup_coin_sig_check CHECK ((length(coin_sig) = 64))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE recoup; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.recoup IS 'Information about recoups that were executed between a coin and a reserve. In this type of recoup, the amount is credited back to the reserve from which the coin originated.';
-
-
---
--- Name: COLUMN recoup.coin_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup.coin_pub IS 'Coin that is being debited in the recoup. Do not CASCADE ON DROP on the coin_pub, as we may keep the coin alive!';
-
-
---
--- Name: COLUMN recoup.coin_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup.coin_sig IS 'Signature by the coin affirming the recoup, of type TALER_SIGNATURE_WALLET_COIN_RECOUP';
-
-
---
--- Name: COLUMN recoup.coin_blind; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup.coin_blind IS 'Denomination blinding key used when creating the blinded coin from the planchet. Secret revealed during the recoup to provide the linkage between the coin and the withdraw operation.';
-
-
---
--- Name: COLUMN recoup.reserve_out_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup.reserve_out_serial_id IS 'Identifies the h_blind_ev of the recouped coin and provides the link to the credited reserve.';
-
-
---
--- Name: recoup_by_reserve; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup_by_reserve (
- reserve_out_serial_id bigint NOT NULL,
- coin_pub bytea,
- CONSTRAINT recoup_by_reserve_coin_pub_check CHECK ((length(coin_pub) = 32))
-)
-PARTITION BY HASH (reserve_out_serial_id);
-
-
---
--- Name: TABLE recoup_by_reserve; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.recoup_by_reserve IS 'Information in this table is strictly redundant with that of recoup, but saved by a different primary key for fast lookups by reserve_out_serial_id.';
-
-
---
--- Name: recoup_by_reserve_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup_by_reserve_default (
- reserve_out_serial_id bigint NOT NULL,
- coin_pub bytea,
- CONSTRAINT recoup_by_reserve_coin_pub_check CHECK ((length(coin_pub) = 32))
-);
-ALTER TABLE ONLY exchange.recoup_by_reserve ATTACH PARTITION exchange.recoup_by_reserve_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: recoup_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup_default (
- recoup_uuid bigint NOT NULL,
- coin_pub bytea NOT NULL,
- coin_sig bytea NOT NULL,
- coin_blind bytea NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- recoup_timestamp bigint NOT NULL,
- reserve_out_serial_id bigint NOT NULL,
- CONSTRAINT recoup_coin_blind_check CHECK ((length(coin_blind) = 32)),
- CONSTRAINT recoup_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT recoup_coin_sig_check CHECK ((length(coin_sig) = 64))
-);
-ALTER TABLE ONLY exchange.recoup ATTACH PARTITION exchange.recoup_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: recoup_recoup_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.recoup ALTER COLUMN recoup_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.recoup_recoup_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: recoup_refresh; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup_refresh (
- recoup_refresh_uuid bigint NOT NULL,
- coin_pub bytea NOT NULL,
- known_coin_id bigint NOT NULL,
- coin_sig bytea NOT NULL,
- coin_blind bytea NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- recoup_timestamp bigint NOT NULL,
- rrc_serial bigint NOT NULL,
- CONSTRAINT recoup_refresh_coin_blind_check CHECK ((length(coin_blind) = 32)),
- CONSTRAINT recoup_refresh_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT recoup_refresh_coin_sig_check CHECK ((length(coin_sig) = 64))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE recoup_refresh; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.recoup_refresh IS 'Table of coins that originated from a refresh operation and that were recouped. Links the (fresh) coin to the melted operation (and thus the old coin). A recoup on a refreshed coin credits the old coin and debits the fresh coin.';
-
-
---
--- Name: COLUMN recoup_refresh.coin_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup_refresh.coin_pub IS 'Refreshed coin of a revoked denomination where the residual value is credited to the old coin. Do not CASCADE ON DROP on the coin_pub, as we may keep the coin alive!';
-
-
---
--- Name: COLUMN recoup_refresh.known_coin_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup_refresh.known_coin_id IS 'FIXME: (To be) used for garbage collection (in the future)';
-
-
---
--- Name: COLUMN recoup_refresh.coin_blind; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup_refresh.coin_blind IS 'Denomination blinding key used when creating the blinded coin from the planchet. Secret revealed during the recoup to provide the linkage between the coin and the refresh operation.';
-
-
---
--- Name: COLUMN recoup_refresh.rrc_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup_refresh.rrc_serial IS 'Link to the refresh operation. Also identifies the h_blind_ev of the recouped coin (as h_coin_ev).';
-
-
---
--- Name: recoup_refresh_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup_refresh_default (
- recoup_refresh_uuid bigint NOT NULL,
- coin_pub bytea NOT NULL,
- known_coin_id bigint NOT NULL,
- coin_sig bytea NOT NULL,
- coin_blind bytea NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- recoup_timestamp bigint NOT NULL,
- rrc_serial bigint NOT NULL,
- CONSTRAINT recoup_refresh_coin_blind_check CHECK ((length(coin_blind) = 32)),
- CONSTRAINT recoup_refresh_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT recoup_refresh_coin_sig_check CHECK ((length(coin_sig) = 64))
-);
-ALTER TABLE ONLY exchange.recoup_refresh ATTACH PARTITION exchange.recoup_refresh_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: recoup_refresh_recoup_refresh_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.recoup_refresh ALTER COLUMN recoup_refresh_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.recoup_refresh_recoup_refresh_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: refresh_commitments; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_commitments (
- melt_serial_id bigint NOT NULL,
- rc bytea NOT NULL,
- old_coin_pub bytea NOT NULL,
- old_coin_sig bytea NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- noreveal_index integer NOT NULL,
- CONSTRAINT refresh_commitments_old_coin_sig_check CHECK ((length(old_coin_sig) = 64)),
- CONSTRAINT refresh_commitments_rc_check CHECK ((length(rc) = 64))
-)
-PARTITION BY HASH (rc);
-
-
---
--- Name: TABLE refresh_commitments; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.refresh_commitments IS 'Commitments made when melting coins and the gamma value chosen by the exchange.';
-
-
---
--- Name: COLUMN refresh_commitments.rc; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_commitments.rc IS 'Commitment made by the client, hash over the various client inputs in the cut-and-choose protocol';
-
-
---
--- Name: COLUMN refresh_commitments.old_coin_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_commitments.old_coin_pub IS 'Coin being melted in the refresh process.';
-
-
---
--- Name: COLUMN refresh_commitments.noreveal_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_commitments.noreveal_index IS 'The gamma value chosen by the exchange in the cut-and-choose protocol';
-
-
---
--- Name: refresh_commitments_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_commitments_default (
- melt_serial_id bigint NOT NULL,
- rc bytea NOT NULL,
- old_coin_pub bytea NOT NULL,
- old_coin_sig bytea NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- noreveal_index integer NOT NULL,
- CONSTRAINT refresh_commitments_old_coin_sig_check CHECK ((length(old_coin_sig) = 64)),
- CONSTRAINT refresh_commitments_rc_check CHECK ((length(rc) = 64))
-);
-ALTER TABLE ONLY exchange.refresh_commitments ATTACH PARTITION exchange.refresh_commitments_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refresh_commitments_melt_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.refresh_commitments ALTER COLUMN melt_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.refresh_commitments_melt_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: refresh_revealed_coins; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_revealed_coins (
- rrc_serial bigint NOT NULL,
- melt_serial_id bigint NOT NULL,
- freshcoin_index integer NOT NULL,
- link_sig bytea NOT NULL,
- denominations_serial bigint NOT NULL,
- coin_ev bytea NOT NULL,
- h_coin_ev bytea NOT NULL,
- ev_sig bytea NOT NULL,
- ewv bytea NOT NULL,
- CONSTRAINT refresh_revealed_coins_h_coin_ev_check CHECK ((length(h_coin_ev) = 64)),
- CONSTRAINT refresh_revealed_coins_link_sig_check CHECK ((length(link_sig) = 64))
-)
-PARTITION BY HASH (melt_serial_id);
-
-
---
--- Name: TABLE refresh_revealed_coins; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.refresh_revealed_coins IS 'Revelations about the new coins that are to be created during a melting session.';
-
-
---
--- Name: COLUMN refresh_revealed_coins.rrc_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.rrc_serial IS 'needed for exchange-auditor replication logic';
-
-
---
--- Name: COLUMN refresh_revealed_coins.melt_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.melt_serial_id IS 'Identifies the refresh commitment (rc) of the melt operation.';
-
-
---
--- Name: COLUMN refresh_revealed_coins.freshcoin_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.freshcoin_index IS 'index of the fresh coin being created (one melt operation may result in multiple fresh coins)';
-
-
---
--- Name: COLUMN refresh_revealed_coins.coin_ev; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.coin_ev IS 'envelope of the new coin to be signed';
-
-
---
--- Name: COLUMN refresh_revealed_coins.h_coin_ev; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.h_coin_ev IS 'hash of the envelope of the new coin to be signed (for lookups)';
-
-
---
--- Name: COLUMN refresh_revealed_coins.ev_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.ev_sig IS 'exchange signature over the envelope';
-
-
---
--- Name: COLUMN refresh_revealed_coins.ewv; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.ewv IS 'exchange contributed values in the creation of the fresh coin (see /csr)';
-
-
---
--- Name: refresh_revealed_coins_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_revealed_coins_default (
- rrc_serial bigint NOT NULL,
- melt_serial_id bigint NOT NULL,
- freshcoin_index integer NOT NULL,
- link_sig bytea NOT NULL,
- denominations_serial bigint NOT NULL,
- coin_ev bytea NOT NULL,
- h_coin_ev bytea NOT NULL,
- ev_sig bytea NOT NULL,
- ewv bytea NOT NULL,
- CONSTRAINT refresh_revealed_coins_h_coin_ev_check CHECK ((length(h_coin_ev) = 64)),
- CONSTRAINT refresh_revealed_coins_link_sig_check CHECK ((length(link_sig) = 64))
-);
-ALTER TABLE ONLY exchange.refresh_revealed_coins ATTACH PARTITION exchange.refresh_revealed_coins_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refresh_revealed_coins_rrc_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.refresh_revealed_coins ALTER COLUMN rrc_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.refresh_revealed_coins_rrc_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: refresh_transfer_keys; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_transfer_keys (
- rtc_serial bigint NOT NULL,
- melt_serial_id bigint NOT NULL,
- transfer_pub bytea NOT NULL,
- transfer_privs bytea NOT NULL,
- CONSTRAINT refresh_transfer_keys_transfer_pub_check CHECK ((length(transfer_pub) = 32))
-)
-PARTITION BY HASH (melt_serial_id);
-
-
---
--- Name: TABLE refresh_transfer_keys; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.refresh_transfer_keys IS 'Transfer keys of a refresh operation (the data revealed to the exchange).';
-
-
---
--- Name: COLUMN refresh_transfer_keys.rtc_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_transfer_keys.rtc_serial IS 'needed for exchange-auditor replication logic';
-
-
---
--- Name: COLUMN refresh_transfer_keys.melt_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_transfer_keys.melt_serial_id IS 'Identifies the refresh commitment (rc) of the operation.';
-
-
---
--- Name: COLUMN refresh_transfer_keys.transfer_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_transfer_keys.transfer_pub IS 'transfer public key for the gamma index';
-
-
---
--- Name: COLUMN refresh_transfer_keys.transfer_privs; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_transfer_keys.transfer_privs IS 'array of TALER_CNC_KAPPA - 1 transfer private keys that have been revealed, with the gamma entry being skipped';
-
-
---
--- Name: refresh_transfer_keys_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_transfer_keys_default (
- rtc_serial bigint NOT NULL,
- melt_serial_id bigint NOT NULL,
- transfer_pub bytea NOT NULL,
- transfer_privs bytea NOT NULL,
- CONSTRAINT refresh_transfer_keys_transfer_pub_check CHECK ((length(transfer_pub) = 32))
-);
-ALTER TABLE ONLY exchange.refresh_transfer_keys ATTACH PARTITION exchange.refresh_transfer_keys_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refresh_transfer_keys_rtc_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.refresh_transfer_keys ALTER COLUMN rtc_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.refresh_transfer_keys_rtc_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: refunds; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refunds (
- refund_serial_id bigint NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint NOT NULL,
- merchant_sig bytea NOT NULL,
- rtransaction_id bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- CONSTRAINT refunds_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT refunds_merchant_sig_check CHECK ((length(merchant_sig) = 64))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE refunds; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.refunds IS 'Data on coins that were refunded. Technically, refunds always apply against specific deposit operations involving a coin. The combination of coin_pub, merchant_pub, h_contract_terms and rtransaction_id MUST be unique, and we usually select by coin_pub so that one goes first.';
-
-
---
--- Name: COLUMN refunds.deposit_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refunds.deposit_serial_id IS 'Identifies ONLY the merchant_pub, h_contract_terms and coin_pub. Multiple deposits may match a refund, this only identifies one of them.';
-
-
---
--- Name: COLUMN refunds.rtransaction_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refunds.rtransaction_id IS 'used by the merchant to make refunds unique in case the same coin for the same deposit gets a subsequent (higher) refund';
-
-
---
--- Name: refunds_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refunds_default (
- refund_serial_id bigint NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint NOT NULL,
- merchant_sig bytea NOT NULL,
- rtransaction_id bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- CONSTRAINT refunds_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT refunds_merchant_sig_check CHECK ((length(merchant_sig) = 64))
-);
-ALTER TABLE ONLY exchange.refunds ATTACH PARTITION exchange.refunds_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refunds_refund_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.refunds ALTER COLUMN refund_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.refunds_refund_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: reserves; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves (
- reserve_uuid bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- current_balance_val bigint DEFAULT 0 NOT NULL,
- current_balance_frac integer DEFAULT 0 NOT NULL,
- purses_active bigint DEFAULT 0 NOT NULL,
- purses_allowed bigint DEFAULT 0 NOT NULL,
- max_age integer DEFAULT 120 NOT NULL,
- expiration_date bigint NOT NULL,
- gc_date bigint NOT NULL,
- CONSTRAINT reserves_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE reserves; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.reserves IS 'Summarizes the balance of a reserve. Updated when new funds are added or withdrawn.';
-
-
---
--- Name: COLUMN reserves.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.reserve_pub IS 'EdDSA public key of the reserve. Knowledge of the private key implies ownership over the balance.';
-
-
---
--- Name: COLUMN reserves.current_balance_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.current_balance_val IS 'Current balance remaining with the reserve.';
-
-
---
--- Name: COLUMN reserves.purses_active; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.purses_active IS 'Number of purses that were created by this reserve that are not expired and not fully paid.';
-
-
---
--- Name: COLUMN reserves.purses_allowed; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.purses_allowed IS 'Number of purses that this reserve is allowed to have active at most.';
-
-
---
--- Name: COLUMN reserves.expiration_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.expiration_date IS 'Used to trigger closing of reserves that have not been drained after some time';
-
-
---
--- Name: COLUMN reserves.gc_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.gc_date IS 'Used to forget all information about a reserve during garbage collection';
-
-
---
--- Name: reserves_close; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_close (
- close_uuid bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- execution_date bigint NOT NULL,
- wtid bytea NOT NULL,
- wire_target_h_payto bytea,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- closing_fee_val bigint NOT NULL,
- closing_fee_frac integer NOT NULL,
- CONSTRAINT reserves_close_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT reserves_close_wtid_check CHECK ((length(wtid) = 32))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE reserves_close; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.reserves_close IS 'wire transfers executed by the reserve to close reserves';
-
-
---
--- Name: COLUMN reserves_close.wire_target_h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_close.wire_target_h_payto IS 'Identifies the credited bank account (and KYC status). Note that closing does not depend on KYC.';
-
-
---
--- Name: reserves_close_close_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.reserves_close ALTER COLUMN close_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.reserves_close_close_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: reserves_close_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_close_default (
- close_uuid bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- execution_date bigint NOT NULL,
- wtid bytea NOT NULL,
- wire_target_h_payto bytea,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- closing_fee_val bigint NOT NULL,
- closing_fee_frac integer NOT NULL,
- CONSTRAINT reserves_close_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT reserves_close_wtid_check CHECK ((length(wtid) = 32))
-);
-ALTER TABLE ONLY exchange.reserves_close ATTACH PARTITION exchange.reserves_close_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_default (
- reserve_uuid bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- current_balance_val bigint DEFAULT 0 NOT NULL,
- current_balance_frac integer DEFAULT 0 NOT NULL,
- purses_active bigint DEFAULT 0 NOT NULL,
- purses_allowed bigint DEFAULT 0 NOT NULL,
- max_age integer DEFAULT 120 NOT NULL,
- expiration_date bigint NOT NULL,
- gc_date bigint NOT NULL,
- CONSTRAINT reserves_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-);
-ALTER TABLE ONLY exchange.reserves ATTACH PARTITION exchange.reserves_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_in; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_in (
- reserve_in_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- wire_reference bigint NOT NULL,
- credit_val bigint NOT NULL,
- credit_frac integer NOT NULL,
- wire_source_h_payto bytea,
- exchange_account_section text NOT NULL,
- execution_date bigint NOT NULL,
- CONSTRAINT reserves_in_wire_source_h_payto_check CHECK ((length(wire_source_h_payto) = 32))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE reserves_in; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.reserves_in IS 'list of transfers of funds into the reserves, one per incoming wire transfer';
-
-
---
--- Name: COLUMN reserves_in.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_in.reserve_pub IS 'Public key of the reserve. Private key signifies ownership of the remaining balance.';
-
-
---
--- Name: COLUMN reserves_in.credit_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_in.credit_val IS 'Amount that was transferred into the reserve';
-
-
---
--- Name: COLUMN reserves_in.wire_source_h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_in.wire_source_h_payto IS 'Identifies the debited bank account and KYC status';
-
-
---
--- Name: reserves_in_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_in_default (
- reserve_in_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- wire_reference bigint NOT NULL,
- credit_val bigint NOT NULL,
- credit_frac integer NOT NULL,
- wire_source_h_payto bytea,
- exchange_account_section text NOT NULL,
- execution_date bigint NOT NULL,
- CONSTRAINT reserves_in_wire_source_h_payto_check CHECK ((length(wire_source_h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.reserves_in ATTACH PARTITION exchange.reserves_in_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_in_reserve_in_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.reserves_in ALTER COLUMN reserve_in_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.reserves_in_reserve_in_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: reserves_out; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_out (
- reserve_out_serial_id bigint NOT NULL,
- h_blind_ev bytea,
- denominations_serial bigint NOT NULL,
- denom_sig bytea NOT NULL,
- reserve_uuid bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- execution_date bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- CONSTRAINT reserves_out_h_blind_ev_check CHECK ((length(h_blind_ev) = 64)),
- CONSTRAINT reserves_out_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-)
-PARTITION BY HASH (h_blind_ev);
-
-
---
--- Name: TABLE reserves_out; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.reserves_out IS 'Withdraw operations performed on reserves.';
-
-
---
--- Name: COLUMN reserves_out.h_blind_ev; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_out.h_blind_ev IS 'Hash of the blinded coin, used as primary key here so that broken clients that use a non-random coin or blinding factor fail to withdraw (otherwise they would fail on deposit when the coin is not unique there).';
-
-
---
--- Name: COLUMN reserves_out.denominations_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_out.denominations_serial IS 'We do not CASCADE ON DELETE here, we may keep the denomination data alive';
-
-
---
--- Name: reserves_out_by_reserve; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_out_by_reserve (
- reserve_uuid bigint NOT NULL,
- h_blind_ev bytea,
- CONSTRAINT reserves_out_by_reserve_h_blind_ev_check CHECK ((length(h_blind_ev) = 64))
-)
-PARTITION BY HASH (reserve_uuid);
-
-
---
--- Name: TABLE reserves_out_by_reserve; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.reserves_out_by_reserve IS 'Information in this table is strictly redundant with that of reserves_out, but saved by a different primary key for fast lookups by reserve public key/uuid.';
-
-
---
--- Name: reserves_out_by_reserve_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_out_by_reserve_default (
- reserve_uuid bigint NOT NULL,
- h_blind_ev bytea,
- CONSTRAINT reserves_out_by_reserve_h_blind_ev_check CHECK ((length(h_blind_ev) = 64))
-);
-ALTER TABLE ONLY exchange.reserves_out_by_reserve ATTACH PARTITION exchange.reserves_out_by_reserve_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_out_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_out_default (
- reserve_out_serial_id bigint NOT NULL,
- h_blind_ev bytea,
- denominations_serial bigint NOT NULL,
- denom_sig bytea NOT NULL,
- reserve_uuid bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- execution_date bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- CONSTRAINT reserves_out_h_blind_ev_check CHECK ((length(h_blind_ev) = 64)),
- CONSTRAINT reserves_out_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-);
-ALTER TABLE ONLY exchange.reserves_out ATTACH PARTITION exchange.reserves_out_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_out_reserve_out_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.reserves_out ALTER COLUMN reserve_out_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.reserves_out_reserve_out_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: reserves_reserve_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.reserves ALTER COLUMN reserve_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.reserves_reserve_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: revolving_work_shards; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE UNLOGGED TABLE exchange.revolving_work_shards (
- shard_serial_id bigint NOT NULL,
- last_attempt bigint NOT NULL,
- start_row integer NOT NULL,
- end_row integer NOT NULL,
- active boolean DEFAULT false NOT NULL,
- job_name character varying NOT NULL
-);
-
-
---
--- Name: TABLE revolving_work_shards; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.revolving_work_shards IS 'coordinates work between multiple processes working on the same job with partitions that need to be repeatedly processed; unlogged because on system crashes the locks represented by this table will have to be cleared anyway, typically using "taler-exchange-dbinit -s"';
-
-
---
--- Name: COLUMN revolving_work_shards.shard_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.shard_serial_id IS 'unique serial number identifying the shard';
-
-
---
--- Name: COLUMN revolving_work_shards.last_attempt; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.last_attempt IS 'last time a worker attempted to work on the shard';
-
-
---
--- Name: COLUMN revolving_work_shards.start_row; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.start_row IS 'row at which the shard scope starts, inclusive';
-
-
---
--- Name: COLUMN revolving_work_shards.end_row; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.end_row IS 'row at which the shard scope ends, exclusive';
-
-
---
--- Name: COLUMN revolving_work_shards.active; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.active IS 'set to TRUE when a worker is active on the shard';
-
-
---
--- Name: COLUMN revolving_work_shards.job_name; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.job_name IS 'unique name of the job the workers on this shard are performing';
-
-
---
--- Name: revolving_work_shards_shard_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.revolving_work_shards ALTER COLUMN shard_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.revolving_work_shards_shard_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: signkey_revocations; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.signkey_revocations (
- signkey_revocations_serial_id bigint NOT NULL,
- esk_serial bigint NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT signkey_revocations_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE signkey_revocations; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.signkey_revocations IS 'Table storing which online signing keys have been revoked';
-
-
---
--- Name: signkey_revocations_signkey_revocations_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.signkey_revocations ALTER COLUMN signkey_revocations_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.signkey_revocations_signkey_revocations_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wad_in_entries; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wad_in_entries (
- wad_in_entry_serial_id bigint NOT NULL,
- wad_in_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- h_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- merge_timestamp bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- deposit_fees_val bigint NOT NULL,
- deposit_fees_frac integer NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT wad_in_entries_h_contract_check CHECK ((length(h_contract) = 64)),
- CONSTRAINT wad_in_entries_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT wad_in_entries_purse_sig_check CHECK ((length(purse_sig) = 64)),
- CONSTRAINT wad_in_entries_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT wad_in_entries_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE wad_in_entries; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wad_in_entries IS 'list of purses aggregated in a wad according to the sending exchange';
-
-
---
--- Name: COLUMN wad_in_entries.wad_in_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.wad_in_serial_id IS 'wad for which the given purse was included in the aggregation';
-
-
---
--- Name: COLUMN wad_in_entries.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.reserve_pub IS 'target account of the purse (must be at the local exchange)';
-
-
---
--- Name: COLUMN wad_in_entries.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.purse_pub IS 'public key of the purse that was merged';
-
-
---
--- Name: COLUMN wad_in_entries.h_contract; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.h_contract IS 'hash of the contract terms of the purse';
-
-
---
--- Name: COLUMN wad_in_entries.purse_expiration; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.purse_expiration IS 'Time when the purse was set to expire';
-
-
---
--- Name: COLUMN wad_in_entries.merge_timestamp; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.merge_timestamp IS 'Time when the merge was approved';
-
-
---
--- Name: COLUMN wad_in_entries.amount_with_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.amount_with_fee_val IS 'Total amount in the purse';
-
-
---
--- Name: COLUMN wad_in_entries.wad_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.wad_fee_val IS 'Total wad fees paid by the purse';
-
-
---
--- Name: COLUMN wad_in_entries.deposit_fees_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.deposit_fees_val IS 'Total deposit fees paid when depositing coins into the purse';
-
-
---
--- Name: COLUMN wad_in_entries.reserve_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.reserve_sig IS 'Signature by the receiving reserve, of purpose TALER_SIGNATURE_ACCOUNT_MERGE';
-
-
---
--- Name: COLUMN wad_in_entries.purse_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.purse_sig IS 'Signature by the purse of purpose TALER_SIGNATURE_PURSE_MERGE';
-
-
---
--- Name: wad_in_entries_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wad_in_entries_default (
- wad_in_entry_serial_id bigint NOT NULL,
- wad_in_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- h_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- merge_timestamp bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- deposit_fees_val bigint NOT NULL,
- deposit_fees_frac integer NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT wad_in_entries_h_contract_check CHECK ((length(h_contract) = 64)),
- CONSTRAINT wad_in_entries_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT wad_in_entries_purse_sig_check CHECK ((length(purse_sig) = 64)),
- CONSTRAINT wad_in_entries_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT wad_in_entries_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-);
-ALTER TABLE ONLY exchange.wad_in_entries ATTACH PARTITION exchange.wad_in_entries_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wad_in_entries_wad_in_entry_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wad_in_entries ALTER COLUMN wad_in_entry_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wad_in_entries_wad_in_entry_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wad_out_entries; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wad_out_entries (
- wad_out_entry_serial_id bigint NOT NULL,
- wad_out_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- h_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- merge_timestamp bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- deposit_fees_val bigint NOT NULL,
- deposit_fees_frac integer NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT wad_out_entries_h_contract_check CHECK ((length(h_contract) = 64)),
- CONSTRAINT wad_out_entries_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT wad_out_entries_purse_sig_check CHECK ((length(purse_sig) = 64)),
- CONSTRAINT wad_out_entries_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT wad_out_entries_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE wad_out_entries; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wad_out_entries IS 'Purses combined into a wad';
-
-
---
--- Name: COLUMN wad_out_entries.wad_out_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.wad_out_serial_id IS 'Wad the purse was part of';
-
-
---
--- Name: COLUMN wad_out_entries.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.reserve_pub IS 'Target reserve for the purse';
-
-
---
--- Name: COLUMN wad_out_entries.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: COLUMN wad_out_entries.h_contract; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.h_contract IS 'Hash of the contract associated with the purse';
-
-
---
--- Name: COLUMN wad_out_entries.purse_expiration; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.purse_expiration IS 'Time when the purse expires';
-
-
---
--- Name: COLUMN wad_out_entries.merge_timestamp; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.merge_timestamp IS 'Time when the merge was approved';
-
-
---
--- Name: COLUMN wad_out_entries.amount_with_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.amount_with_fee_val IS 'Total amount in the purse';
-
-
---
--- Name: COLUMN wad_out_entries.wad_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.wad_fee_val IS 'Wat fee charged to the purse';
-
-
---
--- Name: COLUMN wad_out_entries.deposit_fees_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.deposit_fees_val IS 'Total deposit fees charged to the purse';
-
-
---
--- Name: COLUMN wad_out_entries.reserve_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.reserve_sig IS 'Signature by the receiving reserve, of purpose TALER_SIGNATURE_ACCOUNT_MERGE';
-
-
---
--- Name: COLUMN wad_out_entries.purse_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.purse_sig IS 'Signature by the purse of purpose TALER_SIGNATURE_PURSE_MERGE';
-
-
---
--- Name: wad_out_entries_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wad_out_entries_default (
- wad_out_entry_serial_id bigint NOT NULL,
- wad_out_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- h_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- merge_timestamp bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- deposit_fees_val bigint NOT NULL,
- deposit_fees_frac integer NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT wad_out_entries_h_contract_check CHECK ((length(h_contract) = 64)),
- CONSTRAINT wad_out_entries_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT wad_out_entries_purse_sig_check CHECK ((length(purse_sig) = 64)),
- CONSTRAINT wad_out_entries_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT wad_out_entries_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-);
-ALTER TABLE ONLY exchange.wad_out_entries ATTACH PARTITION exchange.wad_out_entries_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wad_out_entries_wad_out_entry_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wad_out_entries ALTER COLUMN wad_out_entry_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wad_out_entries_wad_out_entry_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wads_in; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wads_in (
- wad_in_serial_id bigint NOT NULL,
- wad_id bytea NOT NULL,
- origin_exchange_url text NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- arrival_time bigint NOT NULL,
- CONSTRAINT wads_in_wad_id_check CHECK ((length(wad_id) = 24))
-)
-PARTITION BY HASH (wad_id);
-
-
---
--- Name: TABLE wads_in; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wads_in IS 'Incoming exchange-to-exchange wad wire transfers';
-
-
---
--- Name: COLUMN wads_in.wad_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_in.wad_id IS 'Unique identifier of the wad, part of the wire transfer subject';
-
-
---
--- Name: COLUMN wads_in.origin_exchange_url; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_in.origin_exchange_url IS 'Base URL of the originating URL, also part of the wire transfer subject';
-
-
---
--- Name: COLUMN wads_in.amount_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_in.amount_val IS 'Actual amount that was received by our exchange';
-
-
---
--- Name: COLUMN wads_in.arrival_time; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_in.arrival_time IS 'Time when the wad was received';
-
-
---
--- Name: wads_in_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wads_in_default (
- wad_in_serial_id bigint NOT NULL,
- wad_id bytea NOT NULL,
- origin_exchange_url text NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- arrival_time bigint NOT NULL,
- CONSTRAINT wads_in_wad_id_check CHECK ((length(wad_id) = 24))
-);
-ALTER TABLE ONLY exchange.wads_in ATTACH PARTITION exchange.wads_in_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wads_in_wad_in_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wads_in ALTER COLUMN wad_in_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wads_in_wad_in_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wads_out; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wads_out (
- wad_out_serial_id bigint NOT NULL,
- wad_id bytea NOT NULL,
- partner_serial_id bigint NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- execution_time bigint NOT NULL,
- CONSTRAINT wads_out_wad_id_check CHECK ((length(wad_id) = 24))
-)
-PARTITION BY HASH (wad_id);
-
-
---
--- Name: TABLE wads_out; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wads_out IS 'Wire transfers made to another exchange to transfer purse funds';
-
-
---
--- Name: COLUMN wads_out.wad_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_out.wad_id IS 'Unique identifier of the wad, part of the wire transfer subject';
-
-
---
--- Name: COLUMN wads_out.partner_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_out.partner_serial_id IS 'target exchange of the wad';
-
-
---
--- Name: COLUMN wads_out.amount_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_out.amount_val IS 'Amount that was wired';
-
-
---
--- Name: COLUMN wads_out.execution_time; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_out.execution_time IS 'Time when the wire transfer was scheduled';
-
-
---
--- Name: wads_out_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wads_out_default (
- wad_out_serial_id bigint NOT NULL,
- wad_id bytea NOT NULL,
- partner_serial_id bigint NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- execution_time bigint NOT NULL,
- CONSTRAINT wads_out_wad_id_check CHECK ((length(wad_id) = 24))
-);
-ALTER TABLE ONLY exchange.wads_out ATTACH PARTITION exchange.wads_out_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wads_out_wad_out_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wads_out ALTER COLUMN wad_out_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wads_out_wad_out_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wire_accounts; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_accounts (
- payto_uri character varying NOT NULL,
- master_sig bytea,
- is_active boolean NOT NULL,
- last_change bigint NOT NULL,
- CONSTRAINT wire_accounts_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE wire_accounts; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wire_accounts IS 'Table with current and historic bank accounts of the exchange. Entries never expire as we need to remember the last_change column indefinitely.';
-
-
---
--- Name: COLUMN wire_accounts.payto_uri; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_accounts.payto_uri IS 'payto URI (RFC 8905) with the bank account of the exchange.';
-
-
---
--- Name: COLUMN wire_accounts.master_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_accounts.master_sig IS 'Signature of purpose TALER_SIGNATURE_MASTER_WIRE_DETAILS';
-
-
---
--- Name: COLUMN wire_accounts.is_active; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_accounts.is_active IS 'true if we are currently supporting the use of this account.';
-
-
---
--- Name: COLUMN wire_accounts.last_change; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_accounts.last_change IS 'Latest time when active status changed. Used to detect replays of old messages.';
-
-
---
--- Name: wire_fee; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_fee (
- wire_fee_serial bigint NOT NULL,
- wire_method character varying NOT NULL,
- start_date bigint NOT NULL,
- end_date bigint NOT NULL,
- wire_fee_val bigint NOT NULL,
- wire_fee_frac integer NOT NULL,
- closing_fee_val bigint NOT NULL,
- closing_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT wire_fee_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE wire_fee; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wire_fee IS 'list of the wire fees of this exchange, by date';
-
-
---
--- Name: COLUMN wire_fee.wire_fee_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_fee.wire_fee_serial IS 'needed for exchange-auditor replication logic';
-
-
---
--- Name: wire_fee_wire_fee_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wire_fee ALTER COLUMN wire_fee_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wire_fee_wire_fee_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wire_out; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_out (
- wireout_uuid bigint NOT NULL,
- execution_date bigint NOT NULL,
- wtid_raw bytea NOT NULL,
- wire_target_h_payto bytea,
- exchange_account_section text NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- CONSTRAINT wire_out_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT wire_out_wtid_raw_check CHECK ((length(wtid_raw) = 32))
-)
-PARTITION BY HASH (wtid_raw);
-
-
---
--- Name: TABLE wire_out; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wire_out IS 'wire transfers the exchange has executed';
-
-
---
--- Name: COLUMN wire_out.wire_target_h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_out.wire_target_h_payto IS 'Identifies the credited bank account and KYC status';
-
-
---
--- Name: COLUMN wire_out.exchange_account_section; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_out.exchange_account_section IS 'identifies the configuration section with the debit account of this payment';
-
-
---
--- Name: wire_out_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_out_default (
- wireout_uuid bigint NOT NULL,
- execution_date bigint NOT NULL,
- wtid_raw bytea NOT NULL,
- wire_target_h_payto bytea,
- exchange_account_section text NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- CONSTRAINT wire_out_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT wire_out_wtid_raw_check CHECK ((length(wtid_raw) = 32))
-);
-ALTER TABLE ONLY exchange.wire_out ATTACH PARTITION exchange.wire_out_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wire_out_wireout_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wire_out ALTER COLUMN wireout_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wire_out_wireout_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wire_targets; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_targets (
- wire_target_serial_id bigint NOT NULL,
- wire_target_h_payto bytea NOT NULL,
- payto_uri character varying NOT NULL,
- CONSTRAINT wire_targets_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32))
-)
-PARTITION BY HASH (wire_target_h_payto);
-
-
---
--- Name: TABLE wire_targets; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wire_targets IS 'All senders and recipients of money via the exchange';
-
-
---
--- Name: COLUMN wire_targets.wire_target_h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_targets.wire_target_h_payto IS 'Unsalted hash of payto_uri';
-
-
---
--- Name: COLUMN wire_targets.payto_uri; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_targets.payto_uri IS 'Can be a regular bank account, or also be a URI identifying a reserve-account (for P2P payments)';
-
-
---
--- Name: wire_targets_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_targets_default (
- wire_target_serial_id bigint NOT NULL,
- wire_target_h_payto bytea NOT NULL,
- payto_uri character varying NOT NULL,
- CONSTRAINT wire_targets_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.wire_targets ATTACH PARTITION exchange.wire_targets_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wire_targets_wire_target_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wire_targets ALTER COLUMN wire_target_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wire_targets_wire_target_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: work_shards; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.work_shards (
- shard_serial_id bigint NOT NULL,
- last_attempt bigint NOT NULL,
- start_row bigint NOT NULL,
- end_row bigint NOT NULL,
- completed boolean DEFAULT false NOT NULL,
- job_name character varying NOT NULL
-);
-
-
---
--- Name: TABLE work_shards; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.work_shards IS 'coordinates work between multiple processes working on the same job';
-
-
---
--- Name: COLUMN work_shards.shard_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.shard_serial_id IS 'unique serial number identifying the shard';
-
-
---
--- Name: COLUMN work_shards.last_attempt; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.last_attempt IS 'last time a worker attempted to work on the shard';
-
-
---
--- Name: COLUMN work_shards.start_row; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.start_row IS 'row at which the shard scope starts, inclusive';
-
-
---
--- Name: COLUMN work_shards.end_row; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.end_row IS 'row at which the shard scope ends, exclusive';
-
-
---
--- Name: COLUMN work_shards.completed; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.completed IS 'set to TRUE once the shard is finished by a worker';
-
-
---
--- Name: COLUMN work_shards.job_name; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.job_name IS 'unique name of the job the workers on this shard are performing';
-
-
---
--- Name: work_shards_shard_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.work_shards ALTER COLUMN shard_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.work_shards_shard_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_accounts; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_accounts (
- account_serial bigint NOT NULL,
- merchant_serial bigint NOT NULL,
- h_wire bytea NOT NULL,
- salt bytea NOT NULL,
- payto_uri character varying NOT NULL,
- active boolean NOT NULL,
- CONSTRAINT merchant_accounts_h_wire_check CHECK ((length(h_wire) = 64)),
- CONSTRAINT merchant_accounts_salt_check CHECK ((length(salt) = 16))
-);
-
-
---
--- Name: TABLE merchant_accounts; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_accounts IS 'bank accounts of the instances';
-
-
---
--- Name: COLUMN merchant_accounts.h_wire; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_accounts.h_wire IS 'salted hash of payto_uri';
-
-
---
--- Name: COLUMN merchant_accounts.salt; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_accounts.salt IS 'salt used when hashing payto_uri into h_wire';
-
-
---
--- Name: COLUMN merchant_accounts.payto_uri; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_accounts.payto_uri IS 'payto URI of a merchant bank account';
-
-
---
--- Name: COLUMN merchant_accounts.active; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_accounts.active IS 'true if we actively use this bank account, false if it is just kept around for older contracts to refer to';
-
-
---
--- Name: merchant_accounts_account_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_accounts ALTER COLUMN account_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_accounts_account_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_contract_terms; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_contract_terms (
- order_serial bigint NOT NULL,
- merchant_serial bigint NOT NULL,
- order_id character varying NOT NULL,
- contract_terms bytea NOT NULL,
- h_contract_terms bytea NOT NULL,
- creation_time bigint NOT NULL,
- pay_deadline bigint NOT NULL,
- refund_deadline bigint NOT NULL,
- paid boolean DEFAULT false NOT NULL,
- wired boolean DEFAULT false NOT NULL,
- fulfillment_url character varying,
- session_id character varying DEFAULT ''::character varying NOT NULL,
- claim_token bytea NOT NULL,
- CONSTRAINT merchant_contract_terms_claim_token_check CHECK ((length(claim_token) = 16)),
- CONSTRAINT merchant_contract_terms_h_contract_terms_check CHECK ((length(h_contract_terms) = 64))
-);
-
-
---
--- Name: TABLE merchant_contract_terms; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_contract_terms IS 'Contracts are orders that have been claimed by a wallet';
-
-
---
--- Name: COLUMN merchant_contract_terms.merchant_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.merchant_serial IS 'Identifies the instance offering the contract';
-
-
---
--- Name: COLUMN merchant_contract_terms.order_id; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.order_id IS 'Not a foreign key into merchant_orders because paid contracts persist after expiration';
-
-
---
--- Name: COLUMN merchant_contract_terms.contract_terms; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.contract_terms IS 'These contract terms include the wallet nonce';
-
-
---
--- Name: COLUMN merchant_contract_terms.h_contract_terms; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.h_contract_terms IS 'Hash over contract_terms';
-
-
---
--- Name: COLUMN merchant_contract_terms.pay_deadline; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.pay_deadline IS 'How long is the offer valid. After this time, the order can be garbage collected';
-
-
---
--- Name: COLUMN merchant_contract_terms.refund_deadline; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.refund_deadline IS 'By what times do refunds have to be approved (useful to reject refund requests)';
-
-
---
--- Name: COLUMN merchant_contract_terms.paid; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.paid IS 'true implies the customer paid for this contract; order should be DELETEd from merchant_orders once paid is set to release merchant_order_locks; paid remains true even if the payment was later refunded';
-
-
---
--- Name: COLUMN merchant_contract_terms.wired; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.wired IS 'true implies the exchange wired us the full amount for all non-refunded payments under this contract';
-
-
---
--- Name: COLUMN merchant_contract_terms.fulfillment_url; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.fulfillment_url IS 'also included in contract_terms, but we need it here to SELECT on it during repurchase detection; can be NULL if the contract has no fulfillment URL';
-
-
---
--- Name: COLUMN merchant_contract_terms.session_id; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.session_id IS 'last session_id from we confirmed the paying client to use, empty string for none';
-
-
---
--- Name: COLUMN merchant_contract_terms.claim_token; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.claim_token IS 'Token optionally used to access the status of the order. All zeros (not NULL) if not used';
-
-
---
--- Name: merchant_deposit_to_transfer; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_deposit_to_transfer (
- deposit_serial bigint NOT NULL,
- coin_contribution_value_val bigint NOT NULL,
- coin_contribution_value_frac integer NOT NULL,
- credit_serial bigint NOT NULL,
- execution_time bigint NOT NULL,
- signkey_serial bigint NOT NULL,
- exchange_sig bytea NOT NULL,
- CONSTRAINT merchant_deposit_to_transfer_exchange_sig_check CHECK ((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_deposit_to_transfer; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_deposit_to_transfer IS 'Mapping of deposits to (possibly unconfirmed) wire transfers; NOTE: not used yet';
-
-
---
--- Name: COLUMN merchant_deposit_to_transfer.execution_time; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_deposit_to_transfer.execution_time IS 'Execution time as claimed by the exchange, roughly matches time seen by merchant';
-
-
---
--- Name: merchant_deposits; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_deposits (
- deposit_serial bigint NOT NULL,
- order_serial bigint,
- deposit_timestamp bigint NOT NULL,
- coin_pub bytea NOT NULL,
- exchange_url character varying NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- deposit_fee_val bigint NOT NULL,
- deposit_fee_frac integer NOT NULL,
- refund_fee_val bigint NOT NULL,
- refund_fee_frac integer NOT NULL,
- wire_fee_val bigint NOT NULL,
- wire_fee_frac integer NOT NULL,
- signkey_serial bigint NOT NULL,
- exchange_sig bytea NOT NULL,
- account_serial bigint NOT NULL,
- CONSTRAINT merchant_deposits_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT merchant_deposits_exchange_sig_check CHECK ((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_deposits; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_deposits IS 'Refunds approved by the merchant (backoffice) logic, excludes abort refunds';
-
-
---
--- Name: COLUMN merchant_deposits.deposit_timestamp; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_deposits.deposit_timestamp IS 'Time when the exchange generated the deposit confirmation';
-
-
---
--- Name: COLUMN merchant_deposits.wire_fee_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_deposits.wire_fee_val IS 'We MAY want to see if we should try to get this via merchant_exchange_wire_fees (not sure, may be too complicated with the date range, etc.)';
-
-
---
--- Name: COLUMN merchant_deposits.signkey_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_deposits.signkey_serial IS 'Online signing key of the exchange on the deposit confirmation';
-
-
---
--- Name: COLUMN merchant_deposits.exchange_sig; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_deposits.exchange_sig IS 'Signature of the exchange over the deposit confirmation';
-
-
---
--- Name: merchant_deposits_deposit_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_deposits ALTER COLUMN deposit_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_deposits_deposit_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_exchange_signing_keys; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_exchange_signing_keys (
- signkey_serial bigint NOT NULL,
- master_pub bytea NOT NULL,
- exchange_pub bytea NOT NULL,
- start_date bigint NOT NULL,
- expire_date bigint NOT NULL,
- end_date bigint NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT merchant_exchange_signing_keys_exchange_pub_check CHECK ((length(exchange_pub) = 32)),
- CONSTRAINT merchant_exchange_signing_keys_master_pub_check CHECK ((length(master_pub) = 32)),
- CONSTRAINT merchant_exchange_signing_keys_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_exchange_signing_keys; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_exchange_signing_keys IS 'Here we store proofs of the exchange online signing keys being signed by the exchange master key';
-
-
---
--- Name: COLUMN merchant_exchange_signing_keys.master_pub; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_exchange_signing_keys.master_pub IS 'Master public key of the exchange with these online signing keys';
-
-
---
--- Name: merchant_exchange_signing_keys_signkey_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_exchange_signing_keys ALTER COLUMN signkey_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_exchange_signing_keys_signkey_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_exchange_wire_fees; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_exchange_wire_fees (
- wirefee_serial bigint NOT NULL,
- master_pub bytea NOT NULL,
- h_wire_method bytea NOT NULL,
- start_date bigint NOT NULL,
- end_date bigint NOT NULL,
- wire_fee_val bigint NOT NULL,
- wire_fee_frac integer NOT NULL,
- closing_fee_val bigint NOT NULL,
- closing_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT merchant_exchange_wire_fees_h_wire_method_check CHECK ((length(h_wire_method) = 64)),
- CONSTRAINT merchant_exchange_wire_fees_master_pub_check CHECK ((length(master_pub) = 32)),
- CONSTRAINT merchant_exchange_wire_fees_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_exchange_wire_fees; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_exchange_wire_fees IS 'Here we store proofs of the wire fee structure of the various exchanges';
-
-
---
--- Name: COLUMN merchant_exchange_wire_fees.master_pub; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_exchange_wire_fees.master_pub IS 'Master public key of the exchange with these wire fees';
-
-
---
--- Name: merchant_exchange_wire_fees_wirefee_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_exchange_wire_fees ALTER COLUMN wirefee_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_exchange_wire_fees_wirefee_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_instances; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_instances (
- merchant_serial bigint NOT NULL,
- merchant_pub bytea NOT NULL,
- auth_hash bytea,
- auth_salt bytea,
- merchant_id character varying NOT NULL,
- merchant_name character varying NOT NULL,
- address bytea NOT NULL,
- jurisdiction bytea NOT NULL,
- default_max_deposit_fee_val bigint NOT NULL,
- default_max_deposit_fee_frac integer NOT NULL,
- default_max_wire_fee_val bigint NOT NULL,
- default_max_wire_fee_frac integer NOT NULL,
- default_wire_fee_amortization integer NOT NULL,
- default_wire_transfer_delay bigint NOT NULL,
- default_pay_delay bigint NOT NULL,
- website character varying,
- email character varying,
- logo bytea,
- CONSTRAINT merchant_instances_auth_hash_check CHECK ((length(auth_hash) = 64)),
- CONSTRAINT merchant_instances_auth_salt_check CHECK ((length(auth_salt) = 32)),
- CONSTRAINT merchant_instances_merchant_pub_check CHECK ((length(merchant_pub) = 32))
-);
-
-
---
--- Name: TABLE merchant_instances; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_instances IS 'all the instances supported by this backend';
-
-
---
--- Name: COLUMN merchant_instances.auth_hash; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.auth_hash IS 'hash used for merchant back office Authorization, NULL for no check';
-
-
---
--- Name: COLUMN merchant_instances.auth_salt; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.auth_salt IS 'salt to use when hashing Authorization header before comparing with auth_hash';
-
-
---
--- Name: COLUMN merchant_instances.merchant_id; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.merchant_id IS 'identifier of the merchant as used in the base URL (required)';
-
-
---
--- Name: COLUMN merchant_instances.merchant_name; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.merchant_name IS 'legal name of the merchant as a simple string (required)';
-
-
---
--- Name: COLUMN merchant_instances.address; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.address IS 'physical address of the merchant as a Location in JSON format (required)';
-
-
---
--- Name: COLUMN merchant_instances.jurisdiction; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.jurisdiction IS 'jurisdiction of the merchant as a Location in JSON format (required)';
-
-
---
--- Name: COLUMN merchant_instances.website; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.website IS 'merchant site URL';
-
-
---
--- Name: COLUMN merchant_instances.email; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.email IS 'email';
-
-
---
--- Name: COLUMN merchant_instances.logo; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.logo IS 'data image url';
-
-
---
--- Name: merchant_instances_merchant_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_instances ALTER COLUMN merchant_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_instances_merchant_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_inventory; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_inventory (
- product_serial bigint NOT NULL,
- merchant_serial bigint NOT NULL,
- product_id character varying NOT NULL,
- description character varying NOT NULL,
- description_i18n bytea NOT NULL,
- unit character varying NOT NULL,
- image bytea NOT NULL,
- taxes bytea NOT NULL,
- price_val bigint NOT NULL,
- price_frac integer NOT NULL,
- total_stock bigint NOT NULL,
- total_sold bigint DEFAULT 0 NOT NULL,
- total_lost bigint DEFAULT 0 NOT NULL,
- address bytea NOT NULL,
- next_restock bigint NOT NULL,
- minimum_age integer DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE merchant_inventory; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_inventory IS 'products offered by the merchant (may be incomplete, frontend can override)';
-
-
---
--- Name: COLUMN merchant_inventory.description; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.description IS 'Human-readable product description';
-
-
---
--- Name: COLUMN merchant_inventory.description_i18n; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.description_i18n IS 'JSON map from IETF BCP 47 language tags to localized descriptions';
-
-
---
--- Name: COLUMN merchant_inventory.unit; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.unit IS 'Unit of sale for the product (liters, kilograms, packages)';
-
-
---
--- Name: COLUMN merchant_inventory.image; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.image IS 'NOT NULL, but can be 0 bytes; must contain an ImageDataUrl';
-
-
---
--- Name: COLUMN merchant_inventory.taxes; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.taxes IS 'JSON array containing taxes the merchant pays, must be JSON, but can be just "[]"';
-
-
---
--- Name: COLUMN merchant_inventory.price_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.price_val IS 'Current price of one unit of the product';
-
-
---
--- Name: COLUMN merchant_inventory.total_stock; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.total_stock IS 'A value of -1 is used for unlimited (electronic good), may never be lowered';
-
-
---
--- Name: COLUMN merchant_inventory.total_sold; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.total_sold IS 'Number of products sold, must be below total_stock, non-negative, may never be lowered';
-
-
---
--- Name: COLUMN merchant_inventory.total_lost; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.total_lost IS 'Number of products that used to be in stock but were lost (spoiled, damaged), may never be lowered; total_stock >= total_sold + total_lost must always hold';
-
-
---
--- Name: COLUMN merchant_inventory.address; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.address IS 'JSON formatted Location of where the product is stocked';
-
-
---
--- Name: COLUMN merchant_inventory.next_restock; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.next_restock IS 'GNUnet absolute time indicating when the next restock is expected. 0 for unknown.';
-
-
---
--- Name: COLUMN merchant_inventory.minimum_age; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.minimum_age IS 'Minimum age of the customer in years, to be used if an exchange supports the age restriction extension.';
-
-
---
--- Name: merchant_inventory_locks; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_inventory_locks (
- product_serial bigint NOT NULL,
- lock_uuid bytea NOT NULL,
- total_locked bigint NOT NULL,
- expiration bigint NOT NULL,
- CONSTRAINT merchant_inventory_locks_lock_uuid_check CHECK ((length(lock_uuid) = 16))
-);
-
-
---
--- Name: TABLE merchant_inventory_locks; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_inventory_locks IS 'locks on inventory helt by shopping carts; note that locks MAY not be honored if merchants increase total_lost for inventory';
-
-
---
--- Name: COLUMN merchant_inventory_locks.total_locked; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory_locks.total_locked IS 'how many units of the product does this lock reserve';
-
-
---
--- Name: COLUMN merchant_inventory_locks.expiration; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory_locks.expiration IS 'when does this lock automatically expire (if no order is created)';
-
-
---
--- Name: merchant_inventory_product_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_inventory ALTER COLUMN product_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_inventory_product_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_keys; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_keys (
- merchant_priv bytea NOT NULL,
- merchant_serial bigint NOT NULL,
- CONSTRAINT merchant_keys_merchant_priv_check CHECK ((length(merchant_priv) = 32))
-);
-
-
---
--- Name: TABLE merchant_keys; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_keys IS 'private keys of instances that have not been deleted';
-
-
---
--- Name: merchant_kyc; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_kyc (
- kyc_serial_id bigint NOT NULL,
- kyc_timestamp bigint NOT NULL,
- kyc_ok boolean DEFAULT false NOT NULL,
- exchange_sig bytea,
- exchange_pub bytea,
- exchange_kyc_serial bigint DEFAULT 0 NOT NULL,
- account_serial bigint NOT NULL,
- exchange_url character varying NOT NULL,
- CONSTRAINT merchant_kyc_exchange_pub_check CHECK ((length(exchange_pub) = 32)),
- CONSTRAINT merchant_kyc_exchange_sig_check CHECK ((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_kyc; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_kyc IS 'Status of the KYC process of a merchant account at an exchange';
-
-
---
--- Name: COLUMN merchant_kyc.kyc_timestamp; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.kyc_timestamp IS 'Last time we checked our KYC status at the exchange. Useful to re-check if the status is very stale. Also the timestamp used for the exchange signature (if present).';
-
-
---
--- Name: COLUMN merchant_kyc.kyc_ok; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.kyc_ok IS 'true if the KYC check was passed successfully';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_sig; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.exchange_sig IS 'signature of the exchange affirming the KYC passed (or NULL if exchange does not require KYC or not kyc_ok)';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_pub; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.exchange_pub IS 'public key used with exchange_sig (or NULL if exchange_sig is NULL)';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_kyc_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.exchange_kyc_serial IS 'Number to use in the KYC-endpoints of the exchange to check the KYC status or begin the KYC process. 0 if we do not know it yet.';
-
-
---
--- Name: COLUMN merchant_kyc.account_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.account_serial IS 'Which bank account of the merchant is the KYC status for';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_url; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.exchange_url IS 'Which exchange base URL is this KYC status valid for';
-
-
---
--- Name: merchant_kyc_kyc_serial_id_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_kyc ALTER COLUMN kyc_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_kyc_kyc_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_order_locks; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_order_locks (
- product_serial bigint NOT NULL,
- total_locked bigint NOT NULL,
- order_serial bigint NOT NULL
-);
-
-
---
--- Name: TABLE merchant_order_locks; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_order_locks IS 'locks on orders awaiting claim and payment; note that locks MAY not be honored if merchants increase total_lost for inventory';
-
-
---
--- Name: COLUMN merchant_order_locks.total_locked; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_order_locks.total_locked IS 'how many units of the product does this lock reserve';
-
-
---
--- Name: merchant_orders; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_orders (
- order_serial bigint NOT NULL,
- merchant_serial bigint NOT NULL,
- order_id character varying NOT NULL,
- claim_token bytea NOT NULL,
- h_post_data bytea NOT NULL,
- pay_deadline bigint NOT NULL,
- creation_time bigint NOT NULL,
- contract_terms bytea NOT NULL,
- CONSTRAINT merchant_orders_claim_token_check CHECK ((length(claim_token) = 16)),
- CONSTRAINT merchant_orders_h_post_data_check CHECK ((length(h_post_data) = 64))
-);
-
-
---
--- Name: TABLE merchant_orders; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_orders IS 'Orders we offered to a customer, but that have not yet been claimed';
-
-
---
--- Name: COLUMN merchant_orders.merchant_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_orders.merchant_serial IS 'Identifies the instance offering the contract';
-
-
---
--- Name: COLUMN merchant_orders.claim_token; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_orders.claim_token IS 'Token optionally used to authorize the wallet to claim the order. All zeros (not NULL) if not used';
-
-
---
--- Name: COLUMN merchant_orders.h_post_data; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_orders.h_post_data IS 'Hash of the POST request that created this order, for idempotency checks';
-
-
---
--- Name: COLUMN merchant_orders.pay_deadline; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_orders.pay_deadline IS 'How long is the offer valid. After this time, the order can be garbage collected';
-
-
---
--- Name: COLUMN merchant_orders.contract_terms; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_orders.contract_terms IS 'Claiming changes the contract_terms, hence we have no hash of the terms in this table';
-
-
---
--- Name: merchant_orders_order_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_orders ALTER COLUMN order_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_orders_order_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_refund_proofs; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_refund_proofs (
- refund_serial bigint NOT NULL,
- exchange_sig bytea NOT NULL,
- signkey_serial bigint NOT NULL,
- CONSTRAINT merchant_refund_proofs_exchange_sig_check CHECK ((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_refund_proofs; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_refund_proofs IS 'Refunds confirmed by the exchange (not all approved refunds are grabbed by the wallet)';
-
-
---
--- Name: merchant_refunds; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_refunds (
- refund_serial bigint NOT NULL,
- order_serial bigint NOT NULL,
- rtransaction_id bigint NOT NULL,
- refund_timestamp bigint NOT NULL,
- coin_pub bytea NOT NULL,
- reason character varying NOT NULL,
- refund_amount_val bigint NOT NULL,
- refund_amount_frac integer NOT NULL
-);
-
-
---
--- Name: COLUMN merchant_refunds.rtransaction_id; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_refunds.rtransaction_id IS 'Needed for uniqueness in case a refund is increased for the same order';
-
-
---
--- Name: COLUMN merchant_refunds.refund_timestamp; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_refunds.refund_timestamp IS 'Needed for grouping of refunds in the wallet UI; has no semantics in the protocol (only for UX), but should be from the time when the merchant internally approved the refund';
-
-
---
--- Name: merchant_refunds_refund_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_refunds ALTER COLUMN refund_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_refunds_refund_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_tip_pickup_signatures; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_tip_pickup_signatures (
- pickup_serial bigint NOT NULL,
- coin_offset integer NOT NULL,
- blind_sig bytea NOT NULL
-);
-
-
---
--- Name: TABLE merchant_tip_pickup_signatures; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_tip_pickup_signatures IS 'blind signatures we got from the exchange during the tip pickup';
-
-
---
--- Name: merchant_tip_pickups; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_tip_pickups (
- pickup_serial bigint NOT NULL,
- tip_serial bigint NOT NULL,
- pickup_id bytea NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- CONSTRAINT merchant_tip_pickups_pickup_id_check CHECK ((length(pickup_id) = 64))
-);
-
-
---
--- Name: TABLE merchant_tip_pickups; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_tip_pickups IS 'tips that have been picked up';
-
-
---
--- Name: merchant_tip_pickups_pickup_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_tip_pickups ALTER COLUMN pickup_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_tip_pickups_pickup_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_tip_reserve_keys; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_tip_reserve_keys (
- reserve_serial bigint NOT NULL,
- reserve_priv bytea NOT NULL,
- exchange_url character varying NOT NULL,
- payto_uri character varying,
- CONSTRAINT merchant_tip_reserve_keys_reserve_priv_check CHECK ((length(reserve_priv) = 32))
-);
-
-
---
--- Name: COLUMN merchant_tip_reserve_keys.payto_uri; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserve_keys.payto_uri IS 'payto:// URI used to fund the reserve, may be NULL once reserve is funded';
-
-
---
--- Name: merchant_tip_reserves; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_tip_reserves (
- reserve_serial bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- merchant_serial bigint NOT NULL,
- creation_time bigint NOT NULL,
- expiration bigint NOT NULL,
- merchant_initial_balance_val bigint NOT NULL,
- merchant_initial_balance_frac integer NOT NULL,
- exchange_initial_balance_val bigint DEFAULT 0 NOT NULL,
- exchange_initial_balance_frac integer DEFAULT 0 NOT NULL,
- tips_committed_val bigint DEFAULT 0 NOT NULL,
- tips_committed_frac integer DEFAULT 0 NOT NULL,
- tips_picked_up_val bigint DEFAULT 0 NOT NULL,
- tips_picked_up_frac integer DEFAULT 0 NOT NULL,
- CONSTRAINT merchant_tip_reserves_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-);
-
-
---
--- Name: TABLE merchant_tip_reserves; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_tip_reserves IS 'private keys of reserves that have not been deleted';
-
-
---
--- Name: COLUMN merchant_tip_reserves.expiration; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserves.expiration IS 'FIXME: EXCHANGE API needs to tell us when reserves close if we are to compute this';
-
-
---
--- Name: COLUMN merchant_tip_reserves.merchant_initial_balance_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserves.merchant_initial_balance_val IS 'Set to the initial balance the merchant told us when creating the reserve';
-
-
---
--- Name: COLUMN merchant_tip_reserves.exchange_initial_balance_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserves.exchange_initial_balance_val IS 'Set to the initial balance the exchange told us when we queried the reserve status';
-
-
---
--- Name: COLUMN merchant_tip_reserves.tips_committed_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserves.tips_committed_val IS 'Amount of outstanding approved tips that have not been picked up';
-
-
---
--- Name: COLUMN merchant_tip_reserves.tips_picked_up_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserves.tips_picked_up_val IS 'Total amount tips that have been picked up from this reserve';
-
-
---
--- Name: merchant_tip_reserves_reserve_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_tip_reserves ALTER COLUMN reserve_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_tip_reserves_reserve_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_tips; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_tips (
- tip_serial bigint NOT NULL,
- reserve_serial bigint NOT NULL,
- tip_id bytea NOT NULL,
- justification character varying NOT NULL,
- next_url character varying NOT NULL,
- expiration bigint NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- picked_up_val bigint DEFAULT 0 NOT NULL,
- picked_up_frac integer DEFAULT 0 NOT NULL,
- was_picked_up boolean DEFAULT false NOT NULL,
- CONSTRAINT merchant_tips_tip_id_check CHECK ((length(tip_id) = 64))
-);
-
-
---
--- Name: TABLE merchant_tips; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_tips IS 'tips that have been authorized';
-
-
---
--- Name: COLUMN merchant_tips.reserve_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tips.reserve_serial IS 'Reserve from which this tip is funded';
-
-
---
--- Name: COLUMN merchant_tips.expiration; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tips.expiration IS 'by when does the client have to pick up the tip';
-
-
---
--- Name: COLUMN merchant_tips.amount_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tips.amount_val IS 'total transaction cost for all coins including withdraw fees';
-
-
---
--- Name: COLUMN merchant_tips.picked_up_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tips.picked_up_val IS 'Tip amount left to be picked up';
-
-
---
--- Name: merchant_tips_tip_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_tips ALTER COLUMN tip_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_tips_tip_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_transfer_signatures; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_transfer_signatures (
- credit_serial bigint NOT NULL,
- signkey_serial bigint NOT NULL,
- wire_fee_val bigint NOT NULL,
- wire_fee_frac integer NOT NULL,
- credit_amount_val bigint NOT NULL,
- credit_amount_frac integer NOT NULL,
- execution_time bigint NOT NULL,
- exchange_sig bytea NOT NULL,
- CONSTRAINT merchant_transfer_signatures_exchange_sig_check CHECK ((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_transfer_signatures; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_transfer_signatures IS 'table represents the main information returned from the /transfer request to the exchange.';
-
-
---
--- Name: COLUMN merchant_transfer_signatures.credit_amount_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfer_signatures.credit_amount_val IS 'actual value of the (aggregated) wire transfer, excluding the wire fee, according to the exchange';
-
-
---
--- Name: COLUMN merchant_transfer_signatures.execution_time; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfer_signatures.execution_time IS 'Execution time as claimed by the exchange, roughly matches time seen by merchant';
-
-
---
--- Name: merchant_transfer_to_coin; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_transfer_to_coin (
- deposit_serial bigint NOT NULL,
- credit_serial bigint NOT NULL,
- offset_in_exchange_list bigint NOT NULL,
- exchange_deposit_value_val bigint NOT NULL,
- exchange_deposit_value_frac integer NOT NULL,
- exchange_deposit_fee_val bigint NOT NULL,
- exchange_deposit_fee_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE merchant_transfer_to_coin; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_transfer_to_coin IS 'Mapping of (credit) transfers to (deposited) coins';
-
-
---
--- Name: COLUMN merchant_transfer_to_coin.exchange_deposit_value_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfer_to_coin.exchange_deposit_value_val IS 'Deposit value as claimed by the exchange, should match our values in merchant_deposits minus refunds';
-
-
---
--- Name: COLUMN merchant_transfer_to_coin.exchange_deposit_fee_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfer_to_coin.exchange_deposit_fee_val IS 'Deposit value as claimed by the exchange, should match our values in merchant_deposits';
-
-
---
--- Name: merchant_transfers; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_transfers (
- credit_serial bigint NOT NULL,
- exchange_url character varying NOT NULL,
- wtid bytea,
- credit_amount_val bigint NOT NULL,
- credit_amount_frac integer NOT NULL,
- account_serial bigint NOT NULL,
- verified boolean DEFAULT false NOT NULL,
- confirmed boolean DEFAULT false NOT NULL,
- CONSTRAINT merchant_transfers_wtid_check CHECK ((length(wtid) = 32))
-);
-
-
---
--- Name: TABLE merchant_transfers; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_transfers IS 'table represents the information provided by the (trusted) merchant about incoming wire transfers';
-
-
---
--- Name: COLUMN merchant_transfers.credit_amount_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfers.credit_amount_val IS 'actual value of the (aggregated) wire transfer, excluding the wire fee, according to the merchant';
-
-
---
--- Name: COLUMN merchant_transfers.verified; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfers.verified IS 'true once we got an acceptable response from the exchange for this transfer';
-
-
---
--- Name: COLUMN merchant_transfers.confirmed; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfers.confirmed IS 'true once the merchant confirmed that this transfer was received';
-
-
---
--- Name: merchant_transfers_credit_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_transfers ALTER COLUMN credit_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_transfers_credit_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: auditor_reserves auditor_reserves_rowid; Type: DEFAULT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_reserves ALTER COLUMN auditor_reserves_rowid SET DEFAULT nextval('auditor.auditor_reserves_auditor_reserves_rowid_seq'::regclass);
-
-
---
--- Name: deposit_confirmations serial_id; Type: DEFAULT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.deposit_confirmations ALTER COLUMN serial_id SET DEFAULT nextval('auditor.deposit_confirmations_serial_id_seq'::regclass);
-
-
---
--- Data for Name: patches; Type: TABLE DATA; Schema: _v; Owner: -
---
-
-COPY _v.patches (patch_name, applied_tsz, applied_by, requires, conflicts) FROM stdin;
-exchange-0001 2022-08-20 12:51:13.332876+02 grothoff {} {}
-merchant-0001 2022-08-20 12:51:14.370052+02 grothoff {} {}
-merchant-0002 2022-08-20 12:51:14.777608+02 grothoff {} {}
-auditor-0001 2022-08-20 12:51:14.910474+02 grothoff {} {}
-\.
-
-
---
--- Data for Name: auditor_balance_summary; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_balance_summary (master_pub, denom_balance_val, denom_balance_frac, deposit_fee_balance_val, deposit_fee_balance_frac, melt_fee_balance_val, melt_fee_balance_frac, refund_fee_balance_val, refund_fee_balance_frac, risk_val, risk_frac, loss_val, loss_frac, irregular_recoup_val, irregular_recoup_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_denomination_pending; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_denomination_pending (denom_pub_hash, denom_balance_val, denom_balance_frac, denom_loss_val, denom_loss_frac, num_issued, denom_risk_val, denom_risk_frac, recoup_loss_val, recoup_loss_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_exchange_signkeys; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_exchange_signkeys (master_pub, ep_start, ep_expire, ep_end, exchange_pub, master_sig) FROM stdin;
-\\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e 1660992689000000 1668250289000000 1670669489000000 \\xf51f9b455918cc78cae8e6cc2ea33a1585586126d01853912b876b016346f5c1 \\xcc12f62551829820324214b98a970bb96f476ed2c973657fe76c32161ed353de762a749940cd8f45f51e7493968078584335dbc81db05068b607c1737825c80f
-\.
-
-
---
--- Data for Name: auditor_exchanges; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_exchanges (master_pub, exchange_url) FROM stdin;
-\\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e http://localhost:8081/
-\.
-
-
---
--- Data for Name: auditor_historic_denomination_revenue; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_historic_denomination_revenue (master_pub, denom_pub_hash, revenue_timestamp, revenue_balance_val, revenue_balance_frac, loss_balance_val, loss_balance_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_historic_reserve_summary; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_historic_reserve_summary (master_pub, start_date, end_date, reserve_profits_val, reserve_profits_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_predicted_result; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_predicted_result (master_pub, balance_val, balance_frac, drained_val, drained_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_aggregation; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_progress_aggregation (master_pub, last_wire_out_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_coin; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_progress_coin (master_pub, last_withdraw_serial_id, last_deposit_serial_id, last_melt_serial_id, last_refund_serial_id, last_recoup_serial_id, last_recoup_refresh_serial_id, last_purse_deposits_serial_id, last_purse_refunds_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_deposit_confirmation; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_progress_deposit_confirmation (master_pub, last_deposit_confirmation_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_reserve; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_progress_reserve (master_pub, last_reserve_in_serial_id, last_reserve_out_serial_id, last_reserve_recoup_serial_id, last_reserve_close_serial_id, last_purse_merges_serial_id, last_purse_deposits_serial_id, last_account_merges_serial_id, last_history_requests_serial_id, last_close_requests_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_reserve_balance; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_reserve_balance (master_pub, reserve_balance_val, reserve_balance_frac, withdraw_fee_balance_val, withdraw_fee_balance_frac, purse_fee_balance_val, purse_fee_balance_frac, history_fee_balance_val, history_fee_balance_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_reserves; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_reserves (reserve_pub, master_pub, reserve_balance_val, reserve_balance_frac, withdraw_fee_balance_val, withdraw_fee_balance_frac, expiration_date, auditor_reserves_rowid, origin_account) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_wire_fee_balance; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_wire_fee_balance (master_pub, wire_fee_balance_val, wire_fee_balance_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: deposit_confirmations; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.deposit_confirmations (master_pub, serial_id, h_contract_terms, h_extensions, h_wire, exchange_timestamp, refund_deadline, wire_deadline, amount_without_fee_val, amount_without_fee_frac, coin_pub, merchant_pub, exchange_sig, exchange_pub, master_sig) FROM stdin;
-\\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e 1 \\xbf6c471c4b4cb167f7487fcf0b362e5b5e2593ff0bf18c8831e838cea19188b6f54df9f752afa00eafcd43a1f5be9b7eb069393b9a03d0372cf476f3257799e1 \\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \\xe7d3dea0785a12a3d8c3eb1011c4c65adde69ade17b43424ec3aadd7e7cd7a81175b8519a074c21537bf295205c316681cbe5ce91c9f458d0eaaa6959d64a5bd 1660992706000000 1660993604000000 1660993604000000 3 98000000 \\x6adb31bd94f30695d580dc4a6c3b121a87d66f00eb90f7f355fb63dd15e97b4f \\x7afef06231aefd23c5a0bd92001f57848739aa5947de4b46cedee9f4864c52f8 \\x43dcb4018863a3bd391d9f5c23a2039a6bf94273ad7bdfde44a5a74b244c59103950204dacaf2c7903c1ad55855a8949fa1ebb56638bcd6a5ee8da4445af6407 \\xf51f9b455918cc78cae8e6cc2ea33a1585586126d01853912b876b016346f5c1 \\x40d370dffd7f00001d29bb79135600005d17257a13560000ba16257a13560000a016257a13560000a416257a13560000409b247a135600000000000000000000
-\\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e 2 \\x9fe342aa944573b76d328fdf6266c52fea74bedb2e461dc7e2066618fd2d82220c5a612cda552cb45d45de86dce66e6d441588cd9932b41463f735b5c5f647c1 \\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \\xe7d3dea0785a12a3d8c3eb1011c4c65adde69ade17b43424ec3aadd7e7cd7a81175b8519a074c21537bf295205c316681cbe5ce91c9f458d0eaaa6959d64a5bd 1660992714000000 1660993612000000 1660993612000000 6 99000000 \\x313b9c4a779ef6904dead059e2d10cc7c6ebd55a5da776632255b960809851dc \\x7afef06231aefd23c5a0bd92001f57848739aa5947de4b46cedee9f4864c52f8 \\xe50caf7855c8aafd0f9ccc21564f6576bd9e6b46d3b055090949b495d4a57437ad68bd69d4e01c6b1653765e99b968706ff8dab0cb1e97de999d8c9ca12b8903 \\xf51f9b455918cc78cae8e6cc2ea33a1585586126d01853912b876b016346f5c1 \\x40d370dffd7f00001d29bb79135600007dd7257a13560000dad6257a13560000c0d6257a13560000c4d6257a13560000c0fc247a135600000000000000000000
-\\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e 3 \\x35d4e33c0d33b399b3adf1866d5dbb17973b9e444b842de549c532e446055e1a0212eea3c6985a8a4012414d38e14ed1a308b7a5497eda32f8acb87349244b66 \\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \\xe7d3dea0785a12a3d8c3eb1011c4c65adde69ade17b43424ec3aadd7e7cd7a81175b8519a074c21537bf295205c316681cbe5ce91c9f458d0eaaa6959d64a5bd 1660992720000000 1660993618000000 1660993618000000 2 99000000 \\xeef20d0da277529e070bdb760ce75207ac83071b72bba0ec3361cdb1c5d320e0 \\x7afef06231aefd23c5a0bd92001f57848739aa5947de4b46cedee9f4864c52f8 \\x287dd1ff3f6b799458025f0f2655487e042eb750e2e11862ccb8b55144b752299971eadebf6a3c690e7c87c2321e2edfd777b0badaf96109e627f0fbb84f0f0a \\xf51f9b455918cc78cae8e6cc2ea33a1585586126d01853912b876b016346f5c1 \\x40d370dffd7f00001d29bb79135600005d17257a13560000ba16257a13560000a016257a13560000a416257a13560000b006257a135600000000000000000000
-\.
-
-
---
--- Data for Name: wire_auditor_account_progress; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.wire_auditor_account_progress (master_pub, account_name, last_wire_reserve_in_serial_id, last_wire_wire_out_serial_id, wire_in_off, wire_out_off) FROM stdin;
-\.
-
-
---
--- Data for Name: wire_auditor_progress; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.wire_auditor_progress (master_pub, last_timestamp, last_reserve_close_uuid) FROM stdin;
-\.
-
-
---
--- Data for Name: account_merges_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.account_merges_default (account_merge_request_serial_id, reserve_pub, reserve_sig, purse_pub, wallet_h_payto) FROM stdin;
-\.
-
-
---
--- Data for Name: aggregation_tracking_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.aggregation_tracking_default (aggregation_serial_id, deposit_serial_id, wtid_raw) FROM stdin;
-\.
-
-
---
--- Data for Name: aggregation_transient_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.aggregation_transient_default (amount_val, amount_frac, wire_target_h_payto, merchant_pub, exchange_account_section, legitimization_requirement_serial_id, wtid_raw) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_denom_sigs; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.auditor_denom_sigs (auditor_denom_serial, auditor_uuid, denominations_serial, auditor_sig) FROM stdin;
-1 1 76 \\x189b669571ffdb88cc551df04da9ea2dd3babc0844c4b49b958fcadcf2386a3340abf35fb2418c4cf7122feed102fa0da1345af8dd32ad4e9f8176f4dc301001
-2 1 198 \\xabadc2682a0e241d7bf0e29df00dc5b1cd7f09d70133c414acafa3d32fc310b371f4b0e9fb09bfee5f21c455a69f29d05d4577b32f86ac30effc2463eea9cc06
-3 1 272 \\x9e7b7662e2caf37987a726f2105f23471d33e44fc8fa2c9d67b13392346c4a4cdb9d2a4c3fbc12ef675c3ad7b651173e674a993531d1bea79b6894286374250a
-4 1 309 \\xd780a649e4ba458c2099ceac7b3336d3a6f885fdfc1bee4e71eb88f8fb9932476c42dff75413d54b63a4f26dcb905fc31db9296c5b588a0384b71a79aa36290b
-5 1 121 \\x7106e41e105e249797d8d8283d7c08c472f70d1f85492b5040f42f2d746e5cc7fe0894b84395a54445b51ab199eec5fe664c5143ef5d9b9c151db693767a420b
-6 1 152 \\xeaf802dfbbedfc56b149622330c34373ead83cecc31c05d05fb6ce004c3c98e0451cecff70d086d733d13946c558ad1cf199b0fdbb55ccf7a1bb07d8a3c77407
-7 1 396 \\x415130d48708c901c80cb37a39983f4201d5f723222f38f9af3198bcd2574dd2f2e5a9a2457ab7c8be960b919c8b829c931d6df99f855c0c0c0e15c035ecb709
-8 1 327 \\xc185a9296b84fb5f0a4f21e2a51e94b73e516e37d87bfae5deb63d5d5a26852a57ca9a86fb0a2cd9b5a39e66c6ad8fd031c8ca9db7d2397568a639094d0d1b07
-9 1 230 \\x2bd04ac25f4011cf2a41025075919ab8bec258c825b3d4a30cf3ee90086f19d8bdb48c605f2e7cdb8fcb3a937e06da177e9b29874b219e77a85c99479fbe9c06
-10 1 66 \\xcce3c11de19d468dc1d57861c3240df4aedeb12995f005ecf8f35fb98a8c9b562a1209c2b680888a5d684836ce3ac3f654de7bdf947e7f211c2d3bb98611f50e
-11 1 241 \\x109a75f554e99fe73265a316d6fad21cc3c698e66cf3b31fe0d43023edf52c8287f00469fc6f62aa192441abbb4170f20c30f0239746fdb419670625555c0307
-12 1 149 \\x132759bd685b550348796549e182d9606f0fdac5a2e1a60b031d3fdad088f4c9f146bfead7e8af4b10069137083ade1b8a06ce344fc18e069889d411f193ba0f
-13 1 268 \\x4f33c8f308a03922ae965c116611f01e6b36600328b90d13cf9e17d6eab3b84948991f4fa0534992c9011a232cf269806cf47c22da809a18eaf8a087cd911403
-14 1 102 \\x5ab50020cc96ed2166951bc69952e7b5c9c126694921558db31a21b3e96c786ab8006f40b4a17748f45195e7222701e1a8fd5fb1eff117fec842f62f2a44c203
-15 1 114 \\x520f63fbf15bf4837657e0df54102448a0129b1cfd1cc47fe0c675ffb0483711853b4d3fb03527996f827704203eaf9641ca0c038290aae21e05fcf07f801f0e
-16 1 210 \\xcbf7e68425bea7213c87d347ef43fd160114eb2f7f15544aa3e67ccaf8a7928ea831b0cad1266869fb3422ab9ca31cc1ea085d387c1ee92e00747121107e390b
-17 1 150 \\xeb1fb4bd3491b53d570f98ccb6261dcd952cb3c1f7c29f239ebe354dc86d9369616daa800ab4dbf9cc12a2fd69a9e1d5064ab66fbc172bb219818729841fbc04
-18 1 87 \\x0f16d9dec911014302d0f7302b7f6301e4d0d3411c50e1a4997ea65bdcbeee80fc23face6887f08e0e962eda0849db433061f855c746068d424462678b6e810a
-19 1 158 \\xb8a4320426c660c36e159109eacdc38083212c354f4cb87f5effd01cb806a2cf26340b0b303cfe0df2fc4dc0603959e0f4a0170871df23bdc22343116083a80c
-20 1 344 \\x9a1cfc885e06ef195554e970f563d00953780364df9da36701eba3f3589042966e507f7da7be1830feb8b35cedda51ebef1119f265cf422ab5000b1ad6b86e05
-21 1 260 \\xbf29e1d1eab77163af409002351a24a5bd581a14b10146dbd9a4f6756221e46c85d828186dc39e32cdffd80f992d7b7bc8387fdf93b6a5358a7e3879840aba0c
-22 1 372 \\x4350ea2daa14ceb1486c858691b9279cab9ed1043f4a3eb9483d6882dea1ea1da9b09e44b678c8ee45aaf30713898897db3848d74956e31059b205222548bc09
-23 1 63 \\x25fbcb935f613ed75a075c01fc16c122613ebe203eecf6c0fce2d8d576cfb576f9c46e574ccc57807573596927458997f1f866b8255c0c1074bd9d9a4bffb603
-24 1 424 \\xd3c8a8c6cce130c3efd456a320156236c2fe1b83e523ba803121db6438ca2ced405c00676123429c77efe49c8071c308a10a8702091254629a5441dc5b3b0003
-25 1 180 \\x9cda562f30a1cee27a6e3887b7f73da6037e7f5d6aa14028a085a791af0d3782f130ec50d148f3e64a1409277b9178710fbba3f6c536bd83fd1ac016c1406a05
-26 1 136 \\xa96211abc3742c09e7b3d471b646dc4a525ef008983130304c7a5d76a99462bcd4ce654a1c01455a508735c26d712ac49d531b4b6e01da8f89f669d087705d06
-27 1 187 \\xee3277f2f4d77f06ad59c4068b19af8654ec2cb44fb97746ad5dc6fa6803ad5eb36eaf09e6a1b9d56e4f45df7d5eb1c205e287b46ab53ffcdb190534193dc20e
-28 1 190 \\x847fb200a4ea0754752fd990b1f39f46cd7dbcf66a6b7bfb858797fe1557dadbc85232641a3e0be25659816612f06fc82d68183089f94bdcb63d96ecc77f9206
-29 1 288 \\x26cc424d8c7056882e99105b4f07524997c12df3ae51932752f9a6e240292af14cf33ad8980e76388d194ab768afd1296e9f989379f80ca5f40a9203489bb306
-30 1 90 \\x6e8f5a33b7f520eadee54f236b450599a53adff5b82f225b02c562172a2d1aea0d01b9cb3c0c66a2889ceb2fad800bab8c424d5e553cfaf45c25ce55147ef003
-31 1 275 \\x3f40f32d283d3af2df48d644761a9f4520efbc4b673742f1594d3ccf470391e9e95c64d79fc2dd68725d8ef532d40f899c2cae072c64781c8caf94fb0153f40a
-32 1 287 \\x86ff3e3e431e163df4e82d514784d8bcaccc4802fa3963e765a2f3c55f1b8f78123f272398710e4dda97a0789af49d81124abf561cb64eaddfccdc718c562b00
-33 1 231 \\x6541c9ae543c3521b9130b09ab663d80ae8546a125b93d2ecbccfc216a2d75b043abd057ac01d037a844aba24bed09fbc6c3dcb98c4310d4f4696ef886624205
-34 1 171 \\x844d3e738ef9daa042ad6e730144f20d553ed7a552724934ce40ad2c7d9b24996d3415b8cb9dbbaae9707e90f7740e70cf3ff1ef449872d0fbdde2ad0dd31b09
-35 1 402 \\x4af3478a18f9b7a1f682cfd037f841ffbe97ad141684073fa16458875c852006925ea88a9b79bb1b97f128220b2b27d72ccb655ba4cd58b0537ff379a4e4f006
-36 1 258 \\x5d6d9cf03c4556e167dc3990d764af44ccc83ae046ad9028b5c816ffe290d9c469f5079e1aa36c199cd0d18c1653ac4c7a3cf1781d711a95d1afd8c2a97afc09
-37 1 41 \\x074021399b2b7ba0f2ff19907345ab1ef8678150e9dce804753c871843d489a0399b7ba3b04b9cdcf047add874b9adea24ff528857dfabee68fc521daaebcf06
-38 1 360 \\xd58519fad625d6a0193a8a348b34a4ca96104a2a16040d097770ebababca09157809ea1d391d4c17e169c7971a07868483444156677909398d1d016956766102
-39 1 401 \\x32144000d3e6426fb1ff038ca4cfcd16430f29995586c73b08d9da754d2c2c02be48e8f4207891bd25e9760aa0ec187c0cfb68f4d67fa6ca1931173ac6a8920b
-40 1 73 \\xee5a7ce8cb33c6513b86dc6a78dcaa85abad8ca5569895b0eed203265397f7b9c1843b9e358aa23f008622f32c055064da397f1da6c26a9609077915ea58e10f
-41 1 324 \\x43523be8645bc310513587bba548b3b212f60c16a06d480e6dc263585da96fe2e34fb3719ec8c850243ff41e5d8655eb995a48c740a5db8ead03f7b2986d300f
-42 1 32 \\x2d17d406117fbbb175b53ff5048e0ea01395c759bef11c6444d6efd70b89f99a2374bf12f11e5883a72ab07f6a845d3b102e9ea91afdde2efdd190748b7d0907
-43 1 147 \\xd056f99a55c7e461c90fe92efd0a9004b0cd0987897f82ddbbfb71a85c192539db25fa7e686282c1306286c673544938dfbe10c9a12af53fa1347b5c2ed5fd07
-44 1 35 \\x162e41028d0e66c58af7c629fb1e0a42b480789f237c69f705a24067064c784a88ecc2b86556c02862b9e83c32b1c8cc4d864ac0b473fd580065fecfcedaf804
-45 1 155 \\x3c0249fe2ed69427138c41901e7f5ce69bebcaf2b58d4d15b7717b522da22cf9f59b145bf474d01cc86497cd862b0c6a4a53a40086f43fb3148edd257a90e105
-46 1 326 \\x9dab6ce60f28e3dc9aba49138e2f806421fdbcfe030d6139e72a56c0b0f29ef85ae81bd5b06c0d631c9c838aa66533a30ca3bf1514ecbdd77338ac2bf1f8a506
-47 1 245 \\x9ebd2721977f4f1016aa5f3b37c229cc7483fd868704580ab5946e064e4ed9b0e9e9851b76a1f516629aeca122fa9c3aa989c1f2e37d63ae9d5b74e84c3f6404
-48 1 410 \\xe48d4bff623c71d006d9db55ee48ceb72d34d394b02fa13cdb199f91b2f40b2eaa6aa7f43d08f97d1f1d5ce5f6f8ed51d05d4c6bb5c21498b418c70b8a190c08
-49 1 170 \\x29195e924f40f5cfc6601e390c999ff87a3002b2aee4310fd1c9412f56215140bac11d7d68f0299ac64b434990f6afa3cbd3042d18e8475f12e4dc6682257201
-50 1 85 \\x972e0ff694ffdf9b2cc1ca388f34b20fba9d9f1fae34ec31aaa347ae85502aea5de0e84d455afd0c8eb5305b08693da963d5368ea3e8c3ef96750980b3c9bd02
-51 1 75 \\x41b6f06f9aa473365d314cd8e85e55f4bed523507704e8f774e2fb34d3ff3b024151e459a65939b0b17b6ce753553450def3b91ba959b7ef2bcb84b5842c9d01
-52 1 373 \\x1cc4978c2a92cdb8b84552920462515cdc7511399d5c6f94765db1ddd4335cc25f37ce10a3cba92c94693be529ddf31c71dd8d27ee0324401a7e513aa8d5fc0d
-53 1 160 \\x16746fcdbc50a18a9e93bd14ee07e254b289aaee982f6567c14d0d1bf78171d8834130466e1563c1bd07e2a126ea92cb2a469a50cdfd59cb3409dea33b9f5002
-54 1 141 \\x58e176a5a1d392389c366d25476b86cc814a1a3f32db1f4a4a1d625772b14acd6b1b7915e1b476548719223de9bf59b2c47a8d50e44d52e434656eefe04bbc05
-55 1 13 \\xc55b70192a5fdf4549573635ed6873642ff4a5f2fdf741252dd0b80bd55aae2b68cb7904e7d79a39e4a03128827afbe6d8932b6ab9d092f395537939548e260f
-56 1 195 \\x5785dcc0d1242cc22794f75fb9f4c4854ee2750a68432ea357ab26b782b3756011bf732d7772ac241d84625e83c4da7e0bc2a63194c4fdc35d3d9dee442c1e06
-57 1 319 \\x8ba20e387a656be9946955f8012648f1a01956c2ad5627cd258f1998bca702d3fdac466c79049ba772c09fe4bea5024fd4d0b0b438d60a8076b58594a14b1901
-58 1 12 \\x57100e0d972d72b04411b2412ed41e09c0f53bebf3743b0606e70f709c46c5db976baac8223781d82464472f2d8530aa569f4374c1c8d529b5efad965cb2f106
-59 1 329 \\xe34090965b60581b714d1d08defb86b32913af5d2af8717bfec72723d02351972f6ca2f49478f748e5772a340e3b6e6c6dedc1c1fe3fac84a059fb7518f86a0d
-60 1 340 \\xdbce79f638c9e5fc37f0c03fa00713f709e6c5cf74d3df4660dcc2d0e9a497589c3cd7aa674f89dac1bdb25e67fc59dd54a9dd12477c8030099bc2dbdd23bf00
-61 1 314 \\x2f7bcbde286c766d333f928ad2119b9db33288b58ef79a67884f4dadfd6e2d8a242e2e83a2bb2e2f339cacc083a5b819e5275084e6820aec8906d93812221109
-62 1 211 \\xeb1d4a9fd4643a4b9c02becf3f7431821c8a0f6586ca785adc1e29091a39b1639952974b20142a57bf0f58fc95a853029f6cd84fd38926707c1c79106f72520b
-63 1 383 \\x5b797feccdbf34db8abc3b312a8f26bfd0bc60318584fc24d4f8ccf42526da5f69f0773038a21e3eb692a891fcce94166837be961c2776569f3c15301c0ffd07
-64 1 126 \\x5b7d424ea732fa9596bcd50d92a3cc3aee2a900cc2e5605448358f5634f5c915ebaf4c0e5ffa14dd2262d74ec35d7dc07a16f8b76ee769d854ae0d70b4985803
-65 1 29 \\xcb9fea5e1f15cf5379dc713046ccc5ae5d15f739918bb813188322f22a346e8251330b46b3383f7404b02992755d36275fe27080319fb425621de00dd386040e
-66 1 321 \\x34f52d51207cb1db4a9f203f4aa0bab6651140c4761e9a917bc0c86a5711052593336df0d463fe722b16174a2528e56bc37000671c5e9876e73b18fa70653500
-67 1 7 \\x8854ad2c33690aec6b6c9a9388c183c06e21c3b2fd5bee181246cf2303594a59184e86e4c4af8c4dda1ff86d5c6ecc6631e691e8f7f37b8ad20200dba56c4202
-68 1 111 \\xf2a9058efe4dddc9ae32473cb31c93ac4ffa123202bc91067026ddc29df151920683eb6997260b70cd72b280b4c6379e611324f6612a1983ee217d33f26cab08
-69 1 385 \\x68e82a44071ba0708ecabbdb8b80ef8e118ffe0201cd2ecbd4421c25b77038e870b76f4e12f2b09561aec11f15eb08658a1071a7cf6a51a528cf12d30e0e6a0a
-70 1 338 \\xc06b2658a74f3bba6c8bcafc8d96787eb245133f77e6dce9721e0838c92d3507107b5c0f6d3ef9d05f8f92087335b53e5f4e9f7caf6106b3ee3160d1da4d8501
-71 1 365 \\x50ed131645b479b57fcb24fa9138241d917d132c157f9a888acf172662a7cf5e765430b93b349107da228f79361f7bb8687a7c5536f2a90eb168bc96e9887800
-72 1 181 \\x9428aa722c92dc69420bffb916d45189c76bf0854159d044fc64a480ca05ec714684c5f7c9389b40ce7715e0d6d69468dda20de358033e6adae1af58d39ad30a
-73 1 98 \\xb3a3d4b309de95fbe4645a0685de0966c86a288c220965b4d0ce6d76d44a396e31780e5f8924efff7c92acf42b10fee0f7a2c64e60e85302f1d04d437bfc810c
-74 1 218 \\x6c60629585a7c5075a257b3a9f5f317ed81e18f302368e272bfceb2e800dc50af2f2e9dd9d935e045800dd824cb69697d5ae9f9bf4a5a9e36dc0da03e0dec503
-75 1 159 \\x38de74d6c2041c88e98e058d09ca29a2122052218c8105bf7374370faae0e4e00d93f9d36e5010acf2179321f75f883f3092b92f08692ec9dbdb6483dd0bc30c
-76 1 325 \\x8820671902b9266b6e481628fbc11a7369d89c14229987a8d381eb5e617f91343357d678c737ded31d26484e99a7041c0256690fb92c415bed700780f676f103
-77 1 47 \\x0e1c78f5201b990bdd4dece8a790b34ed064c167363a9a5f80c6c6e5016abd36a62afe7ef806830a3724bf8919bb67ae38912fd2e659177359acf7f4e0fd540a
-78 1 305 \\xe4cb8ec7dba60fd6a70841d0299f8f64fe891c46b2e44841d8aff5462de188e2d925b5fce47237e7c782b4f36e013688da4be890749cd228ba5aac6fcaf21006
-79 1 387 \\x770874aa4856ef0974aa71dde7838d364c62677b60025d00ea532992e9948b1f03c2fc95bef0fcce83924047d8b820364188e548d7ea1c1f62524814eae35e06
-80 1 71 \\x5af51ce6f6f8d752ad828f8c7620a39c110c033a4b1ab42c22509a12508c7f821ff14e50ef58370955e446b6078b80005561dee5515b852053339800e7800f08
-81 1 70 \\x1dd70e02862a6926f053eb2ed696a7b07099851c8a87762f145634e7dc56504decd9ac77376c96956d0710cc600b3495414f0c3ba467d1a92b9ebeb75df4780b
-82 1 74 \\xa5b9837de7fb2eaf573de9ca6b14258af50a202761c9a4cf1972721d017c7c0be86f3d79c23c654771ffd29f363f6ccc167c4e75cdd837e23efc0e1e7c923f01
-83 1 104 \\xee011326e01a1aebce2be42b45d6b2ccfcb6d3dbc49a8ff866849d3877bb064cde74fc48fed77ca281035fafe66b8d665ebffc0f2c0d593e4307719b2fa3a50c
-84 1 254 \\xfb01b5da8db2cc10a17018843a34bc05c5628502249e49ade2a1ccdb90ce311565ab3f8c4e60fed4b80918237fb6c088f372989b0ebd8e4555f1e5f78d5c5004
-85 1 347 \\x61bfdc51babb837448774943e97ffa4b1f237fc199ae29cbbb61dc1eee83ade789596c7f8fa5e2946fdfbe2a0dc362ee8cdb166b1effe9c3d47587ea74c2ed04
-86 1 92 \\x2191a1bcd25bcfe815ae8f95d3a4d169659556d62b27ace2ff680d187400fcfbc9eee5f4612b87d3cf3546e4d1709a891c586c27e57253956c7f666130dcf005
-87 1 322 \\x009bc2309ea7255edeeb654f93b3c8c6e3ea547aad6f25289788200beb3c465f234b83ca4c7966f587b3451e6115d7d42d9cf8d273c537a10d6b3d7e0e55b20e
-88 1 113 \\x6de3fa6b058af6fbecd4a0dc7338dabd1be132a96d5c1efe4f685ac86305aea9521a78cc74efca0723a692e6e2547a8b6f3e2332435975f2d7951c1c790f560d
-89 1 134 \\x4d1e40ebdfd5d2c7b863af8c6353a41fabc866cf5833c0e37f17f0bcf31ac249e1387425d1b0116d7929f19be5248bff45b64e509cd6e875369f571739af7d0e
-90 1 143 \\xf65ef9ec35de557330413fb3905e27c29698a33535280bf766bb12112ccc97e543a7635b9abdb97fcfcf221c18243b8d2c73da057c59e8fbc872f729111de00a
-91 1 388 \\x18de8392c95530fc19e16844b269dc6cc4ca30533c7fe89254a39b168521a80908e925dd6bfda2ffacb93b54a37789c478c0212ea0fcfa2db9e5d5b32de6780b
-92 1 207 \\xdef1dca9b719c67ad9a5f7c17cb2babf1f39239e471f1a5b4b7b8a6d73c9bbc54ebca0a170d9e89a8bc05ac62cfbff66f2684ba41a6bec71675907c39950eb02
-93 1 295 \\xa401d5db2dafc2ffd7259e4193f6899f04317f529bcefbe2b4f3223e7cacc018e756b08e3cf5e63f6bfe5c6ff3c04bcdb86a110cceb8f61be16cf0df41e39304
-94 1 176 \\x47a782954a0e3ed1c66428f9dac5583845c84235c9b1b99c14977d38eb6cf6504d9496d6af212f00812aeb58b3ab0c7576d2b0e69e0caf36747f0a572768d105
-95 1 233 \\x71218e6b6a201fabb294f8a962dcdd5b4556658eaecada57fb8e68c427bff0fd1a4d2d19a3b77bafa422dd8b7dae183bcf30438d59ad6e3a60a0cafbf62ef50f
-96 1 421 \\x13c03e57076f5ab272fa0d3525bdd2f762baf70e9daceb78ef3776ec1a6b757dc2128dd2405e951911bf04edc2bf9458743d032df12920c7fd31bc8a4913e50a
-97 1 120 \\x18c7a0481df4a598bf6546f2a4292e5e1da23c7400ba5d24bf290a95793db3b843351eafc97bfeefab1c17694ebbbabd9d2679cf1b8c88ae1b1a251a0885c009
-98 1 289 \\x9672dd98774d23ce3f8a185f884dae63fc2c7afc40a5ff8a56b60bc3d682ea3093ca4458e9d8ef75f545780eb33364e6451f3893f2c2cdc19c52b71bcb7f970b
-99 1 330 \\x113062d5b984cd834dbe6f05d6678a858d0579981e812b26159ee89b134aaf91d3cf1c53d0368977ad759d488b76c98e799084c22ee4a0999ce66d2e0034e003
-100 1 423 \\x4654fe387c9b291f7d92e4f8612146c99db2540f9819644b92eef9b754396642efc61664acb6805093ae0e4913186c776bc2247b8d5a143c084b5abfc1ea1405
-101 1 130 \\xb44931ff6854974a401b64934943cd1fda50eb6b1ff1c64a1c22541f43c2e19fad29d5d5fcafacb47b641c94e8f130f747164d08e693efa7eeafa119ae26ca06
-102 1 34 \\x730072422ea94f148d063ba0007bcd9dbd5949f1c9d75bcec7a77f973b2a325ac9482259c18fd0457b61ca024722dcec1a202cf9bf5d05c4ece9565149bcf40a
-103 1 125 \\x0762e9b3cb4487a473b7eba3bd3373251bd6163ffb75d4958645edd60feb795a89fd136bf8ff0100a06631bda735ece1e7c9cc9000b40816b50a1c4dd8665300
-104 1 278 \\xc74b00f0028d846d2d3e106571040bccf55b534559d072fa28ec9db5c6fdae7d9ce7fe2581bb3b9f9f5fdb347e277372feaa85313d01046f21014b3ae6be9408
-105 1 178 \\xc46bfadd66c71830aceb8dd0e6a259bee1f4ac9e913eb143a59ff20a563845d5882227ebfe86a02977d20641f8825b9a13f72593a436dea67c6359a2c7044f03
-106 1 133 \\x5d95f3a6625141c1de94c4962d4ca132196a227d4f983d8902867df9c57338da5b0782223b9d753ac8cdd24cbabbda2a1562b0044ba86ad3dae670037b87700b
-107 1 204 \\xfa6d260c0d6ef8dd03830793604eb5f8f55305dacad9d08235e15378e18e4442fdcdafa9aef9e9eb6090f0830713aa949324fee0c60a74f47c136188b9b2e306
-108 1 109 \\xa333da43f6b8a7ff8f2a6eb31403d084377cbba9c5c66d5c441e4bfbf4afaca8d2dbdc5cc8ffc6859d8e20cc91db7e71396427ca999d676865396a0471ae0a02
-109 1 223 \\x4bf51daa51d1442959325e4e384bb8163ecf70d8fd588d7435b4e930c0b82e867c18764c465c2dfca5913f197233dd9746a81ec92353bbb5815493b50296930a
-110 1 118 \\x142c7463811c4aadff2a14c3b09cb9dba3ece36d6c9442f525f6ae7e602258c0fd0f677c73a23e05e4bef86172152911980482fb62e92a1f2cb884c124106b0b
-111 1 16 \\xb14c924a4d5a9f05658aef029a4bda42ac63c1a70c3329adb1c774d06e70a82a9fe3ca2cc750001255efc3c5ed7dabff849b371c7803a29e6d44ddd95e564f02
-112 1 33 \\x911c272d9fef3b79781b102d6ab5b59665fde57b900e1417f7862e414242d48af575372be50f8e011759f374ad274461d2bf63012ca8ef1e9d44307451fae40e
-113 1 334 \\xaa28d8bf302ec66869597ed9049bab17caf842265a99d5a8a7418ba040cc6708ed86db76f27d98e65f6db414d8746e837ad8815fbfd7e8a13f956bbbec27b00e
-114 1 413 \\x7f9e9ba13dd755c72195d8b864e7f009c6e102d7ea335ced022172bb3a37539777e3e62ec424a4c258a6c13964a62424a8ab2c3aaebd375816f5cdb49b9cea06
-115 1 297 \\xf452b0aec7a5ba215591f2a908f8af6df02c6414674a9f4b43dbf7405eb34cb66edc3a53b48b2df4cc76ae9e00195d346ef205fe1ef7be6f1225719df68c980e
-116 1 84 \\x80430e14f092c7cb0ac0cb8662b2197c5dd4fe00c60391669ae644b21dd164055d654209e59cf7fa494cc095214e0dd4278787ed32df2a7f23a125e027b8490e
-117 1 301 \\x2109a02aa5d3249d5a26c2adceb1cbcbc4469e5854f0d54f7588bc01e4feb493a8d1a85cc50384880cd67538272e911eb8bdde1d6154b47a7c65668d63df1b08
-118 1 186 \\x7a59ba00eda58b79f4322bd6c3c3b9ce14a95cdd9a3ab4132189d95dc780eb2f7e021986b177bf2b7ae2a922dd1dcfef90e3b360df60252a70f5b7fad933d90f
-119 1 31 \\xd89e442e38f865dba803506bbdbcc0b719cc5f755ec2a8fd8dccde483ca6659c1111e154d8478607b329fdf6bac7b8be043dd5eb8355cc2b8257214584f42e03
-120 1 49 \\xc038b4afdff42991460904b8e65d80b474838fda99d5b73896c4af83236526a27af935d752a25d222175fc407bd647fea21e8c0762d5a7acb63d0988923cd409
-121 1 282 \\x175b79fdf9ccbca89630e59fe9aea449a4f650d2677cf1cc72b94174fc15eda12b27becae2b8eb8f867763a0f634829debabfe520cd94ed2088cb27e57985002
-122 1 110 \\x4341c6c08452f518c9a2bc9689b91a383e92097c56178c519fdc126855d98dccc9cbfdeb7208cc5739964779bbb1fafe6e02347d9e753be89891cc5d0aa41203
-123 1 88 \\x0d7dd6e7b0c36dc80b3f5f9608bb30b8f95d983c728b8c66dcdd6a95c9fcc134c0481a48784ecd01db19d178681be6ce1ceeaa23793c1c9f0a4cfd1eef115007
-124 1 148 \\xc8ff8e40f74b08eeb9090556cb7519a3a0d98467da99cb1ec08043971c52d292d957626c3596cca8b370a183b98126f3a7e85353c4236ba3fa292fd302a97309
-125 1 27 \\x3156fa11a013e5656010d8ff6c59612c6d26e4f10d8f70f7045b91bb22d368515d5cb9d6e571d86ce8f8c9d7d96c5edf3c82707a7b0330d5ca960de30b9d280e
-126 1 22 \\x7b8ea6f626eb5fd404e7bee07fad7733a06c0780a1262245fc778ab1cb6e00ca1c6e3d908f92e5fa1cb64318b8407291f339e771685072bcfb54f18587bef507
-127 1 216 \\x8ededb2556d53f169bab91043b71aae913195ac100ed5abe2b1f3282891ec6b8cc39bd5762b2a2a7ca8d055f31250c088e1b577127ed7708988c9147f0a91207
-128 1 24 \\xcfb30b69f90b8e01ac35a226a8202bf05b42ab9ebf49339b8abe9e1c45dad54769d1093562c0c642d8c9a0ec04bf16e878af0f04f10778b2aa50a03af14f7003
-129 1 279 \\xada15c36dd413035ea8b7581396d9885c6ea1221f65fbbee5bf012b7ead05038f132edf2bbc90e52dedf8381dd6e17bf4182d3025bed1682c0efadc75ef51005
-130 1 298 \\x2e67a42a14e147ac9e7e5ea9ce45bcf7196ecb18008a7f87e46cb109f56e37123a2a4aa7ffdd8f53993fae23b247abfb2b4b72654ee8dfcb51ac756599396905
-131 1 62 \\x372734a5cd1c3dbb652c0345785a1dbf2479583c554ee920578d31a852d4715af8e85c647113fd4fb714023e80f61bf102a91e96a6391223ced09a0c0892780f
-132 1 17 \\xd572c979876d77917f5d84f9b0c06a827eb3878cd8fe8bc085aa709a03b2cd0f4d713b419a1c593b6520335c85b77006725f402e89c6dba0e6b18edc238bc709
-133 1 203 \\xba7c9742606f857800c3e37910539b165bc06cfb69254dc8b7c9b5dc9e490396cfde1785127bb273f0f3a1ac62c8350b4a349fe015555d66059fdbc6bdd49802
-134 1 18 \\x0da0f186ee34f6ba4f19f9ce27350261e728c1d06de722c93fee7d3eb1a8cda056f53e64bb9e0ea33bfd44993d2aaa4f74dc039a01dd7aa8c8618fa11ae2d105
-135 1 23 \\x1c58a8c9155bd595e7914d77d80c602cfec8bec46f24c46d9c477ad9b6ecf11c500003d6b4c371e71473ba2a416566936959e08ca9bfa75124eeedbf6bc3530e
-136 1 107 \\xf816a5b97185b6e534b3e19144777afddab1ec6a4fc1c13e3e8f8850f76eaa396b2d6634e6061ccce7a4b9ffa967e1ca9b71c2f465106a21928673d2eb9c9a04
-137 1 21 \\x7f224398e4e0e88ac8a0a2a3b9777b912635fe0ea263179b72643ed56949d502e0c9d780912dbc203986bb2079d514e2d8fb5008e71e0d5f9f41298fd827ad05
-138 1 350 \\x6de91aa3abc7fe5775a7b309f7c4aef4349f4a03402425fecd7ee86366d35f99c7c64e23f20d788e6129dc1e9cfb6967566e0680206b821c0f2405749250f502
-139 1 367 \\xd1d36ac29e8e1f5c70e8732609f5af496440319c0bd99d851a06b9f85cb2db46fb393a15e839eb76d0b7573bd4294aa3f1fbb0779bec0fb05227fce3b2bc7506
-140 1 156 \\xff4be03fd22a372f3a8f8f50674c84f436bcb71650bb93ddeeeaee42c9ec40596cf763e38baacf52c770806b6bd149566cbb2f49d720f04bebf75932e7915b0f
-141 1 394 \\x32aa7254e5146dd6333eaa24730bc6ab7d2cfaa6fbb2a09b30f71b32a50d1ac18f368173b8e74009fdf1b351f7e17eedd80faeb52f2e17716aeb14cc73821107
-142 1 412 \\x197c34c3316d61d58ffe45da5e88478699e4385a9b6a0b4c88a80d53d6f46d4066e9afb65b5300cdd002db28f8a073b95654683bdca73c8f3ec311f363dcf602
-143 1 45 \\xb8373c8d9cb02487207031534d24c8efd6be0cf02ef3a1cfa37f2e8f1655460d327842d96a76229b7b1e0d2b46eafba07a4efb3bcebbe3914708cc80258ada00
-144 1 124 \\x39ac1d962ba66c93bc3a7ac7924105eebe7c34bac59e3c9bacda85f3f2f584cd0b3a7f22a24562ba8ce56ac31ea04bb65f9143e63ce7b4f5f97b93ccce40ed06
-145 1 140 \\x3b2bd1318974ba7486313411e83ca3c7518818e921d96168051e75fe8e77af71fff06fea3aac375ff3459f2c6263a12a46d175af5891a439b5a9465d8dfdcf07
-146 1 145 \\xffd60d6f0df494ce38dde3b91b935c5210452b4989459443125aaa8e3033103ab3af8dc699d536da6496b586c3b0b5e39f5c70ae1e802dc52990a238a3c4da06
-147 1 40 \\x04cb7ee31324b0129f2019e6d5bc70f903a823414cad5346546cfb760f317a6abc1880b4c38c7d3ff0c5fa11c491c0cc94c64480c898bdb50f2b8285b50d7f0f
-148 1 381 \\xe007eda636ff87b8c0a0fa6ecf08f94611b741c1c8b87e0b4859233b0dd9aa62473b6e32b58fec8444a329be7db34a4f046e92f196d132cde916a82002c92309
-149 1 264 \\x82a7bbb65de418fda0f35dcafefcf1a3bac8cd095881f6ea3bed60c9995d200db2495c7c8defa63a2b04e4e78978c581438eb8e7c5687f6cbdc80973d16b9309
-150 1 313 \\x213254d627f53da7de40928afba146a108c58247e788360b3c89d9519295c4f53846a421e14a7771c848e61633469cedc06a81b396a9bd75b30169de6eaa2d04
-151 1 343 \\x5710a3a8cfcf1321f25ee47296201e9d229d891a001c0705c8b3c154ab17e47058ace28f2b9b8f71669bf098183b27c97e46a249fa85b2e9725d7772b7e95f0c
-152 1 316 \\x2ff36e2b6b82bce1857558cf729cd01bc6fc0b72d49382e1539896d69b048fa66f2cab61ab21b3ce9a69071f8c7c9caee513b0d5a82c303f41e2c7d7278f3e07
-153 1 78 \\x0b66cdc4d4ac2e06b1ea44fde43860bad8ffce65057f5f11c9e275aeefe7b42b02c60e2bdd4bea6ccbb3587ad7a5ef27f914edbc5090353f171683670e2ded08
-154 1 220 \\xc9de74e4df85ee539241eb6d2248dc2e0f3dfcf28361832efe2d3593c08d3bb31c73d6aae8b56fc60fc8669ecacd97bd30e275c43b3edb29c14b0ea194caad07
-155 1 416 \\xfbe3c8029e629f07c48e988f2b728fc9517fbc540b15d070c6be92fb1c53d1b294de1400efd53c2b1972b3f2a6934ebbdfa65ec7f9c379211f747202f0236f0d
-156 1 283 \\xd5ac5b98ba26fe582a15bb1535900f7fa0254cbc76275b5661e5aa06f42970e01d3dace62dfe5a2c5601c491b29fb87077e718468776f6843f443259c5dc4207
-157 1 227 \\x24b583da8f70e24f7edc9ce10ed1c9da0befc0802da68f639caf22b18e2b9157b1bd781d9ec008bdefcd0eef86b6a8feb27a3b2db1b58adc7e03876fd32f670a
-158 1 291 \\x3afe319d8228b72cd257af1bbcb47bd961aec26fe3991cf1a078f70a32750c4abbdbe2ac39c02e4646c7c98fbc99a74474b239ca5b00074ab12044e9eedb360d
-159 1 382 \\x4588363038cf0331b4321aed38e3451af22cfcfa808b7cc877b5c9fba83102878a7fcd11324940964cfc106795f80da58adc277264b3312b937c637f19870208
-160 1 112 \\xe765a87310d28d50bb1f91d6687bbd2d75cf7ea43812c9226309bcc8b749db074c0f043769f6eb8eaf50acd5a13d315b9078ae95c25cfe3f0d2f9f14bba0280d
-161 1 323 \\xd089d0db62ffd182181b2440bdc3fa05aad9ef9311fff39b92f693ae7b4801f858f9ec18a0ca8b3464fc086da4fb81c379180c329ecbc27bdb40d5982c949303
-162 1 206 \\xdf1f56982484062f0411d0434e419841df0697d9fe9a99fb8686ddd3338842508da2920c938632af8b4277f16584fbd9e55ba23cad3546c1ab81801cd6dfb50f
-163 1 199 \\xf7eb62e4e6db1a6cd63df480804bfcf42061c4fa0841322b4a6059aa5e82c26edfa82151f2fcbb52f3cd0c892aa52c0a6415f7714e23936405d2a0bede51e70e
-164 1 58 \\x0abb6c9fe7bf5a0f49c220c85ff45fac68523ebd70ba4e9ab22b98432a2d42427314920bb668f755fafb4deb031710a806e73c0a40c523e251ae730e56e05f0b
-165 1 163 \\x820cd378ae7d1c835e5008c29d6129836345be458c59959c28867691be4407855ef1c0328dc0088055018beb3582036ccc92043911f5bc1a3cd4f3a2820b2001
-166 1 229 \\x23546439a77cf9106aaf6e04d3a65a311e717ef5d89d4945285c8fb52b617e9f98f818a9f527368759a5973bf791340fb58b6d392ffc2ea715b520f867e36707
-167 1 83 \\x88b127f0b540d7f13811c347f3a2a1cd735f05373abf54c37dfbcba372d78e0580027b95d80fe010ff5df5007440eac236634336f7b40ec29bc6c22179edd20c
-168 1 128 \\xcf4d4818c06e638eef5937300bf1f4b37d8f4247896da10fd85c2934f22cd7db5611541e5e38b73813a9abd95af34a845966b927e528784f49e4838dfe0d5b01
-169 1 294 \\x525b73019c0a76cf99ec3c9f2f5d4eac1d43dfdb52fbef95e226cab79a848ddd303fe93855de3c184746120166461e3903204276acb32416f36a3e715ff02400
-170 1 86 \\x55a238c9b6661598e62f7ea1b2330776578675a8866c916f7d848846532a5c5e1f2f02474ced37c86081094d80dcf7e90f3325cf8eaa640082dfe97691738001
-171 1 172 \\xd868d3f471183b90e46bb5d0561dc6c8ed1ee5f81b4f108b0fbfa3ef21c83b29d1f139010af779e6fbf10356065d550e674c488b1f9519f2b79a15c3925a0506
-172 1 182 \\xeb0e7a425702ba656966e145ae0112d666ea74fd5fe2ba0f67789a2649f28ba34fddfcbb31314417575656cc2f2d3558aecf47d02064e6ab49440665332a6c05
-173 1 363 \\xe259f29a4865be5fb01f0ade6a03580537f301122cb74de45273d4976e05609fec0904538cb4dc080d13d6c53c5ed3ee53e06880e2d4a4ce70b5f363d4200c02
-174 1 379 \\xe1fa6c87f781f0f9f16c135ef5e6b634af318f90f6b3824652934fc63ef6ee0dba1f7e9cd2693210ce670801ac723a276ba7b470723419711b4ee21e145e4f01
-175 1 222 \\x9ebe1f99151a78f7ce27e621e0b4a091997d86940ad0341dcdda5813b49f3f7537d880cb86dfb63534d0c49141a3694e90a42e9321982d079c284221c6462e02
-176 1 228 \\xaf5bd6293bb1dfdd520654b4e6ce68ed656f86a470fb697c2ea8c5b2ef7e89d80334657124edc0eda73128078c85533b8f74c6d25c0352da89f002d2bdbf5e0d
-177 1 15 \\x1b69b2705e8f7e38df14a31a8d815b53a04b9e651a4b1384dbc08ba76507dcc14f6560ccd37dec90b0bb5a2bc375731f0f8411a98afabe12688192aecb429d05
-178 1 219 \\x155da73e1be2c7aa3684fd5d96611fa20b7ad1a4ec2a9c70bf78f5abce18674b85bb15deb5d84fc9ae11c722e4500ddec8889f0f0234add18d836271a77b8e01
-179 1 274 \\x5e8ba53bf1f6178c97cac86f974154b3d0d548c2452cd1beecb8a7a6b78e2bd5f03a8ba7eea954753abf82c83529a2cd8aa867690a08f52761fe879c6393d801
-180 1 129 \\xa19a4a6489e78b6ceb5b8832a7252777068928c76ccea623e54dfe578f095264a64bb41eaa76e9a568f551d2d297cc3567fb4162d7c25aecc16fab0f05cdde08
-181 1 270 \\xff1522c1006c2322becaf9fbc7446f67f3d49acd0bcd336ef991be967c4705e130c8eba29ea75af4d194d0512b982d86f7d8b663e2ad2a08a8e68f7ffabe3102
-182 1 318 \\x246a742fa00530b7e8b57f41229775796e2b199b047d0ea088e17521ee7a41cc75cd043fb8a869640a3f9d371e8d0af863b37c96329bf9b28c469de31479530f
-183 1 25 \\x32fa18a128a1999272a01eba26d8ac8897f5950525ae2ce1210c2d51e334b108a864efec8df44b50a90e510a1fb1074b1e41668bb7dbd58b49eab3601c9a9a0d
-184 1 384 \\x29859b897d4f812e4b9f940d9ba482ccff59739e882201adc69354a66c33bfd7f7d174fa3b724cad248b6c575e78b6e8ceb5bad4ffc3255007d9aeae5ce4300d
-185 1 371 \\x6990553edd09d9c67aa84e31184c43bae344f438e463521f18908041752538acf038abf7e55e3ff2efe5c2b17f69337fa66be9fe602bb2915c6ac6810126ff0b
-186 1 72 \\x03ff9ab8716a14c7fdc2b22c6c1613a7a41e2bc5a7a4444179694cfb35d731a6a1d2781b1f1dbcc0171227fdd97f30a1c7d4d29913e89f942fafb9bb552f6402
-187 1 212 \\x9bb3218d1503fdf0c7cac045d5c97eaa8214d4b742ef485ae53b72857b3e991483684d867786ebf27ef82c27d15d1be64adc4d894a046f53f09c346f10216d09
-188 1 201 \\x5209a80b3c3d9159f5e43b84d58a983bab597bab7190c2ca2c33f73e0a9855788b9dae0c58aba24b32edcd55a212d8241a18aa956662cc0237c0e7e2238bbf0f
-189 1 197 \\x4407a12dc6f910ec6109db193d23e1815126781319792e30d4a03aa150a6e9845fa8e70fcd81bec90304190b319bd947e028a485a0826d40c3bf1b6562c7e001
-190 1 53 \\xe8f323e569921f27d11b80416541630f7c3f17feac36e536942dab1db286d566e6db7ae0e54bd1a7bb01d34e77cdbfe60c85c4ce1d8075334d2c92d51cb50f09
-191 1 415 \\x6afe0d52e19ff8b36b55e0187eb12ce1ab3fe57f0e51e0cfbf4889b06fcc23c5fe387657bf37b13da643866b633581bbff4b7b9b901af98fb9029a4d7bade901
-192 1 9 \\x9864d39b89539cff7a11b22eb2a8481f8f8a60cdd5c2153887189c5a0a7c3637528173627aa8d36d365436055fa86a8ae6cd74ca102e5502f1a0027b9ac8c100
-193 1 405 \\xe1de0ca26a0953c58c8d87857cd7b16551457330c626e6d43db74ad9c0338bb8586b4db15b9e917e3d51417736bfd51d25f64ed912665904850e5b69ed018f05
-194 1 208 \\xffe992797f0336147e591ace2686bddf4c882a0be57254c8b18e7c1bdbb9ff24ea2a0724679e8da35cac9c17e883912984b33275d07f4a990393c74ef3f7dc03
-195 1 389 \\xf65093921140f54c8f8ff45d8e792838ca7e46c9c12fdb60391f27eff06991fef5b8b79b95ca3d9b889d77e0e3d32315e4a695427754245ca310ff010fbe9c0c
-196 1 285 \\x5d06af346abd3244f20162186c7cc11bcfae07d464c74fe4c28b0be742fb6fd2d242f90daab91995b5343aa5c99b0ea5965974188488e6fda79a425601bfac04
-197 1 357 \\x83ee09c5ac5074c37f46a1c9bf5510bdda738be5381f2d2a3487f87cac2e6cbf2adc6491a0781b4e946b2f48501940d24668e1742a1004222b9f42a480befa03
-198 1 5 \\x6ba02a8845ccd887798b3bea6f54e7ccd957b4e4f1f11024a6eb8127d75dcdb39ddbc21b567d3fa239fbc0d9fd7676515f90913ad9e3bdab14b9203ff6b86f04
-199 1 20 \\x838cf14519c1f764921e33afa343bc012e685be5bf50dced15e4086017789ec2533e71e05b6a73990c95573514ccb8c5e027b0597f43c6abe49f9ba8792fe20c
-200 1 56 \\x38980207fa0387a3c4da686ac9056d77df54540c9d2278155c9eaa826947e4664fad1221e736f5a43ba8e40d7f8b6db60d0b2735de943ecf52c444878dbbe705
-201 1 281 \\xa733d1c9614ca4f4783a55df313ab432aa6412894b857a5d998c6843abda22b76ff0cd2ec867796562046ed1ff369a27f79ab94c049d153e37ebe09941c7c503
-202 1 368 \\x01aafbfadfca0047ff21b26477e66300db60129f544527cd4188de0a6dde12cdc635550e2a8ee5cabb45ad89d8e4cc8b29ef14d569011b6760238a570685da0a
-203 1 99 \\x8b68619b8e7f6fc1eae5f9b1e10ae4043506379aeb57dc1e9473d294e5d896cd6cd71bb71a9ca8a954cb8827006d29a688ce3ac8d7d1feaf9a49de3d43a0650e
-204 1 386 \\x2eaa5ae25d104b146690552ea002db9c9fd510dc4c4d5449d137b9765346018c272027227476172fc9d24d50c4c578da1f23a3f08b5b597c8174cd6c13d4430e
-205 1 14 \\x45be4690643ff11534432f0f37fef4a0c4739c4e3b4f1831431d5502e3b9b4b0eeeadf963cb7adb2cb8d9403c11b6b7edce55c44c38470278ff43d795d25b505
-206 1 82 \\xdba649c9c4120390b8961b315aafe203ae14d73052760c4f4b87171d2bbbc512a2c791dcdd7260a228cd74fa6461262fe92f2950bd118102215301700cc8110b
-207 1 244 \\xbaad8574d128e4f53b14f92ccd73ccca7bc529aadf33e5f734d1510db28fe0cc0f2c64b082b9527030b735a6ff700ca199bea7ca18cafb8ee75d170ab3c80207
-208 1 391 \\x855686da484b275c7493d549a9261b21e9d793981fb746f2e02a1bdf6bb62af8fedbf7012d06467d3f87502247390607b9e48d787f1ab4c93996e0f81d02f70e
-209 1 255 \\xc3b51146a7b2841287564c3a48ce38a361b0a9325d70ec5bd585323747eafcd3fa626baef13aa9f37bb367a69d3b7a38ad5952fe72edb2c8a5fee181c6389806
-210 1 392 \\x4a04807ccf4e6b7dc87a7944a76416515a5544e2577d3aae23897365d06d59a1cedd0ed34faae1ff1569e920731db6b39adbee773eb762d632434ade725e3d04
-211 1 252 \\x95bf9ae6b4acca714f2fd69246eaa6641a51021b5cfba2df41fdf1795ada14df21f608271046c58482e89b07820dd139e1abc85f82a371b3aeb26d4c1d16f902
-212 1 10 \\x4e143d60a7eeecc995894cfd93f9a7aac43bbb4e112469962671678af521588c17c244aee20ade08012f68718a63f75e08d34ee4a9bb478ede26daa976783509
-213 1 2 \\x985a1d2d104fa39b54b5084af155a04f1e27ccf708dcf0faaaf3f4ad7c76eda62137ec378a36e4c3e2c0b58a83ece071bc3117a9e06f3544e69703af527bcb0f
-214 1 139 \\xb13f8e435c7841acc43632f4782868427c476fa243cfd5d670fa986879a771c4bbdb64f15ae698cc6d593a008aa211987494d0dda9fcb365fa356d1f74781409
-215 1 409 \\xedad63e4fe9aba08c4562155186bc7a3d8201b66f6a9bcf0e042a0adebc133280671804b9db1b9a57eef5068bca8fb5be645f31e677d452fc586e4168d9f7701
-216 1 135 \\x25359c0b3f3f11ed33760951195ac598cbbdcf909507abaa88b8ce136473cd5ae64a1ee6b792eb4e40158da6dc2f017f43686fc32550df3c7e27ff01e591640d
-217 1 337 \\x827ac651a6f8044dff928949c637f5e55a87b0d45e480025db4b30b5bce33d1ce629d9097ae358c21f343b217a27ee43589d701ea2c83fd57c8a2e906ca47407
-218 1 69 \\x0d8722d8907062d1972b8a0c6309b7496ff4e3112c8200c6550cdcf2eee95d2233df7964812d9c3b499cc242bd50d5ac4b8a3ceba2b7a3acbcc616f626fe1a02
-219 1 251 \\x3fbad0676b12d12b092eb7b2d648d6b74a609605b6e4007968fe9d384804760ab2d79005e5c279f2900cb1c5e8af7e31d5b73d1c5c18828b243afcbe0537090d
-220 1 93 \\xe9cc92e454eade55dd555b9cd12f80497bea5df9de1a632f330593a75e36405a5381d9fb331fdb330d5f367ef4858dc57a342280f8da6bd99e1c2a856f2b2606
-221 1 320 \\x237cea32c09f65f3782df2186102e2c7c2c871b682ec5c2f1f8ba888cc2bdf0dd184007b74e33f4c81fd6c207a07ef96c3f87e6091fb366a8780375ec866bb08
-222 1 403 \\xf3f1e55bfdaa41a9745f6e2ba270efb11809d4fd545c4822921fdb028408a641d20518f5485fc3dc2a6cd389ed65f721a39d00ef9ecaaab1b39e28c4c3621208
-223 1 191 \\x7921c4dd94ae6be332e42c1d4c6e85877c5b322fe9376ebcb0572e40991fd80f559083a1686fb2204c81a2fd32dae283014da8e4d469769a96968918fbd86b09
-224 1 57 \\x138d38bd43450bef5633765235313dc4076ad61275a441b1f9776d1617c0d16dcef4a3d18d4e97d905542c901c390a4b5ff194614a0576e0e31cdace36fe140d
-225 1 239 \\x53b46fe9fcb5f9e0e9974018d6282af3fc4f67aedb0c6a02eed5e2f1a720af27c9e1406138987b93f6f3d0f97af1bc39eee86dadbd60727d9bf9611a1b50e90b
-226 1 36 \\x0ff96dd29bdcf350ade09d8361910633fb05b077a8280591be063cbc22f4cdc5b537e0ad0be12c971ccd0625c16051c9797d3eeb82207a67aa530aa773a2b001
-227 1 137 \\xf2517f513ef5d056a3a0f43a0de778ac57214df094f04933bf95b901e11c31f8b7df18deb8198a022672f0d7712386f5610514f6fd21816668da766648d4ad0b
-228 1 292 \\xab2b3674b41d3dc9dd456b9efd7d104a5514e2ccadd8a9285d314fc9d0b82bfc93a9b305d188b3dd263c157d3d91d92d0148f792aa7f0a8e32c126b6c579050f
-229 1 123 \\x6bf48ae32a44780df7fac63b06511926860210ee313aba6965da80bce2d1ccc7e1eb00b79e5e54f42fedca9a833a814fb74298ee763a4e3a59d2ec8f221e1d0e
-230 1 331 \\xa71cc9061d6ab282d78eb06e92590f27444209e4c289820c44b0b7ec630a39afde9da692b312c6dee9558b090c77be88d40dafea3dbf0ca293aae5469297d309
-231 1 184 \\xddb55908efd4aaafb227bf2a3143f8fdc84f5351e472cd7268e57891399d217795d7446edbf030b6659004c690e4495adc838d7877f688a0a123e738e4ab9904
-232 1 68 \\xfa90725ad8bbb46e2ba9586378db751204773a5ed4f25e95a5492a376c024c0645184e0928807357afc96c66d9d05a6f6a647ab3e2a7f582c6544876ba871c09
-233 1 26 \\xa42714ab8c98f29827526d9f8cd157cb8acd1cf5490e2b2aa521c150aaecd8d2231e411db8fdba78e95950dbd2f3ce8333773d84a306783017fd61c9d5558d06
-234 1 225 \\x53a9a667c76d112acd6b5aa205bf29e55325d81e12501efc384d5d9c3bb86fec981e9abedb9f8d3b4fc42a42b64c860140a32aafcd3093fa729ee01b8b810c07
-235 1 358 \\x03ae18c8add5ad0a6bd0f1c484335d1a278610d3c3646d72443506dd86a2c88b71402ad99f87ac04ad979604afc6c439ed060f8a85ea4b52355923dcb530aa0e
-236 1 404 \\xf71bf08d01c1c5443517c230d0133236cde68b679a310930f6e7e69b28964e441616f98e19f45513b28c2961e8df53bad3382ff944b62b37060e1a40b1ef0d09
-237 1 376 \\x3c6e856455c4359f13d6542fed5347ec24d6cff7093ae1da0db9bde5b1c8f2b1fd4d171176a681c8a29d9d5cf06b9ceaf22d4a73457a4bfe8807c03532508c00
-238 1 194 \\x221fb0e44281daac8e3164b2d5885d04a85132f118c6cda9885ce7bb6378cd23565279a2fd8e79e7336a46fc8c90b23025fc74366f4b877685eabab6bd5c960d
-239 1 165 \\x952dc81f20887a712be047b9e78a0a7976460b31b2610e1068dc234f4ea230d0253d31e0e049353669b40c23cb2a503d0b749409353e86d516f13383e359e00e
-240 1 390 \\xa49cea222ad1529a2d2d43ae8fa32bc19019d85276fde7353d05e9ab59a2cd3f457081ac1b00f476434fffd79d8af8163d9b8ad8501e43d67be051d23225090e
-241 1 265 \\x51fa31660c823aa94e2c9f7ab842c689770c48dfe2cd226ec93976200e6efa4a2064bc7b9fde65f28f5597fbd045365762b62f089783251f7b0a14f5536f3e02
-242 1 299 \\x0b734e6f44853b9ce0b4b57f2caed4ee874fc46ff4616e29feac6a2c1a94622387274bf4fdfa25b49a6078df8ad30e3b32d35884234c0d120b84249a228cff03
-243 1 127 \\x8f35f7f9dea530eabf5fbb8c53c6e567a8a507f61c7b650ac4db041281646a7fc1db4a2c33364a40bd62d83f1ae1ac874becd10853e2248371f57d1062308208
-244 1 65 \\x33ad5018591be99f333ddaf5a3950a8b1b869fd32b1e93c79dc43ce6e49377ae256582b362e673e482f740bfb98de23bbe4af9080044ecbb62df645bf022810b
-245 1 30 \\xabacd669ab9343594b6bafeffbb0296ab416c20e6ddb380e069bbd8da1f1a2777e7ea709d54ae94b657d2ef76bb42cfe016f625ea8cb256e02043086a4fa570e
-246 1 52 \\xa4ee799372bb9307d376bb37698c6158bf12d7f5b5e4571af918495c53f8e400bcaef81d38a0dd4fc04396adb845ab4cfad3fcaf8571725c3044eaed9792740a
-247 1 3 \\x501a1dfa801986876b70ba24db3d82a7c95be762cd293ba019f818866a95f28cb0894121afc4e36a942e3b8e47b0307c1fd2e8d89c590d4d81f48f2261c1d70d
-248 1 4 \\x786538d7a08ac8116eb9b2eebf41bb1372e768f53909e70e3a3d45d36d66d912f6bb102f13f0e396f244be90787c781904ca9a85cedac3e269ef62065a4fe305
-249 1 267 \\x9fe6249d733a3e8d297b586d6ac8e3de3a9416d6f56bd55632ad8a7794d99d5b3beaa83bbea31287ffb126cca486b0ab5e6705e4858105bc7b4e1d19a462fe00
-250 1 345 \\xc6b0a6b429947901c88c14e630ad54149b79ddc68c4f2b52e550aaf6366a2d9061b2f847643acaa12c78b2bc19ffe89e5589a7efb5e781c5ad32d2ac2d9fdc06
-251 1 342 \\x3ada9ba484eb9b5299271d7a1bd903f7aa5977c512b79ae97e25e41ae13e0623e1e143bbeb98e16841a3b0f41756581b99ab018929ca007cf68b9d3487222d02
-252 1 418 \\x0f732bbc955a4a7f1ff6cf84777cf23577d40387fb7230e343e1eb2ff4600fbc444bf10c25633f5de279980b739f700948a8226122481ab0659d5e8716816f09
-253 1 303 \\x32ee31dd1779875363eb3dd03df59bbfa1711a2681be79aef249eca3b502c252c5ae3de78fa13c175313731e287be2c05cfc351586502f4c2b42b2231cfdd00d
-254 1 273 \\x8b285c3f39d19f9a678be33521454bca5b35f331f68cd0e66dbe8eba3729f9549f2abf6612214d9871250e44c50f732676442f66f2c04b918c5e0175009c860a
-255 1 246 \\xe07eaf1f98022e38df6a1bf14f3fe92edbaa9c9cd3bb1067d4f718e0019161e15b872ea8c62523d2f02abe44d5e71830915fdaca6f92835eeb8630b18045a105
-256 1 169 \\xfd5798337fa310c2b1cc75c3beedca81d9ef0e3adca56c2d758073e6b37f9935f50475dbee39dadaa24d7c50c1961de018c0fa277194d21f7775c6ecb1a11e0b
-257 1 46 \\x440434d3fbfa87c611ffa594205c131d97aab2dbf4786ec1fa93a9cc93045064c2d880bcc8896792c04649d10406e910c317cef204898039456f220acf870c09
-258 1 179 \\x02b64a4ff12e779e6ba9fcfb3a027b3a527e173f83712d7714cb8c58047d96c6dbb8431f4750811dce46d3cfa568562c9be1ba79ffba33baa4249b9cb069dd01
-259 1 214 \\xb9e94f3afd6de63e2ed589f047286acc1fcb785d1fd718850c34e2ba0fd6c3d8f46e596061309554a3f4dee6ff767677a8f1ba9ab4f4983e9e47adb5ca864907
-260 1 243 \\xe0be73e9e07f267419c223a2c1ab76b85eaf0799c343496f50f6784eaba4a4eec17d47966233570add5bcfe1e9ad595d1c8d250b07821a91799bd8658cd4d505
-261 1 146 \\x8c6545942bfb15b4599c2da89c65ab6573389b6408cd33855e6e4c043903805e10ec4fb95101cd4dbb4701712b31ea7b9b1eab784a526a124b5f5203de74ca06
-262 1 256 \\x170a73bc188a1b2eba3c53871075848e4c2642e2fcb26e4a38c10b8029ef0848ef67bc51da3f82d775708811aad242dff45a80aca04af5c4eb31d5cf0b5a320c
-263 1 302 \\x09ab95a37b583979560de67da35338b7779a7132c45f87f77514ab29c97f12f85b739c7134e30c037b0155e882ef2ce016c0e35c9b9ff245930f67a9914a6c0c
-264 1 271 \\x4d43a30463cf73f7d0192660e69d4dc0acbbd03f774325aca5e85086642240b55360e7c4726330d534adfdc32e229bc6e03af49a255e40b8ae42cfdf595a010c
-265 1 193 \\x4ce080b86e6f471ab42c16e950f204e69415b035ff69a63d2db4b15d5aea51bfc2377d9334d9de21577da9f93a51e2fa38809ac1d1ed623083a7a72b27194209
-266 1 188 \\xe5fd89a3481a19497d5a38f98ab30eae4dfa2ee323dbe86c5ec0edc30ea77752b3c511eeddb71f9e4acde77d7b5c80750ed69723ad9fc05cdf1ba05bbb720203
-267 1 226 \\xbf7622b3983cf58a052cd94a120b427cfdc64d502a4a9d92c01e2c11f91964c043183aac2bcaf4213c3fa04b462a1aa4a7ed7d1f06c5bae815059b05eaf94f09
-268 1 262 \\xdd8ad82f87853b190c32a05fc7a894e680d772788e0b57c02d7574880d1fd59b6924a2604100023cdfea05241dacf4645c5c8466fdbe61c9023affa850be4c03
-269 1 312 \\x40a3142557fa7bc492b6e08f1466ddc5a731cfcb75775d0e20fd9ba3d426431d2c6a2c14fffe353fbe0492a81ce1d8c2d834fffd04318575dc75b570d9fcd209
-270 1 317 \\x8d0194b2284f551641a062580449605caa7383894dd68ba0228663a4ef35f014eb50f7562d35b8df7c3d0a775f7b3105bf2979ac377625ce0ce84d019237b20f
-271 1 37 \\x8b3efd35820e3649c50ec4c97b5734756776696eb83ed8fbcd72ef29c9b5b13f8c36964acc379d9bd4817ef8926d40653554500dd2f3021400e5e63ad322c30e
-272 1 375 \\xc12ea4da1a3848b8038c5ae7c6dc89545cccf88cb045cd2d25acb4bcb18603f1533047abc09d18b368170b79d6ddc205521225e343fe442e98ff5b3fa2b8a208
-273 1 398 \\xae5baf83f37bf45a6fe8f2ba2bc13358dfcaddb3236b31505fe07229fcbbbefeacc7421fba41142828c64e6b43c946df541b50a62b951ee38b8518e29e888405
-274 1 192 \\xa3731c3b65dca5b119614621701238a207fc2a3253bc59a5c99d37cdcd431284953ea99d037aa6861835549aec8005e381cba7bf77d9a41ae909d2b9db3d080d
-275 1 369 \\x8b7687e096cabbfc0260a951c084ec936011f6b1dc0613fb37568633ce03e43e6f645ff6d87668dc02167af08a52b419fb2f1474d70b868047a5d22fe61a3208
-276 1 341 \\xfa7b8cecb889e4380560d67ad95a32b29fcbb2dd5782149622547c067ab9fc5392f6b460d001010974902ffc0d2b0463579ad48e714dd2fe87890444079c8803
-277 1 166 \\x066605aa760cc3c052c353c131da6298eec0246ede50402b1f840e24647535d9a2c7c3a7c420cd2d6f2bf94cc0f3a084c8f2423acdc5d05d76baf03a0b172008
-278 1 374 \\x349954873252335749ddbec3bf72b1eaeaae3c0319e035280819eefb6f1b3894aa062ab7c067d35f164a17ff38d8ac8d09a51fbc5194340f3ca132710250c902
-279 1 333 \\xe760fbe90d95b7259730f8777dc8b6fefa39dcc783b4df0821abdfbcb130b15eb9391d1cf936f2a5ad0665d04b8f7fa03e9e0a0dd2df889b5975bbed2d309d00
-280 1 377 \\x7e557bbc8d7cdf2d761da09b9268c256aa6fe7a39880a07b15be44d20d8efb611a0ac61602a969a83838c4d01bee450e86424b9d49975da9a97aa4c53c1eb904
-281 1 364 \\x5db78a48a4f8e8809b5f0fbdb71ee2900cccad8c0e2d38342d68383291ad6ca4d3899281520edc2202908a1a2da57f02312b6b5f2119413d0cb30c3b07359504
-282 1 161 \\x5f5915203ff572a922fbcf7683af48f61cc4d9fe889937291a8182b123a8605de40f1a3bfe76d3104feeabc9a0916c0ae2e4f8cdea047336d9c14b0a3f594808
-283 1 202 \\xcd5df448718587a08ac8e427abd1ffe7759907fb43b2f81920f7dc715df7362b094857d796f414773738752a160531cf350975bc9afef897a4830f2cb053800d
-284 1 280 \\x2a6b790fc7788e55d21ea096710912277622893a32eb9b8942950e712e972f4d86ca9cd2eb047b4f0ea79ce9dc54cdc9122966fec68e29bd575f6098377cd107
-285 1 108 \\xd9123d993141be919ebdfc8844f4486e1c2bb37e294a0ef4aa78384d44cc3865e2dbfb9d95b23229d489d855e3089e5617c7a220da4e38506dde64cb878df40f
-286 1 237 \\xbee13f23671137e2e7a978b9b8c6b6023ea3c5a6cf91f905755e999482ee578e8459a5131c5c0ad820863e5b43fe27bce710a4e8f8a653313168c7cd5000c803
-287 1 43 \\xcadf334617b11301928297816e12da877212b34ec5847343de04722d033b095a3cc2fd9f0b51f587332d3b3ce71925f668668e4c932e8df5015419e8a7076908
-288 1 44 \\x561c7964ca56039501c08c35d44b30b7d9de3b952de5b06fbea45e64576a15aff37b3cb13cb1d7f66666d3828750591f52c141a0c85f073c464d4ea9c7894309
-289 1 80 \\xbfba8a86b4810bb95c75a652135b37c3ca2b68112667067cea40aa2e2cb5e3c098166dad1f7bff3180313aa8cbe0ed4aac974c7e13b782adff43a75ae448360d
-290 1 328 \\xeb45d12d5a243ef9e97e274b2a6b0cd81014c603b1d2f5155393e9c355da9205b5097270717e7396f6071373c4397dd5248a0b59fbd173c00abc87839f798c0b
-291 1 417 \\xd06058ad2fb3ce3c13c3a3ae7c57fca4d4fe46a44249726c081d16f87bba9cc77b761a8139f2c9ab8badda785ea86f2c6e82c29b5d439dd119fe320470b1c30f
-292 1 224 \\xbd8a70a4a74bd2388fe434796222d392ea1d5a492881279e14ddc24cfa0a25d6092dccd38d610797c8e1290ccba854745cfd8120e463b01a33294c792546790e
-293 1 414 \\x33717aecd027eac8592abc643d387c16042e35f6dcb7b84c1d8fe4375d0a5d3f43833b5db91a862b00d9795474f7a929a9003e483100a59ea939afba2b2c3904
-294 1 351 \\x7e05aee0d68ed073aa138f9856e0f076c450aca9669a38e94b33075cd8b34cc191a4ef08bc518da88377b249600ec902e3aef2b17376b61a3e1f1675511b530e
-295 1 395 \\xd78c9f72013047aef192d91e7267f5e75b7379eca47839237655bd4d73506ef42c0a82483272c13d7ec385d8158d00c9693e5501107e8e4445ed8f6707f08c02
-296 1 286 \\x2492de3d46e655f73e03426782e3a67636f8bc7bd5b6a977b4d4baaacdab400badd5dde1eb3d6fde7f66a50a584d47ec97057c8671a14003310812a9e992de0b
-297 1 250 \\x87f007a3698f0d813e8c3154daadc6d4a7876ad90e0aea5464ff36b561a3decde6e8bf3ade425cdf411f04aeace288dbf2a225252f9c1077dd8c2c11c6669104
-298 1 48 \\xba3d501e67b70250adaade6fa415e3852a52fe45ee6da3478672945474dae786df8f2a99116aa934525367ca1a0bbe2497d3df7023396d36696e8e506d3c3b0c
-299 1 407 \\xdd96ce4288f48856ac973be29ca5279ae9a745cff8c32ff98a2702bf4b867b7e0ffc484d2381e4f2c3cfa4b5d154946fa0db1ab4556dc4da9a156368ae683d07
-300 1 353 \\x705f89a15e9fbe8b34e1f8582eab201e9c3848a217e833250c665254c7ba1ce27f1542e4576dc0ec004f7dde1cdde10512c3578fafd9bcb6e899e81b3bda5b09
-301 1 247 \\xa3b592edb1211ebfd6e95b57b54913036b65944ae9cc69634d0d76f575d52b4b7bb9c25c387e42baf7c95b5b5698b149b73919a34776f6be45f8b623247d9302
-302 1 408 \\xafbbdb713680d27d1172be463e173d9bd070a14df06a930b7cf20bf767e23200b4867a2f2c90e07db6d32138d2a4368e51bf13c4d6c55a9d73a94927341d3e05
-303 1 311 \\xab0ba10cc67246323ab96879af5a3e71d82a0736311e1285966958a1832bf85533c0c63133e4a17ff1d84b64562c5209848fe6a727f2d217ddc64716349b9306
-304 1 96 \\xdebd2a369bbf39a57b316cf47509fc9cec7b30be47756a80042349c692c6ab4bde1475681976abd7ff612d5921f69c75f4df257a5c0b798ede32f4e6addc720b
-305 1 144 \\xa599390a45933d73eae7d620bdb42f7e732d54dd3cd2f6e630de68165880a6a7e83c510fd5626cbe6ebf3eeab4a5deaf33a30a9fe0eed1204d38e99a80db4006
-306 1 235 \\xfc67453b8a198589a7057720338b614e4e8b8da520c4a8ec0f4c33a3724c4af225dbf65e063360be79fddb08edab535c5fdde5ce103517094399530999654a04
-307 1 205 \\xe1436ba6b83b647ca638ec189e3e7200a455145ed792d738d2367894f5f747649474843c59815515eeb2d9d52e0d7e6e0beb39a91a5d1993abc0c0632e61aa07
-308 1 131 \\xd001db3f74eab40c044484bdc9a874f175f4254f2a0f3af6492e234048b434f0190ee5a59098ba0c9c98642b715bfa1a5c97337a7b07c05f36a44bcd55321108
-309 1 422 \\x5f760cf8ddc4a475018e7a0ff6b5de59b365aae9e76dc872333c71dedda209d320d282c154505ffa42a6425faaa45ff4c1d0c58e2953e698819d8978eb81420d
-310 1 8 \\x507d603ed3da80da8e01c6deceb8fee19b33a8c5e5904a0d9abf8b208213bc523f8590c5dbddbbb3f6b0494ec6a91086d65a63a1bd8b2ff2c70bb75c6fcadb0a
-311 1 296 \\x9e00628f94e344b90d2fec7192816b41beb42e90ab2d5b4c1fc17e2ea89ce27f25eca1cfab032669e359dd88c79b8ddcf30a4a3a53bd14feddb31e8771f87d0e
-312 1 411 \\xb64a4d78ddf3e07f208bb1f1b86e31da20e0246f435fecde57c5fccf39670f15d1bb1577bd4266486af7b2d396e2f65a2e74d4bf9b30502680e7a5d7d2026e0e
-313 1 306 \\xff4e59abea3d3f1825fcc3aae497d2cabb50e42204faf76c87d129a2ac581767c2eae1ba747815e1d5b78645cfe4b623f4feb00cc167a0494b0f749dbd8c5d08
-314 1 61 \\xec121b39ea26675641d2649a71f0537375be78571982d6e9c278f132c84d26771021ca4122ab46598472d2e6199db9d5449ad7db39b00e51ec14e11fe9b90806
-315 1 105 \\x98c8552399dd0c9a6a97bf5ccfc0063a0a47d656e1c1898a6473054751649146993adaf7c09401dd94121237841a4b3e14aa1a2b50d2663692553ef09799390a
-316 1 348 \\x5e55633e0420c8856dfe708fbc1c2c2509ef70d04c708147c44ea6034d39dd04441c4081362a2b8a0693748a8fed5144f641a7960eac8ac89ab78dba0c558f04
-317 1 91 \\x30e80cdffd1b86cf1877f408ac06460d474db63b0399e920ab06aa67512cd6af7725f7cc83d5b89ed9a0977deda2cc3baf8aacf279c6e4871ddd744845105a0c
-318 1 97 \\x5730440f566d44b8baa1b404cd51d8278d6c6d8219272c2b869266cf54a1f287eb29914e024e24d3edac78066151362115db037f0fa89ddfd691defd77382104
-319 1 213 \\x2795311f8f76dd315a9dc606edef63e2e43298b73fba1548749956eecf7add27cc1d48cedf2c0efa2a0bdee94c2520a035beedf2a746160178b8390414633e00
-320 1 290 \\x5745477709bfa2e9d436a38e4bee99e4e3ffac076bb221fa630ae0dd400e7ba16c95c06d4b2d470e81a44e375c48ec431bfc374f4f2128b585477814213e7a02
-321 1 399 \\x34b0e7815b612c4c169bae86e2bfdd782e834bda530e86735d4a94de737bed106830ea3954af19df5a82d13a1c81669084536f3c4b45978db65703c1e2804c00
-322 1 200 \\xa501b7a75e9a1687ba9ad5978a2c169e08881a8b7dcdaf3193845980d3cfac5cc10eb49012289715fa0816afe52dd4bb6c510f232b130bdd4df80bb83a55800e
-323 1 249 \\xde536d160774e35843b2c207de5317d72205d11069575e0cf373e9951ca84f504262d5b7167c141f6a292b8c519f732b2a8b373053da1f35d0a7d392f555e50d
-324 1 51 \\xa36c13d0c5a676b11a03f5df76eda8b9e530f1cf689ef3eca402711452c55e223bb2eb26a46f93dac46361a2d4743e23f09370f7b05b86d0979c4d5f19fc0602
-325 1 39 \\x59148cd9163cd83c670df4ada3eafb366253fde194c839df98f445f47bef8837448aad7adf8ca8fb805303fa252a1d1122ed6597c1b228690920a9360e60de0c
-326 1 175 \\x49ffbd3369b13f936555e36432ce0b3d068ed200502274793e2a0f52e293fa3a980e4794ea4095468d932815f1f4a1cfaf4dbf8be7cfa479e0b2c5992a2ebd0f
-327 1 55 \\x21d060bb595fe24a7c0483e62b068db871ae64bf9ed7af6097f7506f9c83e4eb398d946f076f35d971d0d95ab96eea2ebae8a672b9a809af34512b238bfa710a
-328 1 234 \\x79b1ebc56dc135db2faaa57bbd6552dcb003e3e69a401461c19fc00ffc902f2610cf23089697479dedfa4d1517a7cab0f70e7b0ad3c679a6a5612201b9070501
-329 1 336 \\x382c34083e408af3a04d9e2bd9e3ca957067495f2290786de177a04b23bd342e0bc66481c6dca187e9f7206483cd58822474bf7ca4af5413ddd1cc71f83e9907
-330 1 54 \\x339337b27c3c96fb440895e0c09848f11fbd0f9f9efd4ac8d6cae538ac92708eeea813c638a6a29feaca71c36ae0efab50ab698b3b3192156cc761fe82c21709
-331 1 42 \\x6b1c793aabfecf2e05fd78497c54b33cf56a0b10365dc731966b4a14739647d7d9ae5750e74fe51caad9740af80487dcdb01c46047d1819e3a715daaa42a330b
-332 1 242 \\xc76b116615cc1037a3eb72ad5f5d9391324a2119ee4b0c74f76123c158bff9ed70f9075f65daca7c5db13056aef61e00000a176be9fbcd9314b3e6599a31b70d
-333 1 221 \\x9bb042b4dc35a022e2c473f0c1b9722a608f96d9061dfe70594afcd7c74f780d0cfac43d7de9f2ae49ea0c9ba7f0872815c244c55ef71a26cdb98d7b929db10f
-334 1 153 \\x5daed57634b029f73114e4102221d0f4c8b12bb28067b9fe38fcc6d3d732ab70797cacf5429b8c7dcd4d9c640ce51b5ea02243fe7416a9e96bac5ae5bbb30808
-335 1 79 \\xa52e10bb13b566be1a49cec60854f6eedc52b108622d4e3418d60c90cab98eeb1190a212268ef92e8f935561ec6d7355da14de57f6ab5d7e01c7c871d4a6ae08
-336 1 346 \\xb199ab9e49dba6b66d3e3f932a3d89f9f9211b7e115f78d4002cb04e37bd145b3361361aefdcd4afbc052c3b761c0121c983ee772b480f408853e77975b6a202
-337 1 50 \\x9fd283fcbd2ee60e216d32b0cde1c2fad0a578c96496f7d1e366ac8e9ad240a8bf4a9fe79bb412bef9e61c7834042f326fb79f280db6b53cbeb25d867c39440f
-338 1 6 \\xb3ad98cc655982dd9a8886a890a685136411352c5d750909eb22d562c48cfa4de819451051c1b09f222ec9c13ef5f55d1abdb7c8b889fd41c58fa058a0e14901
-339 1 38 \\x5ba944d20c16f2a3f7fa73d5a3f5ebf7712d6d5a3c7ea19782e39174e0ae802810fff1b0711bdb83214c53d21baed62ac55cefd67ece88d8f36e9c9dfcb26f00
-340 1 173 \\xcee481add1dc6116fe8a32b0a71cde687d1e049a82bccb0af8a744ac4573bd074620bdd4ca8f4c351e400568d38c8c08c6af407d44fb11bbf4bfbae34cd6cd07
-341 1 240 \\xb8a481c3a5084d2f8db7ece2b86eb061b68b57f4f8887490202d53a834522c2405b3d3c9006f3073af45c32dafed79dd40fa48dba87330f75ce36e9d40bd8e0b
-342 1 238 \\x4eea8a044972753d1e5f3fc668460f0892736cf5aa13db818bf959783c67d3979a1a9376bb421ef8291a91091f404670f301624d96731414de8b0c7690420b08
-343 1 117 \\x947c0e4e17c6d88d3acef1adee9eb2270c795a8cb96c38f0939962c75d76cb19bfad9ff70042f8c51a82620654d66c02c3b9657fa7205ea69badeeebd39cd809
-344 1 293 \\x7c89f70f01aa6b8fcf88b1cfd1e981c9e0a18d1fd33e3b394d173e549bd5f0eb0133ddb30b4482f64009c99bc069566c69b1e872507672bc14674868b9b80c04
-345 1 164 \\xf5df9e5651c2532e207395fcb76d5f6c6634f3ae9cf66171b285e6d3239764edc87897d362da353da47076a151995337850bfca3c68cfac16385b06f7dd7ec07
-346 1 95 \\x82c0fe890fe6739ec953c519cb782cf39d3c73808188861bf4a05ecbf1f9f37c3bc079f67072686bdc1d50aa26132d84fe8d23ade15dbbfb86d4708158463703
-347 1 378 \\x1d17442fcbd1edbc8018ee3fa7d04f8aa686a955b4bd008b8eec0f5d02977eba7f9f42cb703db10ee7381c8767ff580676f087eadc4f6e1815ffe78ed9c33104
-348 1 1 \\xd6101a068469c178e86c6664858bb4b8687f533bba84914fe45e2c389c7894f9e461d4b515675a957d8dd4ee10910d13ea5de793b1c2daa9d13ef445a4af2a0e
-349 1 339 \\xe48ec2be6b734e5824c11e78be0aeaada8258351f4e11c309f125cfb41c1dd8eb9a7f76d8ca8b0a2b2bf03ca81dfd77d89c401a8cff438e6f4ac12316c73ec0e
-350 1 157 \\x8d0f3bd9b54939d5a09d3fbc32cd347529b65f3db7cc57a7b2b8e6fe776df704fee11eebef8e262bfa359759fd660e6f86fa4c982577f275826c56436e5fcb0f
-351 1 189 \\x133873343a84e5e251a20c1627ff9eefc84331bf3df28fc5a425a993003eea8985a2174c099da31a1c1b16d1c442d6ba08a39439c1fefb2d725fab3bc020ad0f
-352 1 215 \\x995dcf353aeeb4b484ef7b6be7070c68546fc7cad79758179c62add3abcdb40987062bf0bf11152ae46d50f4a89088bf091cc77e540b079b6070a2ad5ca0c900
-353 1 366 \\x7b1df9e59a441e0b6dbc45df9de0a8de54da71256754075b7c8df18787d7a1f01ef7909025221d557f919060297fa695e0ef3344e214d647f4a60ac7bd44e50b
-354 1 315 \\x6f51cf8821339c8fd08f3690b1e53651379354940e86632c60e3db495402bbfb593521627b48fc4a6a020f5c20695edd86494a02eee778c165233b7abf04de04
-355 1 332 \\xafceacadb107ae687f3ebb94a7d87e4e17b28c5f4ac2774b8642188a6cb590b8245adfba8201ad11f95871b3507df1004b77d66d738e7ccd13e978072e86110f
-356 1 361 \\x7cd1701bccc29bf1ee57a5db288a0924f088c63e73726375bbf02c71c0fef31db6ac555a9997c7d78d1d7b1eb58d1e3b2b15a6b41f0a2d2104366bcae5c03b0b
-357 1 232 \\x341f8fa069e83aad021716e8ed53c0044086deac022802ac567ef3d670df70bffb18db4642c1cdd247d3ffc996253d16ebdd4add26e986698a6826a5cf31a101
-358 1 259 \\x38457c1102a05134d6ba5978393c7e16f3a195a61045b42a1cb9773b934ea83d893b8dcaa511fcfba46279d823c6109a459924e93905de7d09421644f8d70f0a
-359 1 162 \\x98bf85b01ad7cabd3ed10d08d7658bb9cba9cae07fa57dfdf499c2f3768740ae06618d38790d2f11f738d500afe948f0cb862dadb78206bd0cddefad96fe0b0d
-360 1 308 \\x996cbc4d791575b0100f16b57782f22cdad80b10c25c1db5284476fd0bd13170933c7e54dd5040c077aee7f04ea95a533af0d06f9e5aa697f4e921b6e53ed80f
-361 1 101 \\x0191792482134616040a2e6bf585d4af1fa9919a310b5229d9ce8114d959d161e09fb0a873098d71325a5cbd678daa7778a6c4882439cb4de035b459c1510f02
-362 1 151 \\xb9f40a28a88c2d740b6a8609455ac097eea671687952f1cb1bc678979c2a0a8f755c4f7367bbb0ac35f4d3c3e1ff22d01575fcef4850d54a84fe69e06ac2b709
-363 1 304 \\x9a7d7fb77db48145586ba29e07ab1a7527d30a1bb243bf4ed405165dd7478946d55ad784e1c9a83b910bf78b8c891cac4f935a7ea1c60b0e515995e106429c0f
-364 1 400 \\x85ab4e1eddfb39e4520ecfe9d323ebb94b84f29693a281432eacd7e75f8152a656e7da0fa809115f2a4cf5ce972c2c0e2a2fcb1f80f1c5a914a80e22ebadd406
-365 1 380 \\x1d2022112b2c4f2d5ab63e49ed88ccce6d9263bfca246d676a44e61146fc9429fa353bdae17ce93a8b479944145fd05a04a18318ae2608c59457e2b5ce359105
-366 1 132 \\xfee1e70cd060e86211b44fc20c6982d7f1df22957949bb22418a96eac063e3e145da62fb96ebe0642c8271d1778516b2d373f7eacdfac37567dda5227a09f10a
-367 1 277 \\xfadddd1b4e2d8bc3c44891ba21bdcd059265430304e440a13d15fc20074eb15aadb67fd2b06ddb103b260885ee411c379b8a1f9700ff3d8b7e286d31f74e5a09
-368 1 261 \\xe62d9184c68a37f123673b6f86f7f347b667cfe39baed991887b522da4f3c1b1f8dd673fcaa950288c72eced19eddb6a97e1a3e73a51dbe260678c8285990e01
-369 1 370 \\x337b9de3c6ef3ae45f8d7aef5050791ed342517170290f86587d9c510e95e5abfaba518de66a1ba6914b8e1600621deeb5a018e357c88d30f7c86545f38f4e05
-370 1 420 \\xbbaec0663e694bc7a726f0a8fb8689a58dff779bc24db3ef40f2cb9154804bb403802ca7b8a60bc4ac64d98ea8c4a682b3226efd738ddef67eda78b7a1250a0d
-371 1 177 \\x1c4202c5152f1b902b88570df615bce488905436fdc85b78e9503bfe39e40bf70fbd0643330f3035013802af065d6e1773686920e7bb620e0935c70ac7b51a0a
-372 1 236 \\x3d89e773aa796af6c3140e226930b406b7d618ee15d363e715084492ddff2810e1f847918a5a6044973a8330f2481f1810dece9891d7e93c51dc7ee474b53b01
-373 1 359 \\x61847bbaef7d4dd79cae3e441e1003cff0ff1c7a9c2b0428e715b75dba3fcad2b43e5e48d558dcbbd55e59af3486baff759ef42f3d1185849b9519314770e80d
-374 1 406 \\x396560276e0a8a019670c55924d216413d9e116d5a4f0c6faeadf3596f9463e42f6c0a9328db6f2a8330bf63187ebfcbdf23f9945ba0e7da82cc33afb430ca06
-375 1 119 \\x7866fb9fb09562d99caebe25f97e67c531d38e3f4a29cc18d78fcc8bca3ee7895a844425a47f44ae51501b5b80fafe2197ea0efa8fe18e85417acdd33a2bcd06
-376 1 185 \\x9f7c582afbb92cc3e71f857020bb56384444ff23db0572fde4b1335c86ac5527d61ff4aaff0d9f4a5c3904328218e932a90e20ff310f7b766a1b7e0dbe820f05
-377 1 103 \\x5935e3b19582d2120830c75883b6b508a887f3fe03ae35b7571fee39ab1c3fa9e6966e493065bba5347d1f2665730c1a00fc302e99a1c3d4c8e43260aa2e4f09
-378 1 419 \\x303c2e52ac61f88b44f1dae7d90b647f6b09c00bc6647c9f5c965e923bcfd1b7e3869195389a9c4a1da90690a3624503251fa23d0d12d3811cda9bc9d5385600
-379 1 355 \\x8a91593457263789eea4c05dbc4995e7ede0b21b4009aa6203ad7f4ffe1733a2a5387b16f5564379ae51f2c6f17d735e57243cebbd17e2460e5e17345e57a007
-380 1 64 \\x063cd10089638238ef2d2251628ded1260a5dc2df1491a4d715f53b2ee30813d9679329f28bf932447458d39b37fc807ed8e5c60be888d0a142e33c8d5c4be08
-381 1 28 \\x8c147e1e92d4c0080bd64e7417bd28398121f614d535cc855050be17cbf1385010ac886b7f66b9ba9f8e8374c6390a21e4804d3a4b6ffffe45641d7a4648df0c
-382 1 94 \\xd3f83ae2e3063b651c9051ce41e7ae13bd88f2a6889ae8c9f1a3017d806d5253b48439274b488f2ac3c023f46efd7d5835130fc481ba77be277fd3e10c529c0d
-383 1 356 \\xfabfccc62571fbb57243f0ea17ac1deb31f7f144750f15578a0914a521ab7eb9ba2b05db966b87cc4df31e78613164501fcd35996891caf09c7cdac2430c730b
-384 1 168 \\xca9a90247270ff92f5840d71e63511414316777061c21d5ec65c4f21e5e508820f3d6e47cb7e1d7d245a7fe3f34fa3998551358522f925a51f79f9282672cc00
-385 1 253 \\x6edcd94f0b1faf2874b54d713e27db0323a7d352ae43facf914d420485edd827c4826b81aacbb2043c84f110f0710c486351019edceeea954972cb83ee5ba009
-386 1 352 \\x43a26c587ce160fe7d58eb77cf8f1c5f6d6eadf2d3f78d9e1e1b4b85e5348b276f147a7f2826354d58fc1b6857b2872e98b8189eef02d78fa4379f633b0e9602
-387 1 284 \\x2fa2b9bb8f097e9fefc75122a162c6af9953cb0a00184da71ad117680f6ed442e565fe1427c7e506d203de28c2c20740b3737d59c6a2922b1f0b49e19444810f
-388 1 217 \\xfba0c14a9e5ab58f70dffa0d6e435058836259a09166e7a5349601c11bd0585ff2785d2cec418976b308fbd53c9b6530ad2c0c15b8118e002adc21e32fb75b0e
-389 1 354 \\xe968555f0181a13520fccd881cab0d99842301e62d79d1bc5d9282e123b003f1ae5d85fbda9c7a9fc00ef102e3e750986f9f6fe1d9c793e0d64096eaf242ba07
-390 1 349 \\xaead43fd00968ecfbf1d32070dcb3c90905f99f0267d79bd113402929a16cea61071914492e390c79e856fa8b13a998b0ca729a88abec349f2963f453cbf9105
-391 1 100 \\x765959ac409af8104e8a6b07d5ab186004384bb2bd90a6d5f8edaa0427fb090ad78904a395544b6ece683679e7f960bd0689e90eb26309edc558a3fb47701305
-392 1 81 \\x0e9afaa3637a81c06cfa6006b92112e52542e3674d4eadaaa10e0b19998498c3a0dc1035ff15dcd4bdfd5149523005714879cf8647eee071ddea0a32706bb101
-393 1 115 \\x4d9a1586f5768b076b603415fc7a1bb496506a3557f585183896372738b0bc99fa58c5652f418dbcc016d0dd5638f04ca324abc14d4181adba170381077b8f03
-394 1 67 \\x97f53e1130302efc5e66e17e8a41b0a2fbc624c6f9ba3197491a9e95a07fb88d822eb96500224d96f4c1ae1d77da31df8a6a39a643ac23d8b00148a9cc981f09
-395 1 307 \\x7072c54e699ed4f5d49c992d1cb10be051486e1473616adc77c2399d17672f29149afdecea318a9cbe01fdd04df5e92482c6a0fbb36ec52435be839c25694709
-396 1 362 \\xb1de7bb27c028064d3ef61f76b9a14062323e2008b778b244e37e2400fca81b85c37c6c71427628da9cb5ddb646ed9d3ed1e8947422da3183a0a50aa86d60506
-397 1 397 \\xae1f0bf9a4787a1b1f5168899a8da651d05ec7a5c51fe6a3642afe660eed3845976c91f09218905c50aa0842fbc708372be84022fadcf5bd237c75837e2c6f08
-398 1 167 \\x523edda781f568b6b880555eec143bdb83c64663a7a0c3195a276f5f10ad59934d73ae222527a789e54ea518bd04bdecd1430da6a98858821e3014ec9fb2b600
-399 1 183 \\x6ef02f2d51cb3646762556e1f9127b753b4885de0613a852641127fb216d0f5a24712d7697d8dfeeaba89b09f99dd0fcc360cc8654b35caea35b13473f661203
-400 1 263 \\xbae1dde0adf4f5a8f2556c610ea0b600de1f5ccf3b2e8ab1bdd4c33f51372c6d156f76259f600f4767c3565a7eac557619b079e5e7cfe461a3954cd08031a501
-401 1 89 \\x72df8e5a8581b4f2f43c139042b215d94beae20c607256c82722a3cee61488953dfa1eee1fd5d6ecd35b56d2c4642868a41d1f0a9098d82f7e89f84021446e0e
-402 1 142 \\xd1cb2707b79588d3a7a5294f7a01da1af04634f613111ea0c93736afa86f0d127f93ed4e9ac92d20ecbcb4b8231ce0d0e98359d7bc4668b27a88e646fffac901
-403 1 19 \\xf2ee6cb37895c608550aa50e3ce313021d5c1e4dc39f3fa884d2ace3acbfc6760830a09667c08cc4c6f1848d30bd4d81fcd943df8ae0d6008560d06c6793b203
-404 1 276 \\xadb202472b5f336bf93c548b0f07108f00381b6e61ca382ef097602bebce7f302c16c77e91bc335ecbab63093d3300413e5337e3ef1be0b1f04ecf3b11400f09
-405 1 138 \\x4edd3e65fededee8e38b0d1db5198a2fe8d18936c100d0377f799dfbeff7e0bcb2c2807a3076619bcfce356fab500f9a86cafa01c2d187ea8e42218741688d03
-406 1 269 \\xa6628694aa3814a6b68895874a48e75951021da9c199e2811c6303bb5e0cbdc6394c869eaf2a1f60eb37c469f0e14580d6009edf11b26368bc5312ff8ee4fb04
-407 1 266 \\x33e7b1f38694b56852a365b8f416712227c3b1bb838912b9a7f447e37ca5ad548b5f8f22fcb19febeec4b6757f8d61ba651f6a8d19bd0e51ddff0ce88f952409
-408 1 11 \\x849428c044b211932acd47f634702f539af3b6fb2f4d5d44aaa4e40aac253a4fbaf7ebb662f529a4811293af7ebd5854894d1c4ceb6ea51cbb778c5e4ea24a0f
-409 1 248 \\x56c8c14a264d25a20d82d21764a0277f30e100db8758117f8360acad1845f0eeddbf9125663b9795b5700a55a949e2e3b65b77e264cd2665e60374f6d86cf80e
-410 1 257 \\x18807aff6c9c9fd189ed3258a93971b335af640b4aa23ca84e5433a21b12450565e35b0aed42a649df52308dfdeb1f7dfccad4033e034014b3cd732923bcdc04
-411 1 209 \\x1c38f208bac4b61c747f5ef3722e4e1c1e3482ad0b7df6e8cd52916cb7b3eb249b434d80740c4d974fe4f511cbb8dab288bfcc56e47595af875b6e02d65bf60a
-412 1 60 \\xe6cf0a02958de231f536422bf53a862612e2f5e3ecca2d4419691df865c498aa5840d875e7b32d5538ad3a5f49087fe9b30f40e417f2aeb3340a808e80280706
-413 1 335 \\xb932c0de6657f0255cf8e5cfc3a538792fec951c66f96c0f7d65a1a4ed8cb6d8bdfa2f5706935442a91cf9db0523180e49b60e4447022e7b94cc89b01a446e09
-414 1 106 \\xc6718af0633b65e51edcdd60ac07817a29f899aa954d789ad3d89026efff4fc1ac718bd1d6440c3f2b4dbf06dc5feecf905623e583a7c23e076c88143e12b90e
-415 1 122 \\xbd54f57510754e21ba5e44831585ad0aec7d3caac91838adb869f8dc1ccb76c76720a8f001971198b30d5d6c2905b4dbd127e67601b31491340a602ce19f120e
-416 1 59 \\xea44cdf4cd8f8f542b73ff131d5124d1af87bd0c8cfa99073ac96cc5b353d95a264381d79c3a6f02c749dbbb63191caa0726822bef8c4ed20eb2b3cbf1f37808
-417 1 174 \\x4044ee33b41908d39bb59d4c8245515703bf87e892dc19b7d88b9042a92989337cebfb4830a024bbbf481f9da15dceebe7c0d6cc3bcfef54b4a7166b88768802
-418 1 154 \\xeed6744d0e9067c664c640eaf2a028a80f470e66871bf50a361635dba0cabcc0dac78d852f07f46c55605b220319c663288b7acf6c0c0d9a94616dd4dfb7690d
-419 1 196 \\xcf0e6a6c5cef40673cec8b4a1a28b2b191f12bbb3af7a0b9bf85aed28033ef04ad83a7e3620b5539520217049981f6464621490f8f05732fd921e6e124f72a0d
-420 1 393 \\xd0c1374bd848457bf1d6f572a32197792a59700377bf47a2a7bc1832b8eb496fafe0893d8d990d801ee38ad5aad6596db803e9231110619b8a7c5a3b9ffb0709
-421 1 310 \\x9b8a01ed96cc7d68ea680543a8db927091f00f5aa76592ddb91f454049d5c3d09437d6d2451ca39d76474abb657e78fde6bb3950982236566d95fcc75367c80e
-422 1 300 \\xcebbea34711c3b769f1f3f33d2afc70c5c318fb2d625ed251e58608354abd2d624149530f1ed700b651e8e31165318526e382546f954892bd8311c407d4bbd02
-423 1 77 \\x5941f98c9e95764e69c10056594235855c5c1d47f330913f2e9551469030a53eb8d767ae109205ce545b02569c30e55529d87fb4e37d8fd96e0abfc6ead2ec00
-424 1 116 \\xd55e5c1562e7eac7ed1a180ea7f9df4f1355d329f1fcd73e482ed0afa6ee7ae19524758159f01179d7717806edc5550140594f326347a67c849cc59eaee8710c
-\.
-
-
---
--- Data for Name: auditors; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.auditors (auditor_uuid, auditor_pub, auditor_name, auditor_url, is_active, last_change) FROM stdin;
-1 \\x03a36e178e9c7b6b5494b4ab051fe668932b08309eebb42b0f587dc3f392e881 TESTKUDOS Auditor http://localhost:8083/ t 1660992695000000
-\.
-
-
---
--- Data for Name: close_requests_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.close_requests_default (close_request_serial_id, reserve_pub, close_timestamp, reserve_sig, close_val, close_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: contracts_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.contracts_default (contract_serial_id, purse_pub, pub_ckey, contract_sig, e_contract, purse_expiration) FROM stdin;
-\.
-
-
---
--- Data for Name: cs_nonce_locks_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.cs_nonce_locks_default (cs_nonce_lock_serial_id, nonce, op_hash, max_denomination_serial) FROM stdin;
-\.
-
-
---
--- Data for Name: denomination_revocations; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.denomination_revocations (denom_revocations_serial_id, denominations_serial, master_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: denominations; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.denominations (denominations_serial, denom_pub_hash, denom_type, age_mask, denom_pub, master_sig, valid_from, expire_withdraw, expire_deposit, expire_legal, coin_val, coin_frac, fee_withdraw_val, fee_withdraw_frac, fee_deposit_val, fee_deposit_frac, fee_refresh_val, fee_refresh_frac, fee_refund_val, fee_refund_frac) FROM stdin;
-1 \\x02fcebcb5e47c631c25b305342dce75c24bd78a99be83fcc9737c95af5428ef8a27bae1c51654ae641b1e088e51f70cc0bb8dbf290f80f064a0f060ad5a8a2cb 1 0 \\x000000010000000000800003b6e5846bbecf17c827320a3377f0a162e175fa45600e1f74e916b82fc57348af2b85ed57cd75b27d79902c156801954a442e6607173be0c7bd21079c16240ff7ff617a2d110979e1f719155a1bb904ccf34363df820045a6adccf166ac29c7150491ba8d5968f0809a806bfbdae814010a2148debdc8f63e87ca98511891e299010001 \\x6edad8d8df58dc7045de2cd3a2de5ef87874ebc5daa988289359fc1456987954b911f815337a095d7eaad2b7068e23435ce6df86b86444a2df72c8bb9f787007 1666433189000000 1667037989000000 1730109989000000 1824717989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-2 \\x0660cd9ddfd38f2ed53c77bb1b59d240bfbb4a13088056d9707af0ad4c3b8340a64e33ed65c775774892750182e1d681ffcedd7d646922dfc737ddb6b14c9c53 1 0 \\x000000010000000000800003b0a1bc26bdbe3869c74bd0c5b1b447218e9edce2ecfbb4715e314db54465e7dc390e49e92aef78d280c164701860b67ec49665fff9bc11143c8ec553e059c9994341e150ca30c01375ce02069fff936934111f26f65a731a2915e61d0245a0916fcdca7871fbc7cb341eb05d42ab66ba225e041dff2438429a7fe5662534bf89010001 \\xbcfd3b1a5ba4da30f431b8c728507aff4221c8bdc4e955af0ed0c3bd8267fed99034fb8950ae201b2111e043378a8c72d402bfd330f00e98a45ffaa6e1783306 1676709689000000 1677314489000000 1740386489000000 1834994489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-3 \\x08e42f134e20d79e17e55ed969f4865bf556f04f93ae3d23b6af012d5ea4b0922fb246d0486f6e5efa85a8f8a228c6450f276c7adb036525c11f060242722c29 1 0 \\x000000010000000000800003e12a721f34117ee2ef4bdf071e594582ad0f69b95a7c9e583cf79a7ac8fc6a6ddf4becb203f5a5c28480f7403aee767d804ba665f52145fc63660eab96243cb0e594528206da0d8d20ef8e56688384c3cf406c1f917207114a9f0211527fc5c9f4f50a3d4cab48020303e3f60573787b95925ff8a1aa45f5cba3b429b29a68f1010001 \\x410045810728c5410f8a673e95093473be1d3b5bd421577222a5e4528c91f9c38a6874d485def33d8820114e960db9c23551e90c142d608edaf5dd5a0334aa0b 1674291689000000 1674896489000000 1737968489000000 1832576489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-4 \\x0da48578d099eafb8b8b8c0a4593889b795347ec9688a76fab8030b811926df8ad8590bd5fc77e5814cba952b5edfb34f926c027f1876ea2d2a98ab924a8fe2d 1 0 \\x000000010000000000800003ebb80ad0dc5b206614f0b266ed430157d9b86fe817452c650ef407f676969abb53b96d9f9805701ea1c449103b1941203cb2d068cd22b278ede76b2304688a5557602c8990c12bb48703ec3e12c0733764206af5b5b2225c1896f6a73302e158c93a525b77499a8ca50eb7391fc0c4d2bad4be8cef8e40601e2bf1301271bfa1010001 \\xb88c79936af3bfd0f0cfda39f872e6c245c9403897a5887933a494189c164f22583862b787c80a151a915b35dbc8476d3c6ebf328c5663e6c71504795a652c00 1674291689000000 1674896489000000 1737968489000000 1832576489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-5 \\x107c9f230b7159d2bc49c4813bcac985cc13ebdfe778bb78590013389988d217d40fdca9c06ba0519bbdc596467cefa4f71fc27b4aca87be09bcdafbb45452ab 1 0 \\x000000010000000000800003f45a03469c2e3b07c655d31a9bdfdcee6d7968746e83db1766db5dd6d7af8e1ad1c15f72b095a4a192f9aeade47b605eb18ea6ef2a46ffe628b5660cb36109e27b6c66841df0fd0dfad3753f47d903065b50fa6aaf5f3aaef405a7b6df54be75fd259458625c8fadafe85f4d26856bdbc22ee81bda978a6c163a2527f25d5c83010001 \\xf337268366b70c588cfa23f58cf75d9a4cadb54dd718281a057c68a75706d9e627abad88e08b270db1995702f9571f1256ebd38e663580ac1031508dea450705 1677918689000000 1678523489000000 1741595489000000 1836203489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-6 \\x109895cf47e1559f56db4c6e3edfab643428b79f673032f387d05ab707f2c9173e967961043d23c1e8212fb1b6f3d4a3386e47e9c0de7e6c41ae7e8fef3a82be 1 0 \\x000000010000000000800003b4722d9e9dda4d87c42c4a79575673a0dfa78a90d9d81d890e79930e3d0bd4c77cc4dd7739ba2a94eceaaa2db9d9aefc2809f2cac10314eb15f02020e7709ba5433ef1fa2514ff681e7a51ff1249cd1ea1b150e92375f7d742c92b50b2a7ebf8dc8cf00870da0499bcb0287bf0f42a9ce4b440333c52c7251205c5b99fd6a44f010001 \\x5a1d257d5bf6823096f64d4a1380a7c3c7ed646c2dd0c7f134b59149127f10fd4935b09d9a503bb4311ad5bb65fa1217f288819a697c50d5b29e1dc0cb5c7e02 1667037689000000 1667642489000000 1730714489000000 1825322489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-7 \\x1298d4ec7f1303ecc1288e9be08ea11cc17324a543df080b2caefdbf4c8599ce78187abd361395d9265012703bd129b700f886d4165ebf5ba5ef211adadabd83 1 0 \\x000000010000000000800003bd932d0590f8312e37bb715c446bf9c3c5a576397dd3face37adcf687f8af8f4b3d08231563e7deabf405c612e4e60b930a3702365ef99e81318a808d32380c411eae224230735cd14da4bca9a4f653f050793b3fa064f6693e90cb9e87a2bf7db371085c36e75c951cbd00ee38c7dca61a33f0f850d1597369dcf103c661785010001 \\x5151c47f740ba587d2aa7d7357349e2433cb52559dda1b626e1b579dc964b16764903a82fc857cf8452628844feb200e30faeb11aa2945db92df5fb157a5c10d 1687590689000000 1688195489000000 1751267489000000 1845875489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-8 \\x1314a5bebc72a8b9804630ad79083ddb50ecb6553b667d3712c05ad07cc9bff78395147ff1ff33e2f150a578cd6ad4cd55695c8b000ccfd32d68433601c86022 1 0 \\x000000010000000000800003c52edad98a91862e33a724ecfadce4a9d520c90bbb337ad0eae9b128e4df3330ba13ad036fe40fd25f0a5cafef38999b2c48ee65689a1c852c147a5de2453888535d6406a4325910cf103a7fd2140d2d9e55d2a8b27f0e5f74a5864ce21fdeec6a9211cff2317faae185f20acead8651e266a21a1612a84280e8db6ff61c4aa1010001 \\xb8d480df830f88616b60678a1c6e250b14746d459626b8a61ea656a8f227f1d74e0c66afa7842e67f568235597eafe9de64170ab43ff9e045a46a5f17fff1f07 1669455689000000 1670060489000000 1733132489000000 1827740489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-9 \\x19d802fb8f66caa9f1efc210d85ba725380160fcf6469dfb708a8a306a09aad2ce59945631bc27c85661e1d3146e418bc66e0c1d0f7c6a791323e84193dadd78 1 0 \\x000000010000000000800003f0418088f830abe267361a441a439c041173bc92a38deffba721b22336c2ba141bdb369354f00e7c8f8a721155993261998c8ae54bf1ddc29ad41571b1521d51b0d4322fc21268d831e6a3640bc6baa105e7bd9d1eb5674aa516013a8d26e29d34d856598edd5a6b351665d6d9249bd3b3ebfb1cb594925d9ff35253086801b3010001 \\x65923a515faaf946d5c2761d2298c33071f5debfc38112905714f9b4c9a7ceae5f934c4ffe179e466c6a4130506035b2da465c050b27161c411bd562e2224902 1678523189000000 1679127989000000 1742199989000000 1836807989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-10 \\x1cd83cc9cc98dc46908f4c63190396c309e4b98706dda252848795c34de827c3f513628d6d4cbcd416ccb0f448a98d526a65f736f316194b21466c7caa8149ab 1 0 \\x000000010000000000800003b799a436e98dd126d9e355f14234ea336e66a0c99222405b42e8a7b06592a63e6640862cc999cd7895331845fbfc0ec4d113c59fc39c35d5a46e27b8e57cdaad93106cc2e0063cb121e5ab19c1456598d20b6007fd4874868f12077238e368254c9832f4d35eeb2aaab3786d2454af8d248fede33d1275e9237b0336c001945d010001 \\x695cb5f960ca4819ef83b7aa24263fc9146cd67c1eb4aa214e316785ad42a688d81da296c80841ea556f964a6950e1e848826a339af617f89cc54a6fef9a4c02 1676709689000000 1677314489000000 1740386489000000 1834994489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-11 \\x1db8bca88f61122a9034400fdf7abda89edd34fbb11ae14115f8d18db67e0f1e64e42266d1506293c13cd31546a9149322d56a40d14aa4b7850166b27369b9a0 1 0 \\x000000010000000000800003cd1c890907463428868519d5b977777b10bf5f8f7f93c57dfe2a99e7164277b715b471b587f0cbafa86892e536027872e9ff7acfe170731c745dac1174289b7176a61ef3f0662d73fc11fe3f8946b3cddd4ee78740f15f64d87d327f89a06dd5760a3685f227229179d16110e46202984ef9700b1f5a501d725e540dcc644535010001 \\x03394141c27e2b2e1af7140b9ab2043ce711920e1d0d38a5d4d069b97cbc62b66b33f51da0664a24fc75b556981e4d0e74f4ef5e4d75bf1d32de3006992ea102 1662201689000000 1662806489000000 1725878489000000 1820486489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-12 \\x1d38f665e96f48c3d8c65df6d2ba4352159539f8c28a06c2c44e238d0fae926d8e65326d2c7af6145be208d7b6ae41dfefb07c062aea076853d40e0649870ef5 1 0 \\x000000010000000000800003d78b7d3073b4f9fbb57af8fd43b3a0fd7aa387c09dd36a2c6e98cc213afab333d7a908dff2e6e9a2b17018251003eb2ad7a2e39a7b43e5a67c9b06560c9b4611c46496539ac70c1365cf7c16bfee29c8bbde119057ba3a4a79f529c7baf8bb3dfa12ecf17f839c65d9ac5e9e19bb6c49ba8ea2f084d2bc1164358fe62187eea3010001 \\x6ea55a52b74374be52f8a0b830092ba669a37d92a09e874cc98e2586b921f8ca7ce8825d0dedca18778b184807497d90b8fd42abb8b25121f32590530a114f05 1688195189000000 1688799989000000 1751871989000000 1846479989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-13 \\x1e18be08bc01a3ffc8c565d1865e56738b99cad5ce0a4239f88cdb1ebfac31c8ee51752dc2ca7ac0dd41d015d0fb21ef59d15238c9b17be6e45a81b20d4b8b80 1 0 \\x000000010000000000800003bb1c477fad2855ce3fe0a9aaf40248ea15eab04e716612e7513bd1b0db35f44a0e975b242921abe3f18c9b864a9e00945f3a5eebb2d301a42b0907d8b7f6b6bdbed29669aedf0d53188c2e624a05794aaa778cbab3fa5c13fb791a26a627dabe499af1bc6879a372f9565bf93cf05ab80867456d177b6fbb05930f7f2610d1ed010001 \\x679a54ff80c7ca85c0f1835e84eede0a7fb84567d1e7917a47998938d43afff1b8b6a9974a4008c27fa00158eff3f2b72f3198ea06327d8dd2d136a44f66c50f 1688799689000000 1689404489000000 1752476489000000 1847084489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-14 \\x1e9011624d761a8d0710fb06a0eb5156108e82a24742336387d8dd405070602666201cfa9ce450e83f9a682833fa0d0cdc4949c1fbc9543ccf33eb5503b6830b 1 0 \\x000000010000000000800003b2ab020d22b8b7ca3a69b7f5e7386a6b2158d3dc199c6c0165b7968f1e8586b088c2c0e08612b9b8464525d947f90f5821558f3623360e68f2d467e0df8879f5df002839b3d11a30d79385c2eb19e7ed12d4849f9a0db6c17d60890a58ff4586b9fe53d19d949e0a5226dd984b1b2ed93e9db9106f9c4b867a8f88e2fa15a623010001 \\x91b8322fd398b5beaad43ba93e4940068d443e0a405f099748788f96c3f1bddbeefd2aaaeca5551d57d62986b7427778a1b6737fc988ce7f51dd046768110a07 1677314189000000 1677918989000000 1740990989000000 1835598989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-15 \\x21a4d86242f6053410734a779fd212cbcd5d83077e7e1fe5274882aac256d68d1e9540e7cf8f50fa4e1f13a1979c144e04e87a7592255708bdfc79049ad55ad5 1 0 \\x000000010000000000800003b995207aad645a6f832c719279db4ed398f8b60dc3a4d0d98a1e669487a14e1ed36f3a58edb6b8fc34ceed6e85eaf9878c7d7b12908d925eed7fb4ba5ba1c91b8fa6ae1055cb47f4f9bdd0050b67fdee4c891552dac5fb079ebe79bc5b6416c2d3dce6d58d97dbada7d0a5942af9230cc04e874cf792b800bbeff77205f3a3d1010001 \\x36d771b93ae51b439381287ece105c89361cd054515f9e5bded068fb214b403c95528fd8843626599774a1efb1221a37db2100f331e491ce8f0224b0770f3a01 1679127689000000 1679732489000000 1742804489000000 1837412489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-16 \\x2384637b1387086bbcd31f890721e175b34d6a0b000ca6ca32ec932994a58418db3945e34f3eadac8e9afcbc1b074961cc89a80fb42be22b476a6a133cf92caa 1 0 \\x000000010000000000800003d497979e443c5d8b0d72ccf06d8d1546bb249ec767dbd413c5b0cc37bbb48770ad1a56c599f148b15917efbbb9baba91caea565694d370f570fde814197a9ad9f82855df162c5218ff304687d0dfb1dfb4c0ea64fef7cef5b7e7638bab8d09503de030860cf5d8dde96c41327c5cccc2840b6298a6b7d269ce4c858e532c538d010001 \\x0f3cb5f79a6d4accb1dfcbb29d1b61a841464ff3007cbd05050e149664aefa6309e528da6a04edd52adc5c6291ebce09954b7b09838975afb45705e36f8e460a 1684568189000000 1685172989000000 1748244989000000 1842852989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-17 \\x25e033d3856a9b41c3895e6e59fe9153545bc84453110a431716cfe76db5db40441510e73b938277d0ad9dabf20007b8cd6505d004aa86c1d82aec35a92c3c23 1 0 \\x000000010000000000800003c408293a58bd11baaad37ca1835222474d7a23548749c189256c8c1895f751b106159541648412a71bdad9b90f2efffa0cda003826a57fda54db870def1cdfc8a47c0185f869473e4abd765589407593f436c78d72aefaa6a2fa3c431df885ef849bfb80f5a81627908caec3d00b0a4a8a49974ffca9a45451504bdf08a47dab010001 \\x34e62945e8c487d61aaa21a9a0d5865cde0169cbf44e58cbcfdca4c929f8e58b056bd0865c69e3274499177f5ca69a48516b4130b6311c36104e820854ef7b04 1682754689000000 1683359489000000 1746431489000000 1841039489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-18 \\x26146b30cad93176750a2a353090f37aa3edf1f751e1f4643018935b889e10ae89c1602dac5c1c6eb5d990e83792c509e71513781a98d6faf21c1df70aa6c8ff 1 0 \\x000000010000000000800003cfe4a69605afe0d4074f942b77991900f8ca536684a2346d5cc27890f7e1f47454bf84bb5c0c74f9a53d717dc91b5d021f5a10ccf23e606f8ee7b670a6b7f01b526e9feab3c062caf6e08a8991a053e3d773519612de4a82be59dcaaae2b4b54306f6329994b30857d3da2d769db4ad6fd4964fb5da9d1396d63bd7b465fe859010001 \\xfaed5d8a4b3e78bb0ed62351cf38c7e5211e57269360d087b57bc60579c943d6299b34f9939df69e8fb9ee6486816f78b5cd9efb40d6d3c4deb5ce7d185d0707 1682754689000000 1683359489000000 1746431489000000 1841039489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-19 \\x26709bf57d73e4c0702b511db3080e85e5a3b659950abde7e8401da212d2fde07d1fb98538d51ce970d88b86951b6922a2c33a1ce89441ec44493ee2b0c6f0e9 1 0 \\x000000010000000000800003a8efad2366ef67c8a19af0f4ed9c45c72b10702accd41bcbb0fdab6de05268fc08edb1c2eb5b397630f87e30cefc4904683a49a7e5ce270ab3af1e9caa3f9e9e3a0d163c2b9ef28db64d182ba72250d3e8b216d0aed1eeba7a2124c28529d48f41a38a6f7015cc45c95b8a02b88b4a7930109103ef1f114a8110fcb3d5165b85010001 \\x24870a0a6657bfba056cb47d3b0e38301517b4a1c6f1ea43105d97ea0e73c16fa75808b3605751457de3b7b7ac734eecb616e00527bd6057c8044f5bc3ae4e06 1662201689000000 1662806489000000 1725878489000000 1820486489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-20 \\x26b0c4f412e2b02058c09d16b62ad7d09239d330523e77bf2d549fd4dd7f5ac5944208a00fef2a9482142ebf0b63be451efe69cce10af0b56f6b4c2c9948f4da 1 0 \\x000000010000000000800003cde687557d92693f59aae6d8b72ab4ee1c4fc96a9f81a07f9e1485007b7271d14c597abe55d071b0526ed447902a75d94c754017d04a9e09ea87408011af71685c51ae208f10c3c349dff7edec24400c7ac3fe19fbddd4d39cbd0bf6c2086a46a3aac952d1e3a8dccc1502a38847c6b106520b0207b1f14ae4513ab39ed441e9010001 \\xbfbfaecabf6c7f6260e2cf35227be4eea2ccb9c87af3fd4e52de5a3569cda54e010a50ab926fdf97af77dd58298e29b7187e4a9ad139c8b30568a465f680990e 1677918689000000 1678523489000000 1741595489000000 1836203489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-21 \\x29304ec69b8de3fcd46fd10222fac2da6e87a6cf05f21c6243a44f371282a73189a01d32c0f42bdcbc2525ae0fd6de028370f31d6b29c2862b597a20f45c1462 1 0 \\x000000010000000000800003a0aaf977af1ee3b8a4b19e6d9ef729e794ba7e6134d7d3c8a8fc91b5a7f02e28369f672f62ab6030b3dbd6983344402539e7dd7c88eaf9a52df41734cbc8c2df4f14c7a6ac539b4914f791aa642e0fde6ddb2fe91111e034927e46cfcaf7aa528751293b7a92a11a587a5bef9b505199ad8c329fde0b7a64bee606cace79d34f010001 \\x53ccb1e7f9256c760d42753b7b709af50ceb843f49a108eff029e7f71809742ba641e900c8eafc0a8fc3649ba0e7373a7431c5db1df774e1fcbf3cd07a693402 1682150189000000 1682754989000000 1745826989000000 1840434989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-22 \\x2b5c2743ecd5031c1cf88316d8b7082e5d727423cc034efe58d90880db225026ca61facef2f64982d47905e479b48f08d33d5cb9faadb818a9b350c20fe0856c 1 0 \\x000000010000000000800003be292bf8aae3a994239dd743d6cce5c3959ae8c558a7e2d69c4baaf684f9608e8f15a2f6bd98d4f1ebc3daf2690e35a74e3b7a67db5ea0ccb68588314a0d81a5bd4cb2002c6daa0bed0dfa0316433cce0e9b32a7bf381ba8c4169690f8283e4b3be26fd4e44d4724bcaa358c508e6535ed87ee778d1a2f0122106dfe975fb485010001 \\xfd4e231ddbbed9a6db5c24e690f168fd97e1c60c8ec04a8152ebdc279308a923054e3df3202cefd1ddc4f029c20d2f4f8727b980ab3d0ea8250f0e0b4ea46d03 1683359189000000 1683963989000000 1747035989000000 1841643989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-23 \\x2db8fa4a924832b8a22973b5db7bb8dd6031b6c74b958efee331b82e680d7297124f07c6789ba71903f53a643449a1ad9cccfcfab765c3f4d8b5b67a48dd179e 1 0 \\x000000010000000000800003c4fc5c8a972ad1dc43dbb451cbbf0ae1aba03340e86776e0d8eeca9a7b7ed5d6bafd2a65f264f4779cc546ee767a8c22917405d8764c90955871f165d5faf742f108ed3a3ac511a89c7bc59b6bc8d4a715736fdeaf634bb1bf3af00a0412844e4ccc0d7656b4b5d2124008414b5e2e1176485ab9cec8a258921a530ebe17ba15010001 \\x8fb2c4ea48499c3561607886930bd29851cf05191902c5080b5a33a7fc624853cd52b885afbb112aa388cc265382364959c4079288ca84bd984561e710cf0c09 1682754689000000 1683359489000000 1746431489000000 1841039489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-24 \\x2f0852a26eceecd2a4487b0a896ed123536e49a967b4a6abe6a91ea0c08136eb463fd822df794ce1bfab2036bbe071e38ca98ab5c3c032f9a4d9e55d8032c290 1 0 \\x000000010000000000800003c980cd657067979a92e6e72d352a3d16ce225c34a4e9a6ddfedff2b1a863a8bcca2244368c034017ea6639c382329f6af9c5b7fcf84da2ed60d8f3bb35e3406871da6f47f57b650d0d839ce9095d9a3a78a2f7001596abf4bd17b8d9e0d9fc9571394fc0ff7cf1ee8762967b8f9b336c6025e80e19ef59e6080ac42bda92abcf010001 \\xae00d65e06e5938e17b04251862259714135c14847c467bb9476f7e70e1ae6d69271db8f8757182e07a0e42a7dfadf38c7495fb3b50486a74a76c53a3c237003 1683359189000000 1683963989000000 1747035989000000 1841643989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-25 \\x30402c0ae237acd91b4b908b8fd6168c49a0c15b43ebfd6e653543b8e49483b2c9ed57a934d02a8341b8111003c1cff455e3c07158ca9d03d7b20970b99cfecf 1 0 \\x000000010000000000800003e3d71fc2f7330332531b9ba45eb8517e371674234f84679cc3b693e6c1b4b85ca5d12edcdcd6bd6d26a0771d1831c8dbf3468bc37e5ce083441d76e9990f6cb38563c5971817905e5f127df1b90510276a0d136d47bd681fcac3bedc41ed47ca62d29391bccbc3b2e95774bb06efebf0edd56bb084193955328e5a97c52d5d75010001 \\x3fb430686417e5e1a4306f6a4b1cd6d900eb88fac3087efbe4e146e6c97b67faa501683e4fba7881af5a7177f7e8c8d826cfb8968b2050f6d178e1a1b4bd4c08 1679127689000000 1679732489000000 1742804489000000 1837412489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-26 \\x3458ff7d562551757897fee8e77b66db889af8b108112a2d046265b50450165878680ec648671c65a020692d938a2e43d8dcc3c1f2b5d9515d6ff37762f02bf5 1 0 \\x000000010000000000800003a9bad79c7a1150ca56e15226acc3320179e6dd9cf1e55b19a357118c69dc1869fcea44eba68370a29c009405d86fbbc8aa611933e011cb34ad8fe65c1e9ec397c9b4623b077dfadd9692ebb325372437b8a89feeb55913787771bb3df57f8bb783cc6455885ef63db9e37dc9364660909155c8ddd6b2b51181bd2ad87903b56d010001 \\x974554c9f88bdabe92ae5898965ff777f294e1d78b0a9f2fd2a31ab608793afb451f2fd948b2bceb0f6ad62e8d19d454a83025d33bc496d4f2960c59f0bb6906 1674896189000000 1675500989000000 1738572989000000 1833180989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-27 \\x3528635d936b16efadb3cf5f9843547c3e8f250be686db860403e65889377f3d7f8e15bf1a3d61b9da6631240831d687a1129d1c8bec7074383f99965242e4ff 1 0 \\x000000010000000000800003c34897c01f6e434f73ba0bbdd0ab55156ca62fab1100e8a11d82f79e126e522c359496fa43b818e6626299ad47cba333a9ae4c21f14e4e32422996c015b636fff174637806d1d3cf8c2d9120edf47fbadd75acd76476ff06db2437de1c9030b8e3b8b2b780444d75c65c4cf73d11ab5edc1d4e1272b9fbc997b7cfaeb616f653010001 \\x228040928e6495f30c7b3dbb4022a354e846ef4e78bb84d3ba2942183c5f119ae3e028881fdd141800b6171fb2056c2a630830ff02ce94a5b8920cb8d8e31f0f 1683359189000000 1683963989000000 1747035989000000 1841643989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-28 \\x36346a022953ab8db0cecd05fd727230958bb9b57319733be89abd21e891e4a41e3841dd4831aa49a11306d46c00e7194ef99862447284c64f9f95bb98f1ae2c 1 0 \\x000000010000000000800003c4c971a927ae30ac0d6fa15569f17a2111900ff226cf4c20f0d2e0f33e12b7b71927fa7be40c8b45a12a726b10bf3b085565982d1c31108ba2f7b85fcedabf9551995cbe9f3578aaa6d7705a3f2889be00f40a1f54a3d29ff38bdd9e940b081aa7352542a92872089c8f1f84c7de0e28859c8e1717a9d1e60f83345c5057630b010001 \\x4c3c54ea4f2325ec2ac68f3012277690ef6715df50e57e08288450f19fe4afe778e701b8a760c4905460025869e0f69788cd68312686cdceddbe285d2bfc2507 1664015189000000 1664619989000000 1727691989000000 1822299989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-29 \\x3a50b743e238dc57dea3580798d69172302e8dab66046cbb6e301ab498b6ea008d723003c347bd728ec0259079480229585002af7e8aae4ca90152a9bbeb8e00 1 0 \\x000000010000000000800003cde6982180ec271fffe8f5d2598a01918dae667bcdf1a3c2282f060023e8716ad31622b92a0e39c64b134a5472d8c9441acd9d476a719498c547f8ea7045ac26a10f2c3601dd94e7a54d70e369aef20ea21b37b48bf498e1efefd9714a9d0d0e79016e136a1359b3c1a8ed828b2370e7f81923e17f56c69427bd95ec500cd99f010001 \\xcf42f0c2eb59db7c54e6c3aae6f69575f55247d629776b96cfbec1b87ebb082ffe21eeedc6d0e90477136e258ffa95ea26d209dc115ffc8ab5c71084b327cf0c 1687590689000000 1688195489000000 1751267489000000 1845875489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-30 \\x4010ff2caa3e0cef684653fa923933c1b26b7e4dbee437612aa41b5649ead96ecf9fb925859ee6511dec9adea194d0656a17e447f46a68a60086ee56538d0da7 1 0 \\x000000010000000000800003a9b37c1f2fe9ba8f842be68fd3ea7196123c30ab3dc9ab25a12c2859dcdb124bafbdaf0d908ee5e1622e906efac1e7cfb055b5b301e3f69400d25fd3c5be3ed727f57ead62499ebe944f37f746923cace8297ed6bd76462fef92af8d7346805b216fab0c4cdced8ef346ec098727d121a5f04c30427f2e755db89c7556670855010001 \\x06e2c87b3f182237defd74f994fb22414afd02833822071f8c9a21f9b888af765a4acae025d31deab183a86e49fc3798496a57836d35a317b06b7010e6fb7f0c 1674291689000000 1674896489000000 1737968489000000 1832576489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-31 \\x43244c2ce4cf07ceae853e264838d007f05a902cf8738f3e498d5bb0e166d79f42b5e154d51308361415662090962af7cfda9b92206603d6c50f26cac84eaa54 1 0 \\x000000010000000000800003e65acd6b2488e995daa87d831755c60549b6ce70a76c5dc4ff6e640ecae5022c7adbdd4705e430acfa16db3fb5a204b1258c7101de2bedb1676bf29bf5e329df584068ad59ab9d7768d76032ece28852965e988198c94f6c75c7e0eb04cf5a62f2c2e610d1f581ddefa7b5e1d8add68666a665aea18ec9b7559ca752dc9f760d010001 \\x0c58eca4fbc2cdaad68dcf3646d97442356c142285b4afdd7b572e53a2b06d281c2e129b005f33192e11ad3fb7a695cc2ef6f49c21bd875315a883c8ec0e8707 1683963689000000 1684568489000000 1747640489000000 1842248489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-32 \\x4494438ca8077cd39676efcc81ec836f1e84a1be4b7b2371017172b5e76e3896ba3072f39e6046e96af1c9a6d25a5ccd3df2a0803e0581644cb52ff499d78ceb 1 0 \\x000000010000000000800003d664c497aef4c6dc4a7820dc272e4e6ba1b24703801a1a6fbe4d4949537724161205a8c22ecf57a4f6238d12590ae7e7e5a8c7fb393645f309933b8228b4e445697650d811fecf3fee7c3299c0a137c91f8c074e9bb5e881ef6743480d45fd522021a05fe55f136217d6ad71f916b862050a242d7196976c122fb9c7e48bee2d010001 \\x436285ef5f4060c7cc7818b5b5cc12660614ffd909e77b4320963eaad11c69932f2acf86c694fe7e055e3f4f5a886b4218874be8781a36085711a0897409610c 1689404189000000 1690008989000000 1753080989000000 1847688989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-33 \\x44dcf7477a88441ddec7bf5a4e3eb375bda22598ebd34b772753f6f50e14c9b8bd56cbefa99da6e880e709e31b4a11c886154a22a649f295d757b1dd3b9c0f8e 1 0 \\x000000010000000000800003b3d420f7740311c128d6f05aade63f081b83c0e4c4e6e525d1d1c7ffe4398c5bde56d8cb3763c82ff033d8eaf21b1351f89cad6c17a640ddd309e2c9a9aabf55909bcca9d9385af72f0298fe127a3bbe88e728988f9264b904f212be26ff22ec87635276115ca29f5b82d3d67cccdeedf484adfb81e98ec7942ff5dd7c31dba1010001 \\x66565aeb2004fce7abfee2d83eb7e704ba2eec4c633d8e2508def95bf332e54de9e82f0b76aa62b7ad84b41d8b6e6f972f847cf9fd9711e337b515d987bd7608 1684568189000000 1685172989000000 1748244989000000 1842852989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-34 \\x465056938d27cdf8c078c660a8e3f2e06e0f563775738857a6b9086d57ff3809838d14f3107efbf959a808ba688f86ae47bbb11712455b478ca5c021f9a3ab6f 1 0 \\x000000010000000000800003b8dbbe6f3eb32ecf6629a3d6170deb5109aebc2439fad5b87d41bbe89ee8ca7f50a087d05357e212cf9cbe42e03486913a253ca023b8687254455ae3f772a0d6ff9d66f9ef2e2229243a02388acf1f320b253495a316b0ba4e60e80ec58e2a354ba535c3f5ecc138fc8feda81856a4fa9f4692b86e192e96b99fe26ca9129e7d010001 \\x333e35aa564ea1caeb62a1ad02f0e776b70ede99a48c77a9be69eccbe5649cd12b73d4dd5ad1941f54ac57cb2c0ad446aae509f1c6856d5c00eb16f75ab8ed0c 1685172689000000 1685777489000000 1748849489000000 1843457489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-35 \\x4944e5b9779850b5a8fa7b37f2065c36cb01a7ac21b42aaf08abf2c79e4f7e73f19000a90d430b0f6541a6c4928fd75324ae1aa7835a968ab351d05a1a6191ac 1 0 \\x000000010000000000800003c23be46b1dcca00dee1f3eb3a1b08dd47fa1b5a9458f8a6b3a25a1ce689fb0e50bdf8053ff9a4cf49d470162a6bedb336ed025006921931cee0bd279ddf96f33ce9b91dbcf02931c0192a1ec3cb42b6aec5ca553540ccfd7a94ebee755016431c93c989f08d58be967ec175672938cffe2abd15799815b4c5998141e3b605bc1010001 \\x0197cf74eaeebb12c1712a7071dbcfb619948eb5943989a9169f9f296f118694e84e70ffe3734815734629160bc2a2f7c325d39b502e133744ad3b0bd45a180a 1689404189000000 1690008989000000 1753080989000000 1847688989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-36 \\x4b14ecd472edbe31e5c98141d983fac74ee9e27282e19e8d601dda92ce909d02e77131ed47821576fb50ae8c565cd8a0a6d98a9be00c26b8bcf7aa4669b7659e 1 0 \\x000000010000000000800003be7c106ea77787e6ab5599e495a24a6ab43e27d4b4bdb036c9ef6288f6aa0ae38215095161744949de8668ae842e61f7e403dd517197de76e0df568b7f15f39ae3f9e66e02734592ead1edcb2f388b4d26dd931ff14f315100cd51913c5f027bc787bd2eb4bc2748f6f7002cb052e65a49efe21b0b2d4a6da7a7e12b6b2467e1010001 \\xa4a3746efc5bb695da11d7290a2ebc15fe4750f132142c7cf8e760cdea76799142751becd09dce1347df8433d6479313c9877e2bd3d1e6ca90d4aebf7b966a07 1675500689000000 1676105489000000 1739177489000000 1833785489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-37 \\x55440a124f6c8941bdbc6170eadb9db067f0837639761ed83ee49c5303fee22eca50a17a315231f2c48cb89ffd279edee5ac5090dce46ccce7a725d818c739e3 1 0 \\x000000010000000000800003bc55db4f4caede12b9e8d5d13dc46a0e8c9f56ac823b8d9e3658235893ce0e36defa672ee5a326daed7fda2643349bb442d9f8fc584054e256bb42a2e1614d0851a147191affd7bfc4a45ed8aac9f26144a84e4152241f35cd6b361df75459692ba652eaae2743399d977d2cf576b147d48f5c170d5c6115f703c17547ecd607010001 \\xf1d7b1429d7e28d8156d51252c4af9c5c8193ce38223927215711d3582e1375d97f3625b8726f2314cc31f3bcab73363b242a0fbedc9e5901d752d84309d3408 1672478189000000 1673082989000000 1736154989000000 1830762989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-38 \\x56106d91c249e15e474dd9b63a9d613f98afa37c5832a3a4474f3f8f34d7328901db744cb53e1310a97cfb9d0e18da3615fb41d4189af2bb9acb5f39a374f190 1 0 \\x000000010000000000800003d7cf7285c6b30ec2afd39543382f1315391f12202a672bedd76a43c8b28e09bd7f00d397cadfad21d5443448b2091d9e88b35efea77879a5efcbaa8b70b0a87107b4d43128e8b2621e2d29d3b14dd1882948b3b5d0f236fbf47620bd13fda1e87e7cf128a0aaf8febd2a8c2e92f82e7da1b2681f015f6a0a580a5406f6b07f6b010001 \\xb4cba1598712340767175fd117678dad83ab618adf1e7f081e217b26170804f66924710c8012da493007a6b14e65eb38454457ab8c50ecbfdef95b8ac023b20c 1667037689000000 1667642489000000 1730714489000000 1825322489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-39 \\x5990c37f3924c057f024b3a912aaf21f56159cc09d1c4c75a04356801285500166cd11605277ed844c2e43ee0beb31292f89689e412a4b9f162f45158dc78cdc 1 0 \\x000000010000000000800003d576c78d18d6c47592b6911bcf015e3e72ce3e793a933f11301ee5215a38122e6d6fcee485f5e7251f176a13a562b23d0925c20a81ccb54922a21ded28f5091067d8d789296971667de4e91993a8756977dae00341723cc6667f9a42da8cca1a9019082e3dc869e77b03abd9610bbb257dd467a721e492e3f80785c0cddb0dbd010001 \\x24e98297f2a0ee39c1510a3231f9b019c80cc4dd0b0a2d4f7fde920aca3607d5115947e3a1ed899e6dddbbbe35782238aaad78b205017327156db4c453b91e01 1668246689000000 1668851489000000 1731923489000000 1826531489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-40 \\x5c8022607db433fec8ddc20fb460a1f8f3c99c7e24aa8349be07c98d44738ef04d429977b44b7b1de5f4779b610b847a18308ea9b5850856d84fc2e48e83d351 1 0 \\x000000010000000000800003c51b967520a97cf9090f28c79c3eb7de2244f2edabdd2c60daef09ed54cec4e0399f9a17926aee5d2347af2c06c7700bf2eea02ff170611c94af1c44c2e34c632e2fb83853e6cbf53ffdbe650b54ac40a82a3a7d82e6281f4258dcfb8fd64f5d2f57e9ed4b9e7302f1de79519dccfd35b3c763255248899530ae9bdde77f0cf9010001 \\x73b90a06412794ed9e81b5bf64b15edb05071a8a3944f4bc6ffbb6fa7512c426371fc6f9a4ff7adf4b6743f7a354df0b2693f389d584fefc7ca236d8eb3b370b 1681545689000000 1682150489000000 1745222489000000 1839830489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-41 \\x5da476be714a6f9e23eeeb8e5f59846e12c31f6010b8eb7f6ccf301bb9431e1aa6280537d3de0f6c921f79d563c94bc8fcc15ea06eed8c7054d0c8ef67db1148 1 0 \\x0000000100000000008000039ad6a01964dea035d90a082354aa62bf47844e67a969e0737809f9543034fee7ee0f11577d6e8b76329f7a1cc5a011fd6756fe573749ccbd7d9a32864219a09e8afeb0696d342ebb82eb28fb712933834c6b0a431bbde5aef12bc3edc39e7b52a9223e33655c83a60b0bc5516d2dac7ac92b48e0c22d24a906b09d44bc77ea41010001 \\x4a6dc192fd10ca64f05473d0d27eec0aff17a860369969418e57649852c3fe01671791ae6cf9d42a78895cbdc204ff76a4bd243a271c76d3f5d95787150aea08 1690008689000000 1690613489000000 1753685489000000 1848293489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-42 \\x5dc8dfd63d179bd3c9988036fd2a6b85bc214003587e0e51bc98fbf4a80aeea28f1f0f4ded3e35dcb8287d05b6a592c05057429bff1ee92d2dd143523f8515d9 1 0 \\x000000010000000000800003cca6261bf44aa9a2315e3dc1eb030834f9ed1a6a0eba1788e48c3e145ff96dd892b945ddcdb2e1fe1b48fc97383dd0de23641c967ce54eff05a2f37118a8415a8b6f2ea9937d64199a14b44276ba127126507b54a06cb8598ea7233417a1f0d30dfecbb9ed39f05c4d1fe22d450d954b6317cc9d89ba33f8ea34c0e6313e2ee1010001 \\x6681cfc2459ac2801cffded5edcb83d950fffa0e2343389fc4b239e030ab68f4d6cb6e3c1e13b87abfe0a76e05ba3725fe47db4c504d226a2b8fde1a66107603 1667642189000000 1668246989000000 1731318989000000 1825926989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-43 \\x5ed800a044617cc06ac0e5aa568bc8f662361a0aa98b90cb6e1cc3e032c4d68f39dc8996ec6f0ab6ac78dc116c6fb13d38e8f3bfe52c160ea334e8e8310274ac 1 0 \\x000000010000000000800003e91b60919cb4cf3833661f2a33bdfa3ee3e1e7024be86498a87802418c0307176e0dfcd5864273133f88233474251aade8fd583436194b18a92cb6f30399cffcd0947d4302929998ee8579a458b7be78af807db78eb53ccb69fa3cb01e0e141c6a10d8c91d9eba793ed2efb399ada8feda99186b4c811da36be6591e7df27c2f010001 \\x9b8fb3a9774e4742a0731307d9f18c93683bad08987802a06b393ea8514ff1409509adced648f036f38717f17a46ec3602a972c3c09c328faf8eaf5ac67f5e06 1671269189000000 1671873989000000 1734945989000000 1829553989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-44 \\x5f7c91ede120651ae6ec088f44cd433e26825696ceede741c49107dd6c7cfcdb59af6af896607fc3f7f4a4fa973d52f7b5d6a629233cb633b4aa1d6e1de1fadc 1 0 \\x000000010000000000800003dd4244a991ff595b32cd6cb378b2e306c2950ab22a5d080f4d3ec1a3cfb4697c3b7a8c2f473e15516d4f5ba5f61746103faa237fc79100f7c8bdb301fa827c46d3095924053dcbea18e9d9264b2ae1f9b716064c081b28d1f648ff17bc6f42098e6de0ad90abb9048e077561358e0c081aebae7dca8bd79f7ee3dfb0e8b7a3ad010001 \\xd1eabb7131521eb87f379c9990cb3072f6a6012a1d275f940598719f2747af095bc3f2d4a5ec2bc2c236cd6655fb6cf4d2121ce4fe67436ebc6aa7f9c0a9ea0a 1671269189000000 1671873989000000 1734945989000000 1829553989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-45 \\x61acabdb4de38fa77cc7d83db26fd869b576a4d82a49bb84f9593cd0f4a1ffcd2b66d5f10970f154ae79b06fbcc327abb4213cdbcc551a74c4169e9ece7649cc 1 0 \\x000000010000000000800003ebf1b57b1084f52e932cb472a4250a15a8db9d1e5d42cdd7940acbd2d63c9a585c7a026d0404baedeaf9bb1461f48e7b5638f98f965df425b9460bd891ad346bb1a1ce7ca0930920ad50b71dc54796c43460bc057b2592c0567fb8f8e1fea027412c2fc2ff6bb75b3c9e50758eee0b65035e48807ae1b50ef7cc91ce02c252d9010001 \\x5cb24b4fe089a23c6d1ce13201423d52f79825c0216b969e145f82213c25b02d10350163854668813ba962593a55ae5249c3a5d9a0987505a78dfd6ee730c105 1682150189000000 1682754989000000 1745826989000000 1840434989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-46 \\x620053ed863f9d09aa03490eb02eddcc5008b016d0a88e7c7b71c805f3211cdae56cc55f24913a40ecf7643fd29520b396fe1128860239cc6bb0eafa68f47b45 1 0 \\x000000010000000000800003a5f20156fc08618480bd2ed2eb242a5a3b52bb0a95af2340e680132045477346233efb02d6d8dca35b2405b36213fc761e12ebed9c3f72fe482e821b9fce3bc62fbb2cfa4ddd00daaf5ad67590282190c3c2d348dce2785ba2ae33713e419443813c3d841d47b7219447887610e247aff2099eacc7e951924880565f34dedcef010001 \\xd51229bee978cd278e475b7f25469da99f6add5db5beb5658a4f201d3516f2b3afa086c09506656c8fc0403aa83c3276e8130607e54fd9e2527bf48558915f09 1673082689000000 1673687489000000 1736759489000000 1831367489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-47 \\x6504c3e353e9621a825cff3b1b6dae82241cafa6131937a3ad3b8dbad5b341aa1d0c0cddc95489de5094c0fa0d7e7e1e2d666c510e79d4f0b1533d1f53136e11 1 0 \\x000000010000000000800003aee7496981ecb87d1353024aecf8bfb921b84d5738afe216eb02c1e4df2ec43a17abadfaafc7567a8413b7f1468d6dbe711013521518f4dfe950e2b1f7100e0337e78538b6f5cf0835072c0a49fb854c8088fa2d9cdfd0e9d44ae16a55a15192416aa4ceb125da97eac48e74fc2f5a66b778d5a5e3f28af3a602f7b2de7999e5010001 \\x0ae386a97b335674ede78c68ea022b546235b8e00a0bf8f9b6ff533797e9a34d074e15ece0071a339d5d91b38d91669142cdb0446865ed8d95a905b8af299d03 1686986189000000 1687590989000000 1750662989000000 1845270989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-48 \\x664443ff98189ba42f01f0b8f2ed37b4379e45c6f84e60d45b19d267e455087c649d74f450b9ec0bfaa8b80d3f5d8346cc35a64dcf6538e641d3a1ba81ddcc71 1 0 \\x000000010000000000800003c924805a54189c9a9d4e0d91c21b9617cab1ddd41deedb5f19b9f7dab063ce8b9b6b1589882869c9001c1408d9bae76c7ca08576954e15e5efc62c418543b14a30d7657161625e795d937bc3e2b3d436b2185fe77a88eee97c8f09150063c39fa358987cb5ee4eb1dc280563873d6273756568c46cef2f71f0b260b365060f7f010001 \\x7bf69a31b557437b4561fd46231d3d3fcd1df4f28bcddc29c09bd602db515912e611fda4068783d674db02fe00a487f7f1c6356691d04d742eecf01dd8af5306 1670060189000000 1670664989000000 1733736989000000 1828344989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-49 \\x68783ee86e8db9becff76786171862526fb5dc8b29cf5171d4ac538239605b21cab3bc476dbf26950d85d2324cc7b3b0c002179cf959cecdf193c84e778b3767 1 0 \\x000000010000000000800003aed78bc2c3edcd9143c3c9179c8fe87cd39a246a6539d0e3107c88c3ffc6c3d31a80c9a016316a5919342a6f5c37988bddfa631641024edcbd6de0bc6550b611e0e149ffe62e1d9764d65bb392c9d18a5695fdb83921f23189bedb4b8202e689024e3bd5db46e3b289b86672d9bc37eda1c2e34f245186e78231122e43840651010001 \\x607a4fee6ed5ac868231fb9302fc591ac68ce44c00003412ed280a284feb6b8061142cb2fec5022207ac30a11786a3a62f3ac98ed51562cef1ce67a57411850c 1683963689000000 1684568489000000 1747640489000000 1842248489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-50 \\x6e34e7cd6e11c1419df0e8bd53e6b4cc7a334b8b80a38f0821a768aa0f47661492fc788ba5b20ff4e0f3d3b1beae379f2e892198606cf2d1344d6f8f0e51f5e4 1 0 \\x000000010000000000800003b5a754fe638c5fa45c3f3d9fffa33d02801e80e0365f54c9974cbb9189fa0206dae31aed02cd4ef4a7e47c19a61e65e806acb41fe437668afcf46aac74bb371794ba270413a25f31e4e45b996f4dad32eb88a1d199a3dc412cd4e7bc55461152f4e32120b28667a2162fc438c4c2c7be8ad555bcf286a16a0bdbbb3f18878201010001 \\xc8ac574d5ba3db0f9266f7c08affffa3abb42abfe028411c9318c2beb1948d3d08a353a752e20b5dbba853e89dda43ecad83a6c10b8171462d98660c29eaee0f 1667037689000000 1667642489000000 1730714489000000 1825322489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-51 \\x72ec3da57ebde59756240f5619010b7e0b6ddfd555dd2d0d7f715fd86b143e9f1cd3d9d9d5a3490ee2400ed512b66217ccdfc396e93efda82cc0637f4d5a05d1 1 0 \\x000000010000000000800003c4cebae68a1be39845321ff0f49bff9a211f4a19bc190b69c206e73adc41e483b415c54f622c15b999391c1bdc6e011e80a68b808724955ab452d3713a83ca1562ce71af2e4db6d9bb61ddc8e36184b7d50e9b21e28c3d11173938e92b659a3d8e1e9c6e9c6c0d21c7c3ae9318ba77b476bcbffc2dc80f789016080972037211010001 \\xfc41b9c7fe72cd5e17cabcee56e395592965cae901cdd73359da711b38b510778c78926c9aba737d75c47651f34e0abb82c05f3fe501f00ae2f5dc3777c9c30c 1668246689000000 1668851489000000 1731923489000000 1826531489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-52 \\x7348686b86bff6abf52b83c8fc7ba01841ebc57142f4cd1f540e14afcaa68702b263a84c41da193e9662b094440855eec30f0dda6fa45fc8ccbd825c42f60e1c 1 0 \\x000000010000000000800003d84f4d7c9bc8bb1e04abf342c3d8cd37d06996169f714afe2e78897d22f569e9ad41b2bfc156c673c014dab176985c65178e5ab02c16762a5e6baad325657bdb36d4dcdad9dab28cdff9f492b9992047109a3db570e3c3f787bfac3d4285156c9ce000120d2e90f862a6d38a3ea9a14012925af791b6f26c384b941e853219d1010001 \\xa486d61d222afc0f94149c3eb479ab2d895252a241f7a576f6176fc4d60a64c79976f1ff9e0e36b11a5ae75f590a916116b3540a96bd07d26db3e3dc49ffe801 1674291689000000 1674896489000000 1737968489000000 1832576489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-53 \\x7a6cc76f66cb6accc1aac97123264e44f7dcac3ab82079f2f0fed192436b42bcf2bacb430ca38b33e3bca545f10acb816fba7cc4363282fe63a3f4b2e75559fa 1 0 \\x000000010000000000800003b2df8332a199b8e6d33740eee11342b558a4f3b87f1fddef309297f5d24b79e18f7ee1436ede7d6dbebb19b40ac44ce78d47a568aee55284dd15b23e9a8484a7add5a93807d93a20ee6cd6b1eded299a50f959bf1a30a9b637628c25abedce8b30f588c7b910923e44c10a68e001f5fbbaad34887c67cee4b72e1a5870a06f3b010001 \\x6d6b157cbbc4a2f56c8c2306a979e148d4242eb43a1a91409bf600ef555892ce56d904ef9ebca25b963ae0c67eed9d7b4fc713909f1fa5b749aad7e7d9f05802 1678523189000000 1679127989000000 1742199989000000 1836807989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-54 \\x7c4c3a650eb69ba116e218e7e30f11c77de9f26e8e61a6889f513c97e50b97bc25b2125687ec26a7dc4252e0b14b646878dd5c66c5d8e7cbed26dc7fac130c6f 1 0 \\x000000010000000000800003d795d75ea88e0700f9a10c3314e22d172e1e47edbf3c3961786fbc95bb4d1ff9bd781d81e0567962d0a495cdd7a1bc8d9d8f0ce85e7ed71e1bcf90ed60434cf065c29d629973d6f206a2adec88cbbec686ed5792c1950fd3e3e32da0334991fda8f0ca74db9ca86c8e9f962565090968ae2deb8269d3a2a5654b889630a7dce7010001 \\x351771f475a2ef71b37b730d933ed69958708fb2f3a06d74d3a6ec3d53fa208bebe8c075995df118baf6dadcab5597ac9c7a0e0a9a1d48bfdfff026568582205 1667642189000000 1668246989000000 1731318989000000 1825926989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-55 \\x7e94439363ead8e849197a9d4b10bdf21953f684a05abe0f58588307736e3b85fef212cc1abca49bc3aed0c5b1d25796097f8ec26a58a5cc9618a43e3cd04bdb 1 0 \\x000000010000000000800003aa7f89853fa680c7d0f9bf50bf0944262cef188a47d158e9b7bc0fc36f13ac5ed7befdc2af7eba55f55edde805a6c2081d4c51c8d396398a639992c2430ccac378cd081ba6e49c09dcb1ade93c4484c8d7e57fd1e385921d5505ed1b724a38f05bbf8e04c5d47809d9fcec243c7ba370b703fa323ad6d79b34ba71bc42b7feed010001 \\x2ed191e081751be30b2096d3c771ffe3a90f63b4af4bd6a3f05b75ab9dbb42e53897b3708eaa2b20cb51c68af2233f4478cf3704ceef9276ef99cd3f49242303 1668246689000000 1668851489000000 1731923489000000 1826531489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-56 \\x8014d0e7efba30dc05bd2298dc1960e1a978bc807848bd80f4b20c6a16ac669b199c58243b5ee643139d6593b9d76f381ae94e4466886b5ccfb930edbaa1d815 1 0 \\x000000010000000000800003af9f1a37ba19cf6a1beb7e0273715d80e142980fa7004c25c908f2de1fab496024536217176915fff62a4aee9bd522034aee67246b0d13dca5558b6d60a2958f65e8241796c79b8b8206659bc2202e15c7f81b0c67a3db97e323413cae0196267bff434817362e7f957d8be0ba752e5e810c537a881a4a686d92c44c597be685010001 \\x2f230fca581fe4acc612979668a1663ecaf17cdd515d444a30608c8ce7ab7007be12f9afbd8c79a1eb815c9f05bdd096c024b16d1b4b9d2fa222fe2cbf4a3d03 1677918689000000 1678523489000000 1741595489000000 1836203489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-57 \\x8060be9e928ef350f23839af3f28cce2e81b99369eb8b4ce304600ce241df7fd5151344117938026f4b2521e5745383bd772f59b7dd2c07d80dd98c8ef2ca4f3 1 0 \\x000000010000000000800003aa0688a9bd133ac036f6192aedd2522c42e2308b32e92b051f7f00a70ea4e8d3f09a40f797fa030d1729c6d367d69f7e4b8f2b32ffbf3f0c43a6fa62e3952f05cd6bacf7977000984518a7e31b66ae36adb3ceae1940a648b70b167a9653b69d75ebf2fb37296974cd63ba418e5c94b43341f0f1b9d70b3c707be9ae37473aa9010001 \\x47ed0820dece8b5d0fd66ddfcc62cc26502f0f6cce73d8a5ced6f754d5d2fe02cd069e146866dd70fcdf30aed10442ce099dde0a4fb5871d27d953f7d0deb50b 1676105189000000 1676709989000000 1739781989000000 1834389989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-58 \\x80886704253ece16390854ffdeddacfe102ab86c3ab276767f1d12a0e0b081b15114aee65ace58b9825640b17d7363a9e28bd4095ba150465e3814dc7ee3f360 1 0 \\x000000010000000000800003cb8d14538e372a8f9d8c342d1213f29eee42a2f3a8d01eb72767edffcd7470869af8af8d7fd5e71973698740470bf264a63d44896f1a2ad12fa080b39df7785345bb26fdadb3f9a0e7a56d669eb6c3587a52730c071e1f040b866e29f4d46801421659f89c7f36bf5d61ae622f3f111ec4b263ca4f9799668ae098446c49e923010001 \\xa31fd110c3166aa9e3faf332aa79f2c6c519b90dbef5394bd531320606f668af76c274794bb34e517a3db3a8910f1b1618028f520c7f0c1ffb66f69bd225ec0c 1680336689000000 1680941489000000 1744013489000000 1838621489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-59 \\x810017ab3f1d9b75144347f3fcbf66abe9de52dbb5f4987ad8ec7dbec0e229e8fd6a824a168cad1622dc92be91473b8d582287fb8f80e8db0ab503855253c5a7 1 0 \\x000000010000000000800003be2a9fe65370baf2b03d993be047cb03db76e60b76a23a2f3c8716b4fe35084827a89124c0283ed9153ca7ea5434226cf3f3632c66270ee5965d6220e7a5548376fa89c40cbc9ee5c9d2ec05f0be6dc970ee7568da6a8e33c0505e2a6b489bccfcadd2ae213e8243a7fa18f27902f22e65b92c2ba2ef957676ce480bffe03e25010001 \\x774050e79fa1cb2f5430525f617cf37c4d1bef679e642342a8d728119af6819e18f6db7463f71d36ae4c08bf96154bb199c92bb3394d9acbc1f9bc246daef90d 1661597189000000 1662201989000000 1725273989000000 1819881989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-60 \\x8220bf9418e6ad587fddfb3c580711fe8b6325d1b00c9420b6044a315862043c5fa3e18f2d13d8d6d3daa878791e9c0932a79461c3b6b5091bdaed95d2d9c736 1 0 \\x000000010000000000800003d5b89f76ba34ac3ffcf29e9cc78e0ee28e9c433ffebade310f0b78f9220ebbb399ddf43186912af9956656ef6f5463438c45908be3605b3ba2e774d23474da035ece139f6724df8c2e380bafa7627f8526106a3f36b0ab9ac39c67283a512b211d672f833afc01396d2a5a4fcf51a1c350d44eb709670936eb4d23a507fb2847010001 \\xbd7deead32d6be0f52f74e1800640743e95afade44e874253bc877e4774d99de182acf731a64671908264085096b7da76531a4a681f1497bc8ab8bdcfea4320e 1661597189000000 1662201989000000 1725273989000000 1819881989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-61 \\x834ce524e252b82e6d1725e42d1adbafd17bb1cad31b8b9f8837ec008b83f014e8b359c5aa6149c66c133947447416d11257a95b31906b656ea2cf4ec093778c 1 0 \\x000000010000000000800003a4bccc1c3255c637f6531bf79beca95ab706dbf435c366298633c639c8ea0b776f3a670104764bf8eda122748e0745f37f95d1321d44e2da5d535c786b5f397c17583b54f54e51286ecd58a7f6bcc9a43b37d785916171f45c91b366ea897ca8670cf804325970061c8a17ae7bd9775d332858b03794ef05ccbc618ea64a420d010001 \\x1fd00abfec25b82e9c21cdcf60bc21bc6d2a409c83d5b5008b1f488e0e470594a1ba190c952119090b15872edf5e55d5473c3e2e5fa3015fec78d9cbe77aef0b 1668851189000000 1669455989000000 1732527989000000 1827135989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-62 \\x84aca9b6592a2f953ea9f7461ba6c641080ac6f948df07860a6590cc182039058bb7458b8c589596a4691c6649dfba2efaeea5c6b4d1ecd75331e51627e41241 1 0 \\x000000010000000000800003c0714f45d1db9044b8382ff4bbb5f82c33bb8c39ec22f8fd977603ae955b543832830778aaf89674097fea298e3729e3c1ee425988b7b9836268eb30f7c204b0a1c5b7201b199fecccc6746a161e1ced797323813bd019b4a601bed8ff160068438f7c4aaf64b15eda055af06e0c0715362462115f198158155955853bdab52b010001 \\xaff3ce51227cafa507d13343ebcb0135b0d0bbb135420171999aa7f9554f80ee563f94a5de086300b29b3ab079f61509b0a91dae5a8cc1e3f0ae67a7b8ce8404 1682754689000000 1683359489000000 1746431489000000 1841039489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-63 \\x8578d2765ef5ad8bc6c7172514b14547e394a53d1b0c37f68c3e17749347402bdc0bc91c77fe52a45378e7883f50b7ec10c1da854528898f74f46313eb711477 1 0 \\x000000010000000000800003e0ea03d158cb989d1e68fd838c6b69eee08f3793fc7384882c3eac9446502ff7ba330ebadb5d08e2321b7f9c24f583c5b6342f4a140d5506c869135066254a1aaf473c3b91d78cfda3f57adc9dd07663a9c97e63aceaed0d3f6e80e9647c78c831f1301c1bc5d37a3e61a3f0e00e8aa4788f1af71ac287f1400e85c9d098a297010001 \\xdf9cd31cbdb5770074d66baf7823635378ec27ec6381ef0bda5310081657faf3f086d8cb5038d7779dc02bafd6fbb41237095d438ea6b3d093b98dc44343f90e 1691217689000000 1691822489000000 1754894489000000 1849502489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-64 \\x861ccd4276f18e8ea4e53b345296eb8410c0ec30f0a9dc8c4a507ad4bb092b5513164e72a999a977229f2ceadfb108cc203cfc0dc97c0a491b919e41f2daba36 1 0 \\x000000010000000000800003d49fa3082326d7f8707b13f6dcdb6833c372176e50bc8f692842ac5fea02e3fd5a11945d57303451c720f57ee0105150deafe7204b5b1236ec1bdb92ffe451df62ad9f2e8d534267c15c974cd90182250043ceb03c4c11f372518051736b43e314e16b138c2ed6344dca7047b2f92c83631a9f0bd492ae909a3fae63f613eea5010001 \\xb5589fb07254e3cecbce970aa2d893b9bbdf9e068a9f6eb58dec8e1b3b30de57f86149fdb3ef9ef12eb0401d8ea4bd4885bf3713215628b3d9d088a01663de09 1664015189000000 1664619989000000 1727691989000000 1822299989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-65 \\x8a08f813742eacdf51975247d8f94472c2b689d6629e3d381f62a1d7f0c862a2fdc34f419cce051b0d9abda0586fc3ed530d487a293d958ab47df8d483b5556a 1 0 \\x000000010000000000800003b8429f8d8769aa541231589d7e6523e9e7a52960ef7a57fecb0a8aa90cf2e0a07b263efce5da95e7db8c69f3dbea6e6a48f72fdcbe481519652721cc614ca6392dc3f6287c98b79f0913fdeb97fe25318d5b87daf7efee9253eeaf1e4a7202e1d9f97ba6ce46998647f605f237c8b7f1b2b1519a628c7e20bebfa130fab28a73010001 \\x9a7c94f9b0b8e5a90046cc288274820abaedd469e50b6aabe0d3d40088357ea816b59850543a8b49f66118a2ed104f06bdf9970cc926a7f0d6f6d5e71f704608 1674291689000000 1674896489000000 1737968489000000 1832576489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-66 \\x8ac4f3f5a3cc88edaad20de792dd09c033d277bbbe4a82c35f3038207f727b73a4af380da73c73c62c2f5a10573724e73f4b297e34b91cd90bd59b01f8dbe44b 1 0 \\x000000010000000000800003b90930be0e9eb31ce852f03449ce61629ec8cbf86c9ff6d93dedc7cad85e113ef529d92e837213f6d75d1c1254d6668347eef7737be3c5092c77addc4114f19d34af74e0967442da4ec5261bd9aa281f7f42ab2154ea9cb2c92f6da88f506d6d8c8cbc06ee0e6615e3e921027a5913b9b63ef3a70c2c37bf130686b149dc5fe1010001 \\x98cb6ec12d8849d70448ed82097df0d98b1260cce0fc3dbd2466f9f7c8e3a83aadde20a1103f46cad7cd8af1c936f4683de17bcd9aabf9ee703f6cba4a90390b 1691822189000000 1692426989000000 1755498989000000 1850106989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-67 \\x8b68948b584c636a145c1fcad78cc917a2c60de52e759efa1a4fd03d00d21956dbe5f4899dcf61dabb80d4a179d2f3111fc38ca14c4c7e9e62ef7754c091faaa 1 0 \\x0000000100000000008000039d8109ddc93954cac92f7ac63e9003cdd087739e8f6a077985a1a127c253c629cfe3dfbbd974eada5ed8b50325a95bdb0e04f409abf5f256927ff8233ca8d407392501917f9c60ed482826cdb2d5b3f94b3c180be22e146e3d50bc5055343dd8a1431cc65f419ec29ef0e35758ab7b424c29cc187605c74d13528e7a2b7610f9010001 \\x41eebc910ca82d4cb74b0bcd08cecc6ca8c8b1548a3423d26266287d31cf4c2127a15969f335946c0d117f1da87b7e666ba812b3895049e07ef0d4e8e3396107 1662806189000000 1663410989000000 1726482989000000 1821090989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-68 \\x8cec74af4c3c5621f68327b1abbbee338af1563b44ba4b729247dcfbb394fe14383c029126590243957c4c3a01bb3d658fa959548626fc9c7466e37d11d593d2 1 0 \\x000000010000000000800003b9565be9356df270e84f881d22f0f16226f71b3ab8792522c4ab1c60d482f20de0134d160432a66cdd3ac6253ca607af3ddc919f4be2a073b2603f587676627867dde6f3139085d81a99c581c28747603dd54f688020d8421db944f9c917ca7cd94f5cfb6a467498b5ebaf1808ca61f7d0baa61575dad703f21382f3cd4121a3010001 \\xa676d4c0459e2f240124a96c842573c502484cc772a7c5dc6b459265915ebebbcd48cd3fd5ab57ec5c36be65f194248538b56909157fc6db19b5e0f93132e90a 1675500689000000 1676105489000000 1739177489000000 1833785489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-69 \\x8d6840fdb6cf339898b7de3f40db98daf62e69bffb9cd87a0f71745f0a21761ee8d6275eb13f3ce3756a0ce7204aece6b36d9a511ded356cc6985f0d89b465b1 1 0 \\x000000010000000000800003b4449d362a1188d6160ca5ade6a10cbe74aa9f5359ee9b50e44a648dbbe6e042fd7414336766c8f4c16ad0702c67f17daab5af29725e988ee8116a5e0c525c76b5d255fed7e56776f3a2f0098770bd2cc1709b8eef1b79b51d7a1d697caa4143c155e2617c93ee1710c53561f6ab880616914dd2362d044bdd70b13e537a64cf010001 \\xe373e895db3de1b7cad0b16c1673ee3e20a08d051ce427b3228efe6b869cd95806d0051efc9d6a90a8a779f8c306f649d5cc88a079bfa6a620acd23902ba7600 1676105189000000 1676709989000000 1739781989000000 1834389989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-70 \\x92908fac7393a8121072d17a1e8dcee4f9c2d0d03dd5d89b6af5e428f8da7fd95bc10275b9fac19decb586e3e7e16b271c59cdde8ef5171e9fdca631ad8c60b2 1 0 \\x000000010000000000800003b71af3809870c08f6e1d1f5da5fab178d150dbe40f2a641fbcd24bce5f7d8f1a8b88dacd0e07ebe013e3b95a3ce5f32a1f86e44b5c6ec198f0d40a974c2961103a8b4a8469246fa0a0f7a56cd0e3c5fee31a8529b6042581326fe40dc48377c7e35929c471981db3eb74c9d8c889c3c9aff86d551bf12dd529d52a2b7151012d010001 \\xb6159688ea979c2ef901bbd11f152e9b4fcee963d08424b5da944acbf5612cfb6cc12ba1734d2ba6b44b93b8f3c7ba59f2f1b99c0e940f806c6dd1e681328404 1686381689000000 1686986489000000 1750058489000000 1844666489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-71 \\x9884d9b63dea026cf9182aa51835bca745a471940a97a7d2f354953b778797e928d07f6bd2254e2534b0b2749dea8ce74b9969f1cd76bd023ba2bfe2c5c8d4bd 1 0 \\x000000010000000000800003db3a848e081ea0d4c7613975a59c9e164dd2f774724df8696bd2fe083a1249780b89c20c59754bcc64960037b82730523dfb1edced716906ada1109a5a14a48febb26ef3fc6772c21e993e730892a3f70fdf17a859f269f1bc32c64f94f763fb412835fd6e4b678c07c904851a7f51b4f74f2188d832e2c65b50abe617ad4d13010001 \\xbc60b05f37834011608cc946c5586e6405ddddf2a862662e2e757a5bcae7bb166611de6e8f437ea056a8b7a9cbb74189688cdafa3c7ff915311194e84d0d4a0e 1686986189000000 1687590989000000 1750662989000000 1845270989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-72 \\x99f814ca351388ee017c5cadba6015339fc9e46845cc0f73043206ab07e165eac376a26faccecba0f58f806cf928ab3728994cdd983f9ba7216aac616c38a3d7 1 0 \\x000000010000000000800003aa8bbc36106ef2cf87b1699f296316caac72e30b4f5a241a55a34157b313f457db859ef9b141875dcfbd6e9954155c9c4bc660d00542140cf4fdbfe2ebdbb659b79579fa608ea972e6ad59355225db68f9438871cc710037c381813a233659e9bc3116c56522b529203c8da8709505be3e2c4013927b3113f0764b4b7405f72f010001 \\x2df8c3dec89dddd77e1707531ca4812966b624579a50cf8387be83d24e1813d80da056061268e10194aead5bdeaace2a59246f51992cbeb1e47434608809e60d 1678523189000000 1679127989000000 1742199989000000 1836807989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-73 \\x9b3832513c66e7f06e9c492710db0d253c5f4a585e1dfa65b777d1c0cf7c3232fdbbc06ee3cb702dc8e01318db1d72cf30ee67ceb8c723a63eee3f90ed76a582 1 0 \\x000000010000000000800003b5611229bbfb28af45497a9b1a35f92038652f422a981ba14cdd6447ab7c2ab8c1aac26c97a102a9ff621d846fcc3da2c91a818bf74fc49e8e9247d09873b4165f653d58d9da86e9ca3854b81ce959f451e5a0581355cd53036e6e6c4254456953677580e5c5c81e6feeb1b68ecb118b0a7106c7fe238ce4334fbd80197d4dcd010001 \\x9224d5a7c4976d77662936df7283f94a85c8f4f198568a6355c03cabec70ef119d39a17fbe5dcdf0cb566627e554e8cb5ed89ad74b21725f858e8feb56220008 1690008689000000 1690613489000000 1753685489000000 1848293489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-74 \\xa084a6ea4bb8c977b43b83678d24f93f3c23001c2b092d344e40578b1f2b625503344f4eb33b26d1e8933389d7a4c96e7b4c3c7a3fd5643da6f579d2e69f2398 1 0 \\x000000010000000000800003deaadcf677a171afa4e8f7d7770373dfa2bc62285f1b40ea38cc6b0d5287868666e91cf2eb8dfb4098052a98a116f6b50c93aea67403f27db7e16b907f4372b6bcdf8e3976b08fb20d50e571586420bc657effb80edad8526906b7cee63795eff2fc5de5e43acb832105502d9dcc64185c0df00b53a1156d18d8a7da5064c7a9010001 \\xfc6a5924dd23b08117acfcabb9f3ca410f2d02086efe5daa532fcc7434ab7ff30c2627ffbceb4549b48cac85359a1d8e12e3170c3b9a7caad8764d4d8828e705 1686381689000000 1686986489000000 1750058489000000 1844666489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-75 \\xa1d4a0c7db5820a704007a022bdbdb79cf688526d78465d60bb1f05a15589e439dde2818979f83bf52842741b6ef963b48300a77d3fdeaccb3bf88fc9677c900 1 0 \\x000000010000000000800003a997dbff1ea38f65c9b13ffa6c8d1f4fca697cd5b345948416195b877fa51df55aeba79ce42cbc212ab9b898b96a45e09bc80755e96f390948604e0f91743ac2c9266ed62f6c27367891e3c6ca30718d5cf7a35ee0927967dde8b74ac100c136585f5fa46f85adb12593150659cc5cdf9936e4732e5c2bdb48da7610ef256245010001 \\x29c36cff8f16e34d1a270dcb7da1dff0605a3c9a91d1fa1688dce98dc2e4fb2bddaa5c0935835b0dc134c9eb3ec6d45d95ba8306a6ffba21e34f4d5049322504 1688799689000000 1689404489000000 1752476489000000 1847084489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-76 \\xa6c4283d99266129c7183ccbbff492523f9d01e114a90a035b700618963f001ee47500792685ace183cb33cf3a89ee5c29dcea3e95b3b949f52ef03b1fcf7e61 1 0 \\x000000010000000000800003c8d8ea68eb0a24401f70543b42e5f9d10c02aec69dca8413f67083f19095d9c77e2d864d25c1fb1fc529c257deec6897aed053b18f9d7feca6783fdbec2301b8ea6869b1820f4250cae32a02961ed40276e72f492cbce1d50ed09f016f36f83fe2c065d878f4d55fb185072256d0d5bd9402a6a5bbaa89482c86a17aad6c2d69010001 \\xa9667f3c540b40996a3d993ea6c612288922b674f3358c7d88bb8b68e7bf6ae7ebeb501f1d1d5bf1c69dea3553627047fb557f66e115a0af90170017bfb37004 1692426689000000 1693031489000000 1756103489000000 1850711489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-77 \\xa7f0406e695311fa7d6d5036a0d2a5acfbc743f274a282edfdf7f5ba2e70df6c936bd259476ea13978e61ada7edfb08ebadbfeb6cb4be8d18c24186929ee037b 1 0 \\x000000010000000000800003a527790a1a7a11629703da6f18abcd7ce125eb773258eb4f32e81c7a1814fa665728d7392a1b23d8e1dadcdf84d54bd5b3b7c2911362ea3fc92e21d04674b4a2788b418532ba1e2b3c4ddd11decd6b4c060848acc2a23863d37c6431e8c0bfb372786690ade1641c2cc7864db1d358bf59b78ee6e7063fa956f71e92f6f584cf010001 \\xe190671cc33217c43ab6d4749f23acfc5efe0b6fce6e317f80902731c999fd01547e1e5e48ca3348cccf2697266e2317780017cdc18abe8a4a030ad0d4f1fc0c 1660992689000000 1661597489000000 1724669489000000 1819277489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-78 \\xa718a06eab72b4e5db70fbccf8345a67723209d72a4e0bb4c45be9a28bbbbf0dbb0e60110e1132d7178f840a9750cb2bd3e504b802ef4745f3da2ddc5e26fc47 1 0 \\x000000010000000000800003d2ce606f88468e4bee440caa84bac41450330a71f33290909b8c8c0619b50fd4fafead6762d7e477634846e8f3af755e58b765654a0a5ba2af24f84368e43d6a23d46915a0b35a080ff6480084763a92d126e3588ac4fa6f9400f599187a39d6cd27d288375f5e0afaae0a5f783e6acb370c33fb7bd5ab4fab33c702776364cd010001 \\x6bab034db2216965d7ce5087edf11b60475b94b87b58b928c2fb6f8a4be0fe5b96db9713c4d5bdbcb4fd83a7ff3a930dfb02451c527c834fe889905c4ab5b904 1680941189000000 1681545989000000 1744617989000000 1839225989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-79 \\xaa385588d89b1ddebbebb20dc3de78b909679557e139aef6c545e0e1fb5dd4c55e1d60020eadbdedf0cfb2e3929eec776206925aaf7b6b1cdfa0655b6245c36f 1 0 \\x000000010000000000800003ba8bd75fc5a9f3d903c6581a62572b88039f27d3bc7179edc4b9283c469249418c99544ccc50bbf33da78c1a5cc2c8729718c1d9688bf75cb25c5391ef8f85cb431dcf03bb3455f87be8f5fca8cf29e5b866031a73d7e98478a6991cb647543fec2fa1daeaf38548884b7ad55689da6e1b04729c18fe68526eacdd5b212c9d7b010001 \\xfc4d3b9a53a526258e0f9a2ceee4b9bdedbe801e0adfc8978fc664b2c34831fd8e64c63bdd538cf6a30a322475ad2d6e6054331226573d38a4d042041531240e 1667642189000000 1668246989000000 1731318989000000 1825926989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-80 \\xabecdf90da7d86290a242bc347fd94938ac58c382ed6313a8041e12f22e2a0291771a652600fe5de20f3a2b82b7a2cbeddaf10b33fb51307eea8f4ed3104867b 1 0 \\x000000010000000000800003c02b2cc238ee7c4c7ddf38d96848086903dc4bb9d9802c5beef0032fbb6347e46d4515e19e521df50248e950d7da0cb00b6e13f2131a1bfda2daf8024c0c18d8f114dbec6b9f47356bec29932c13f0f55883f9ae7199583613897533022652866dfc74011930e8cde7c1870783e4e7733015bb2615b049b5b936074ff4ae6e41010001 \\x5898f6a0c60e943eb7a8a1cfe65e3ab7f34982364061eba4f70fd8b937aacae4e8ae607f3177531f45c208d0c8578f4bc71c82c71888642f0bbf6460bede6406 1670664689000000 1671269489000000 1734341489000000 1828949489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-81 \\xac2c2c83818a5998869871fc8ddaa5b4d09d2126c6e5099b7ac2c62f8f3b4622eaded07cd509c79546cdd056b37f95a174d6daa98535f7e29e6158b46e53b626 1 0 \\x000000010000000000800003c59a85310591ff6f4e1aa804d23474372fa20cdc1410254592a1a83774a292f6e7cd249dbad80ef2be06848e5fd9555bef0aedab1bc222ab7c7366dacb59cebff20970b3fe378ff50eebfd0931d571fcb439b5bdc44b9f35b6930c4306e5537bbed839a11a370208c0a3ff049ce8fd866f280865ac454801cebdd0c3e0417995010001 \\x740bd204e9b952334ae5416350f966b0798e7ab7ae247ac740734e5f3a081d9f9da96306a828be50a98bc60c6af202334db5da26bbef38a262157351d424b308 1663410689000000 1664015489000000 1727087489000000 1821695489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-82 \\xb2fc8d6c8d755fd16cd75dcab9fb9b3ccbb65537d43a5e00c71136998d5107b05881ceab05662972a7768bb1e1d5e4799bd1d113277976742dd1c3a080224435 1 0 \\x000000010000000000800003b4e9820b4c54dc632131bffcc18c12e3e047aaa47000cb463d3a224ea9d0e0bf7f908b5e8415eab4c071139daafe2bd416cc1cecac5b104007ba5c3c51c02bb0f988951a1fb4c299f91eb39dc5e4da9e6b610a8945ecd0a63d171a799ef2615e276da2c79944f1b5fe3d410fb32ade4d61cefecd3c50e79c152f70eb59f50a65010001 \\xa9cf4fd20d8924f8b526207643260cbfcd8e46ac56b6dad50bfe3d1cdfe2f51ca697c787c09942973a27c1d20d08f1c67b53cbc6bb0849b6d466ae708bd94e0e 1677314189000000 1677918989000000 1740990989000000 1835598989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-83 \\xb27cd6ccd81ce943e024d60236f9528aa2a0d6dd3222040df8247610819ad5a5a67471c9f111d23776eb67020589f1c7ec2619691789a98cff2de8cbb7dbfeb9 1 0 \\x000000010000000000800003b804ac205d5b000965d84c15df4c8a81824279a8e73512cf43e61f79546c1aff1fc5a1ae133d61dd2ce5f25c406bdebb933b79563df60ba1c081ccd47e2d98ae85c858f99340b6341c8dff4e4f20f135b422b4847549bd3676c9129a4d01dc1f6fb84c6045360d2ae4949598f9b0df9d23500c507fe3988b6ba56be84faffb79010001 \\x1b6a2b10c73199dcab4060ede0f1d659fcbc6ae0ffd8272770e25823bf4606c11458eaea23a188329578eec0175fe1a71337e7a54f549c1e86dbcdfc72a84f02 1680336689000000 1680941489000000 1744013489000000 1838621489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-84 \\xb42890994c5903d8ebed8eb17ecf26156432b19978272ce57bed529ccf250a2c15909634bbba2825101679bbb8e69e5e2f97dc024c2643f92d73dd9e6bd52b90 1 0 \\x000000010000000000800003c0c6ede0733635e894df70883947512802d0f060e48ad694dd51f8d69fd73976b3486514a02a6b1660754c9c673a7e869e92c2d88cc04bd357b9e60774d02a96c2b87b1105d5d109d24c712173ab04cdc9033f20994c6f5cd15e61672d8355562926aba32317cf13cd4c33f528441269c37298122567fe8af0f8854a6485a4d7010001 \\x7a6695961e637d742bcf4f284351e30a43da1f6bff05a2e6dad698ca0c290906629ee9d8152aa56daf6c00c1795e5dfdb5fbbd04c2c0c76cf00bcd2190e8ff07 1683963689000000 1684568489000000 1747640489000000 1842248489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-85 \\xbc309d0ccd5c331fd339fe4dd3d328a31ff8aa201e548766a6e662c55dd21cdea3e6294f9d04b107fcb99b056bd40f2da3190016d0e90983fd3b3cc490b85241 1 0 \\x000000010000000000800003b086b24bb23d00ac76e855f8c453685d348660927e9869b2ec85717f7a790ef2711e17d70ee7d36291b9720e6c68cc36a8c0821b11ecc071210c8fb696977e492ee2c323aeb8c41d1b7cf95b0b83f3cb720e5c80f38d8b0824738b0778e243e6af844813f938533fa28455a3d43f02b9254f8f6d432b6dd157ac505de431a879010001 \\x6dc4a6353cd8080d3c68797361a2e3be4a1e5de763df8892349f2fe5e964f6034b4a0631bf05ca3597ccdd7c188e0a2d10949853843916f41b9d6dcda893e10d 1688799689000000 1689404489000000 1752476489000000 1847084489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-86 \\xbde05f9edd1f66e549e076eba6130a3c2bf541bf68195682ae006e3f862799578bfdb9dd00d7f01d90ac628097d3effe334bdff005d8ad0f3105db3bd9b3c611 1 0 \\x000000010000000000800003fc224860b508589c6bfc1cf7bd7859bed08ef5dbd5902144f5df97cb291b2c22b64f2e1a4cc016099b4cdde97c47d82afa672f8f209ba16e5293095a13c32068fae7397f134e2149375670503c22abef7b353809360f7cebdd0b0bc852177c9c1ab353b594974f639ce27e723b893d2a17d0a8e641997d02b6ecdca626c970c9010001 \\x8133a02dd7b641100824b79fe3fd69dd71656be8dd63433b9ebf10e6b645a9c7f754cdc340f0c35a36eba73888d341cb265052f3538f5fd3d5745e03804de40c 1679732189000000 1680336989000000 1743408989000000 1838016989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-87 \\xbfa84ec978e9dc6c68b3a0fc9b8d172d2559c3fa2837c276a350bd7bc11807f030ee2d4d165eaf440e3e9182cb727b81ca3690e144862441f74e522058cdfec3 1 0 \\x000000010000000000800003d80987b15a13c904944d4c2283ab82372fe6ace277ace5bffc60af2d8f2e4086711c168efa69a74d6a503c456370178723e578db4f44dabf78f815bff8d7b6a3c33b2d120ceb137cc1350464e9938cc376c149b93cf073bc7bb01fa19796e031a61a840926cc1aa97fdd123809ac6af2cc76eca87d57896e0333fa18b07b589f010001 \\xa8224402baec25b17ebfccbf1ec91d4cb3d4fc5d1313d309414677ea89c52f14a36db293549a979b89a9977522d029f0d77dbb355bbbf0085ee83275dae72c01 1691217689000000 1691822489000000 1754894489000000 1849502489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-88 \\xc1908e28faf00d6444e79979702c3e9ce1bc63cefc4c949ce8af4273dd7e219fe349ebe560113988af6a547c9d9ac72291d5b72b9bf8e5e241714174c152071e 1 0 \\x000000010000000000800003de7bf27099f7ceebad8485bbba9e0ad8385a7b78b5876c4535e0f64017b10bf873199b11d00017ea6aecd0f4466e641b37f8c92ee90da60c1105c6a93eea9b3456090c2710c8e60a75c41560bb4ac314ca902e332c92651760e3e0480d065a186af4b83250c859810906ebbb51c466caedfc2a0b6f1c6e0e58deba868c3c0785010001 \\x857f1fb44ce2bdebd5b1796f7429fddb49af14b69ed3ceea522561f60ee8f906623ed55ea4876536b1a82123aaf8af57a5a80cfb2c469a145fbd6f3b18825f0f 1683359189000000 1683963989000000 1747035989000000 1841643989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-89 \\xc89cde513ed816116819811871bfc7b188914c8757d86582b83ddd24f5e8f3cd5fc8a32833ce416f6b9dc2f84398d2955be80204323170ff93eac19a4d2e9c1d 1 0 \\x000000010000000000800003ccce393c513abc8c0467c00916dc9f94e4ff86bfcaeb66d844702a0ceaee2eab61f835d45c6d029345d51a7fc08ddf7ded59f2b0fdf95053feba1f79e9884deb487c740deb1f7671dcf170ef69916fbbe7b36ed7933f5c7ab2a542a7b1ef25859d07fb2c9d32047f8d1fe4d7f1ff3700e1ea0d88ac85fa1d43c1224718c03e05010001 \\xcab9c8c7a73c7a95c000449656fcff370986fd1dcc25624755436b7bdff8c140858a2292459fccf3f4d9e0dfaedc4271eddc5d4f0c12d980124e753bc6815806 1662201689000000 1662806489000000 1725878489000000 1820486489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-90 \\xc850429075593add8af41f78c72658df1cb0332cbf19ad01a6735c93a4e8f72d4b8b2dca327f715cbb27219cc71170f720f6263192b8e09d80f96a3e60714a97 1 0 \\x000000010000000000800003d9e25286c6e198307169eb8f362b9adbb05363993eb8cf90def0b61508f1dde8183d7bf2654ba1b9fcce4f2bf5e1850e8cc67e6c7a2743eaa416a4f664781d316ecac11b48b6eed5113d5a3ee06ffd3fe9e1e1d2e2e89067f4983bc2a4487f917d70b1a46c77eb35e4342ee3d3370dec8eebdcc25427ad06f1929f9f82e1e979010001 \\x6ad470bb7dc63512669cc76ce4af31cd8e17a3892642e71e742fb525f3b7b0795b26831b794f52e94627c9be4c85132c02b55d5d6837bb499bbdea5268290d0c 1690613189000000 1691217989000000 1754289989000000 1848897989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-91 \\xc8a805677942840957535d3e234cf5dcd2eb2e2972e577f87aef931ffd8a338335afcb56ed96e7fcd2ce040d05e9f0b4b5eecd21cc08692d888da250d4f9c57f 1 0 \\x000000010000000000800003bb6e98827f28db08fd36c40ee009180a7f9a0aeb67b9701c8d17301b9738ef31154d4eed65e66277fa77138f76fddc4bbff8e43904cf367df5d34dc8f903e62cb676447a0fc6e575ec97e06d45526c10a58f95a9daa84d4ee1fff6c4135e76f2e64bc1aca056b72300218d68808b53cf55b7cc4f6efdecf06e37c7807d9d8547010001 \\x69d03edbda13eb5df034be22114b94fc305fd08a14648e8e02958ef8782ef721336b2ec1877bd0cc2e6559589c47fedb2997c1be69ced81465b637a80319ba06 1668851189000000 1669455989000000 1732527989000000 1827135989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-92 \\xcae0dd09e91712c61a60a70ae217b61c202c59f19800159430310e75155769dd0f743f2563346b00085896a2a36b6837849383899bf2725c1fa1c50762f6d0ef 1 0 \\x000000010000000000800003df35b4cbbcc9a5a61c3b9b94d345962568df5a21a702e0342d70ee6946d9aa0070c232035ecfb759c69d3260554b7e6cf53ace99edd5294955844f67d9215bf469eade9bb16d799a85681c6d5f9887270ffd9d8f1195fa8cb06a35224ff2b51b2c360a723c005b01dd38169fb45663d095de9db20424b9a98311577a4a2fcdbf010001 \\x0e9f1e19eec415d3c1d3729d6d1329b9102832fa524e6a34585d7bcfb214605d708363ecba325eda5d7e0a715071d5fce81079802215ac52f737f0f538e45007 1686381689000000 1686986489000000 1750058489000000 1844666489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-93 \\xcc2074d39098f74874d272d0f864ac8dd8371335c10e2fa3e39367651487ca025fdbaba261088bfea7ec8681c7ccb409e3eb401cb9c56c635365edcc5ae01243 1 0 \\x000000010000000000800003e1b6ea85b368d4c31e4146b0548f582a029c52882b0baf556038dfefff626c83a9f70d3cf23920663a6708ab935e68b4217edc7db08cf32faa1e7cb46f7863f18a962469b026a493fefd2ca7fd3eb003ae5f4a651166791f5fc2b263c9cd27d371736e7166215c08eab6d97ae3d35cfa5d0d0967076a343eb08c88d352ce7651010001 \\x7fcb952e28c2c99774f5f3a02ed54f73eac24a3b91ac359bd387f4b2b91996385a9d516affe7ec77e1577ec9ac31a3ac6f5c8db33938ab06a0f079a71797a304 1676105189000000 1676709989000000 1739781989000000 1834389989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-94 \\xcf4827b8217a2145df081025030c7d49811473b72758a5e70da522752710f87c86bda3b9968b8c27da83b3a590c3241b06c124821e70f5213366830aea8ecd5f 1 0 \\x000000010000000000800003d9dac9094e0aa9f4be2f3d2f3ec70bfb618d4ce55ed31658805a50c2191afacaf3c3946ef6440d4687301f024ed3a763e8b7730d3a19fcc911896ca31215f06d2f5c6ea5bb402b31f5899eee65b3a30143f70782ae657a8cb6f05701fec98904bc502732d723627a7c85a6ec3ebd32483929fef820fec00780353ac7e8f51d5f010001 \\x19537b2015be03623bd5e6fe480ec0d0d28870bbf765c26343413ab05b92f3b5adb25ce005724ca92e4f309d98d669966da13dbe32998480a83bbb7db666fd02 1664015189000000 1664619989000000 1727691989000000 1822299989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-95 \\xd180d58695545b72a5bf7ed0ead7488a849dd9ad29b3b966ae667ad49486ccc1c1bf840c36ecb8cd4bff5fc9280182f84cabeeb23bd7bcc51305dd1e30085ec0 1 0 \\x000000010000000000800003ba038f2f069e12905bbfc9d1b30cfada67b4d5c445f480244445b65783a27a53c6d38d9f91e3e5bf0a33fe3927860813a157dfac35840ed1228ce0801478f9890d999caf3acc05df4c69d03de130fa6643946bb69b9a72d0e243f17ff269f896e05b93f52cf2b4775279e22cc7172e79f0a163c62c62c7a9e4d23d9d67d08bdd010001 \\xeb021eb6ff734871456666ba207b572e81e2efb7e71b21be44f1d94ae19b278fbf1011e720b81db9082da58e8b8e530b4688c5aa3854c8fb5531e8f4630e5503 1666433189000000 1667037989000000 1730109989000000 1824717989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-96 \\xd3cc2c55b834fe6be9f4739acdb1b85f027aeda0db00ce70786103882db017cc43c601fab33acae32b432efdc2c489eb21d912d183ff7147518d8b3189efb46c 1 0 \\x000000010000000000800003abd56fe08a4280f03803839ec419adf34d6c79be24e75fbad8ecca85641882bb3216642152398efb055bca7e9294b1351d8e53372d8ae555d2a2a4c9631430828ab4b69e5d8b147cc1b9848a7c0af30fbeacf52e8f5ce9634c509d96c04565f8238e01fbb45ff42778372a73ae4a8f2c7b8a27b9063bbdd4c6abf04d46fc5955010001 \\x91ad10685ac0e917eec67b97811c1e0d52e99748ee53a04a0383e914fde2709149cd3930ffecea16d1d593634124862f0db676956a7113241577d2c283baa40e 1670060189000000 1670664989000000 1733736989000000 1828344989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-97 \\xd69cc96febfde78dbf4b4b733e9e891171a3dcf99db99c5d2887ebe12ea47f7e7817f04a8003ddbe17180f531ee2b2f35b69b5039860da534ba73aa0773140bb 1 0 \\x000000010000000000800003af9d4de429b69446c7945fc4e74b4aa72c7d358ab561a3dd01efaffd5c5d4e7230727bd0634d277cd00c49dd2ba5bfd2a55b0a8de14ca8e4f5b783156e15900b681cd04a12d395f1d0e943dd54f0088435206dbc0d5943d9ec8f4189431b514dadb68f154f29eb955d7db1ce8afdcf94d9862af56a3e430e5413c0a33dc611d1010001 \\x91de78b09286b3b5b60fe679704a0689af705da9fdf80f1b8fbdc3e91b49deea00b520d2ddac229cbeb98277f2c02b896f966a58a85e63860ba13544e6ff1f04 1668851189000000 1669455989000000 1732527989000000 1827135989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-98 \\xd7fca40b28d926ad0f019bd8904a602757c384ff1d9d7c52edcb70909b4b44c98146b510a26ab4ea63a53a7232eafa7aa1f2f4977e83cea3eaf61721fecc35e4 1 0 \\x000000010000000000800003929983ba38e6f35436ad07b9a867bc6d58f87b7a18ca6f92e6e1c00d11befc2c98c19d0579040e43d58d76e8036d006cd1590ee295e898a54d86bfd8d4e78f6bfd61a47bb2e7908b0858b4e7ca3da594d7e483bb3de0268011c3e7b0687f7136b200a6dc828ee8c64141a43c1a2e2b4d618d054a9577748fdc6986d03023022d010001 \\xb4195a3662169405d01db9545a359753a5af9d71d566cf0c6caf4bc4d47e827a024290592734d54114520bdb42f34a975ad159d33388844a78940408b3703007 1686986189000000 1687590989000000 1750662989000000 1845270989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-99 \\xd7e4e0f40664770788edd2abeb02b6f841ed934fb822edc31a9a708faab01c7f08808ff62661fbc6be0bd610ae0565c91ea310bd0dc3112128a057f61ebdfc78 1 0 \\x000000010000000000800003d3b54a62e5c6dae1c64aebed8ccbf2ae18d8ce4b52f69c57b9b70392f7e2192949c55ecf602dccc634447e85a415323d3f452678e80bc74265ee0ac3dafdf9bc1beeb4134a2abcc4d560b5ea63b552bae3afdc987a334b20533aaa0241ff422e0fe29c4daeae6c24139a422198165c9bc388a8cdb37b8f63553c94d668461f0f010001 \\x0a412076024a0b6e8f7d6f9eacbb41edec35f26ab73c4908c3f8e8b305b02c61311fbdcbea7cf948ee97321ef8c89cf43c79ac2020e45d2f314ded3dcd91c604 1677314189000000 1677918989000000 1740990989000000 1835598989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-100 \\xdbf009a7df184beca29d0a04bc63491c8089b79f303bad8c5ae8f010545bd6017e3cd7607747ce1396e44b240f33cd4970d80a728eaf3bc4db8c9d754aaf4211 1 0 \\x000000010000000000800003bc5d38b60d0bb16f8e7364986ed81e3e7425dad2e301ba8da80d5e3045980c796037289bb66a43a66ee755a15008f486db77105a31f84195e912f498092e413e9f88de47be9ce5a5766251fce21b1bde7f7af1bd14a52919b622320d687247b73439857664847c777fb03c875666af7634e3034a48cf1aeb9ae0a7fd9d156a4f010001 \\x94258335da2895d95596ab522571efab7344cbf4a99c39d045c24e3654fe7fd2f19270f061375e02e918571054d4f8ee5cfcc262993faaee89b1cb172ae8b007 1663410689000000 1664015489000000 1727087489000000 1821695489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-101 \\xdd30d56ac65876fda4da36c8e87871295d5773db5d3729800c21f2039e2fbd8d652fa30b3ef486dc456479f55de124aeebdcc62bd14939ae5aa8ba87e68e84bc 1 0 \\x0000000100000000008000039bf9aa8f01fe214c8d18af6b055ae07d46bc7e2ceb6b4c35b6676122caf4c4eb7af6cc6f766179e5de2f54a124dc036247b4aaa3b9b7f542e9ba0813525e09421138035fce19a56bd7fe7327c997a6cd37921997ed7a63d2d930fdf5481006855368f5f1d7183a40df72a5e0cba0373f6c0cb5048dfda84eab83101f32d6c891010001 \\xe34a5eab478fc4e578e0515bc1e4b08a7adedd1b43f2dd08b779ba3fcf32bee9b3b406ea9741c9b5f6666ce3e27b7a7a7a01159aed7c69f8b9296ef4c1242c01 1665224189000000 1665828989000000 1728900989000000 1823508989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-102 \\xe23410c521195351afb953bd3184463931705c37b86d41cfa5f6b2c6daa9afe5fb163f1b89efe37e8a2bbbd62bd02adf70f6e5646fecc60fe2f2abbdff8e68f0 1 0 \\x000000010000000000800003a8e29e711324d6bd0f1076b3b925163ce23d0a0216d772d9ad68b8c078f78efe74d77d354ddbad29468411f7a7b18ec8b2609252b39a26726eb2b77bc1a6c8aa1af8b2979321b0479046b85f7688a759c9f1a1ac3ab24921b3d2a84c2a3b697dc11e53a65f0f43ec601553bca6962616b67a78753dc7d924706790f9a148c8c7010001 \\xd9818e6c7e963ab87ce84f695465e32815f296472a9590dbfb5e3f8823af07fe8a286a247ba9562534f7a426c5f9d2d72cb455bc290e070f9e5c46954dc5d806 1691822189000000 1692426989000000 1755498989000000 1850106989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-103 \\xe4dc52c9b4500da54daa5aab7e8b0d511ab394b314d60f502a61bd5d293bfe041f0d511fe2473be51c95656ca6f9031fd0d018d0e683a0c101e8b2cc7b8d3fdd 1 0 \\x000000010000000000800003c842dca590ff1b3c4b8c333218264470c1f9993f729992fcff2a3834ce0e59cc65adfa0bed4032af55f1ea0e2a3c534197df7844cf4e3e816de388da20cd3f1d85ec8b086263b3ccd7559c507cfee44d75942cea45af4e9b42bb9fc98be5c3eb3d19f0fa21a1ca01777433c06e1ca14a2f7233f5cd9406645f4ac979333676c1010001 \\xb65ce84ba0dbe52f88396d25c91998825c84cbf44e4cce3351bafb48a6ffd0cd7c17da50f0495849c9443dedcf4a4f73390804a242480ba7565e8256d1b25604 1664015189000000 1664619989000000 1727691989000000 1822299989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-104 \\xe6d80aba17f747fd0b0381119673072a6f65a143a67b06fc5614b242f7a55cb5f3306e41c1d8251c649b4ff11f87cc067d83feb212b196c18167e6c0a3c2bc19 1 0 \\x000000010000000000800003d95b81b4eb63b651a48f3835aea3dca26aa739866492a2b58550bd3ca86f4b3901249ee46a8471cc5446499a12467cd7cf8722a940c72433ec33df03f96cc28af61f107d7401416bf32dfbfa3395fac9920ba9937aa9536c209ccbd9301eed33ae8d5e08fb6f150b5189c59f8cd6b8fd1c8ae6cfbfc075a621c28d098555226d010001 \\xe14afaf7756707c1e1082260fbb15222c5132c997367766d10ccb0f607373a7de375dae128840fc944795a686a5536028420d286abb974a10ee5118360428804 1686381689000000 1686986489000000 1750058489000000 1844666489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-105 \\xf0400a483c3999e0fcf8d7234626e927d586315dc14e5675d03610ba1a538fdf0cf71f28fdf4ff97370fddf0e4afbfc4485295a0f2dc47fa5d11c8be91f57b9b 1 0 \\x000000010000000000800003c98647a61ee168fc987aa9a2528937c6387cdfb649a3422c2f93fe9e6601502c09ae16f192308cfbca0623232308b89927b4036a868366d5b38b930c50a169b978755ce74de8a75587e9dfefee8a52c7db52844abe0c2cbe44b77738bc0353e44569a13cbcfd81bff4da916271ad9a94604b6f4055276f5a932e74831bf7c0cd010001 \\x1dcea8e82480c07014d69e635639c298d88c62dd93bb39362a20b5f98a3b09ca878e8592a424ab817bba887f742ec94815fe29e8ef139803257e52919473b20c 1668851189000000 1669455989000000 1732527989000000 1827135989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-106 \\xf13406c24576202f574892f5b80203da66f6da440edec32dc1c2bd03a47b9f639666f2b834563606300d4a2b5da098573b96fe78dcb43590a1eb17d5ddb09673 1 0 \\x000000010000000000800003be852352f1b6b5afe8b5ba1c425120aeceb5018d10227a0f9d3ba60a438de90a48c670ef8015041bec81f47be5b7a198327882067b7b623fd3533b67816e4702efe1e4a593ac675f841f24739cf348a225043f3523befcd8e15ecaf30b0bd5879809da7abd876bb96ae4126d3cba03bdb2d94e4bfa2ce26858ce7ff031860c35010001 \\xd496a2d5f010a87ba176831607a6ddc0336696d4dbb6157469a758681fea492f6fa5fcb4e13420312fa84a58813d4bb1043974502a98e51891a19a19e06bf50e 1661597189000000 1662201989000000 1725273989000000 1819881989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-107 \\xf2b019497872a5515373bf2d80212d82a9d461b37a0160fd67e4812a8332bbd0bffe379dbeeab765f522c266fb3fb139703ab236b8c0c5c13dc86ad5946209a6 1 0 \\x000000010000000000800003e4de469f72603e561ee3e544ff3bbde30de545d76bdac5d7bb085791e5ba17d7d5de4651718303fd100a3ddbd1c4d6ac752fd56a275574e35619ab676759591da7a94bcd0fb05d787bfd777d0fc84b5fcadae11019e647b9d7e6ce5d3a845d3da6386588c130a13bad0978c396e0e61eac0b85d49a349791581071beef8558c1010001 \\x1715ceb534fde8dc490ea69b5fac91fc123f76cfbd48ffd832e16a9daf0a7a6d6a249f271f72c7863cf03e2f37eb834a5b33d6b0588a2871bd2e045663add60f 1682754689000000 1683359489000000 1746431489000000 1841039489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-108 \\xf394565db87497e9597d3ad5e3579ef9208050602fd4d4311dcad039a046179a79a46feae4c0bb708c668cc547cbcb71ec56e23af8b235099c700b857e49ce36 1 0 \\x000000010000000000800003b97877566f85bd8e9464b3382c2358a6e7d545b9161b3e403de254ae09cc65219b464450d46e68d8246e61b4addeae0997e3e42f77bcf60da9e88c1bed872f63fbf41ce8d8a67e8f5a11e1fc945ac0852cc4afe57e66e191cea548ec8c600eb5a49f6d76f77d8a3758d7c46449b2d8055e079de0e5860b6fef4287890cbc755d010001 \\xda9cf8775e87cb03d36ed1a47aa017d4274ad4cbfbf5416c694a88cdb0b09841bf3f7d386ab46e421725fc063576c48cbd29e1e4c9e000a76c8af302b791c00a 1671269189000000 1671873989000000 1734945989000000 1829553989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-109 \\xf30441badfa62adbf9b6fb9b6be8b0f8973c66a5da69d03e79e7365dce1bfab6a1691795f413054c4caaf1e94530698d6fd967a418f476b5a700d32c7869c739 1 0 \\x000000010000000000800003cdc6ee35fee256e993e0710d16e439b2d391addcc16e6422fd89506e824ffa9aeb501ac5d10d8969d50a029e4f00358bf2879d22c89bb722fc37701d2e00221839abaad4cb5d802d7be58673fb4c3e3aeebbfcfd2d0358a6c9436baf6e03e980cb8ed4e27c2d46d44a1133500aa3a473d33f20a5717293676fcf276e2e8fff95010001 \\x648c0c27b88241d905673370e6cb0ca0a7fd0b479f5ee9980a8309265a57a9b159c2e230fa638b0fab4d9bebab78905213ef813d1bbe77a16106561467acb400 1684568189000000 1685172989000000 1748244989000000 1842852989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-110 \\xf6bcfae0a83c4a5218efab2f5d336e059dfe61913b6e86b943e8a73ad226b52495d2460e78b88604fe8e0d45a2b139d32e328c43f6981a98f0ddcce2968d1141 1 0 \\x000000010000000000800003d44d0d705787e6336017db126c3a989a1ebd6285f1646091beb729a1dd53a7886e0caaae94379aa1585be81bd731846c6e45710c1157e2e9b4827ac5bb7373b6ed4d98b27496289dd5f7c6fa3a936891bc35c002b4bcf9d25e488bc656f2d4880d8fe602153206b6b4f95b7098ed4f0a5427ce94e3dcfbf16cfa0e59a0b04f75010001 \\x53ab23086734d9b8f34626c3225c207fb6bde59b35b46d07a246bd03dda390a0c0b0c539316372bcffe912b917a9be69878f40123eec6da7ad03a76db7dab102 1683359189000000 1683963989000000 1747035989000000 1841643989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-111 \\xf6e0719bd00aa73134ece15edc5fe08c48eed08015b83b925df1e7a2bd0dca6196a6dc6eceddbfd35935c279e2edbf22d221bce6bb6a3eef24acdbd890c0019a 1 0 \\x000000010000000000800003aac3c04e56ba65fecef72865d30f9d161e64e60121d8c8db1fc54af1c4998d4b865977cee30b4817dabd18edf82921afc402af3667d4fa1b5d00c08bc9f506f6f043c7598865ce071fe2bd4d7dc95a77214f1e662235876d7a037fdaa0b5961e9d3d1b6aeeef5101be5ea6ee82907275f6447b90fb3728780fdfe7f294e0cd89010001 \\x4ce06633d53a528cfac5c05de1e50da4af721f43043197bb6d3d4d86cca88f7250c129a5058d02e529a471a9c6bf6f49270980befc5fbf1ede312819d424e401 1687590689000000 1688195489000000 1751267489000000 1845875489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-112 \\xf60cc6a383723ce5499681e102451c4a9bbf79455e4cc3b1e5e4d6ee44b260f1005a9bddbe2ed4d5eb06aacd1746044d0c92699f629726dc4b45fc8a4d8a0806 1 0 \\x000000010000000000800003adddb9bd5b1fc8fdfb5f97a14ecea14ea4bc17e7b733d43f27b4cd7f133a5dec697fd799f4d74de526e3f0b6e7cbb49075d1a32a4df733f9023599da6f8d5d2205060ec7daa17588e27107d2bf2c39cfaa32f01346d0509559b63a431b98bbe84f002543767045463ae56bf46e2cfd3babd232c222dbc0676ad454cb7a25480b010001 \\x5e6c25857940d0be5dfa5a87f6a5d3afc0eafb7136a7dc184758bf8229e7ae8fbe90952fdefabae5bf10a557a5ae2cbb6e28783b0891106b548ca9ecf6c9f10b 1680941189000000 1681545989000000 1744617989000000 1839225989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-113 \\xf864f1fe26e27409f0b4848f5014e4ec8333ee02395f73c02175d04e1d4373e8c437600f0790656a7d6290dfe87eff1818f27121db0e944fd160af211c43cd03 1 0 \\x000000010000000000800003b864147b7fa773794de0ba60d6933fb74b39f506950e25a9f217d3f3ff4b9cf70491d1f0aeedd96af6c67fe5288b9a2e242fc50f7be5137be106d08b8fe65026632b78b5d9eb5a8db45b25480259b39961ad62f813177346c7fb71e0d58531b4033dce0532c9471c19baecd2ca9e9f600093eff10daf4f7829603b17d66441cd010001 \\x5b68889eabbaf7261d1cb0d063bfc1c4e8175f4290f8bf45444c42367ce5a7c5ca8cc04dc29e493f89f3c1353c2f5a2a84c9a82b6408fdffcd2611a20d073604 1686381689000000 1686986489000000 1750058489000000 1844666489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-114 \\xfed0947d0bb1f52348ce3b9eb3042d61dd6d07c9f8ed6c30e4ab65cded9417db318a929c856e73f9994fcf5a0a9cb5cf69f0496ca144a40a17d4329920f01647 1 0 \\x000000010000000000800003bcb7a6fc4127718ae8d99ba8e99c3c358472e3dadb2b93551e0db272236ee9137d9332fc4a59713f591e9359d6bbfe0e6cb8c7ce40794d346464a5662897616795e830d774434fa177be2e02a59830067b73f271203fa8214aaf713fd5417b480f544901271d42ae898409fe84b47eebc6e8c53ffce57edc212bce3f98b7c5d1010001 \\x9cf6bdfa461701307dc664c44e137bd9ec730d720e16c55d25b1822d0e42e951116c834eb4d11e62d469a0c856c8e867d533610e82e9bfe0b2286745b4590503 1691822189000000 1692426989000000 1755498989000000 1850106989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-115 \\x052164bd5557f9963b473480d4e504cfe084a4bb5455fa243907478190c96678b690b208a56b366f57e69ae57a95a511ad0c8be32d293a7bffa59625be970a55 1 0 \\x000000010000000000800003c7bef5a56d6ff90f11069d716d0026a8e869c8148cdbe168d762d0ba0279ed72a99ca78e89cfe88e2948f3c92e870fd0fc4d419172d02f77a5ade9c887b1d8f9107b88161dd9c4852b3f8434d3a356372e4f8d0bcc78cb30385319212e561361ca5f0eb4d2e88bd3a811b3c7c125457e8a3513a4e0164dcb82fe1a205d6069bf010001 \\xdffc9c72cdb72a453b65479d164d5a86c36edf16842191bc83aa3c698f9090226cd4a2031b8b41aaecba042ff6e3f0786ed176f3215311fa2e11b7099aaff809 1662806189000000 1663410989000000 1726482989000000 1821090989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-116 \\x0639bacc1b6cbc006706a775978035f808bb8147750bcf9b4f988d185454e1c953fe0a3b308ce1f3c361a0e2f4ec8438efe159b9fdd1ae5e565aeb570e44a79c 1 0 \\x000000010000000000800003af18e5f61049a0501f2f45df70611e44a5e33ac3c707c0c2c8b66c22e34cd62b0c06b16474361580c113c5683ac42783663bd2aecc62944a17ec85d04fccc90cbe58117059eadf13c7ea665a7988737e0b4ce34bfc15f41de4bde209881d47b4322196d74c32fc9692f89afb2142b74761919c0f770e36507418a374c1455f19010001 \\x992ca0cfb2d571d55564da5b42b9a0108663a284fe84ea16f81b9127ad46142924cdae38508dda6a11a926d1a1d7f5bba475e6c9a08419236d3023ce22abd30a 1660992689000000 1661597489000000 1724669489000000 1819277489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-117 \\x09f1230da39201379161d9fe6989e13595b1685991a335c56b75e8fce62e7f645518dabee478f5ac8baa800802bfdda540f5f5d7015d2fe600647ac989426778 1 0 \\x000000010000000000800003a7fa0e09708453199144739aed14cf91239e1389e8965819c8019c01f18f9d39a4d30a4498e8927de609997d8b03b940d7cc83196c564d3844e37199a6933a5f86f1d71ba5dab96db64dd2e757d32a45a271dbe17222c68ee2a044f4b8254b99f08d34b89d1d519e9c8b9d4fa67d37278b4322a2e5de3e6accd2aa2e4111f453010001 \\x28a637658da36d8aae33bcac56d3e081465fbd8a133661eb868aa80c5af4137fa540efa7ca661884c75eb36e9a1f46a29676d0eb374962b0ec70e5845bb1900d 1667037689000000 1667642489000000 1730714489000000 1825322489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-118 \\x0fa19d939a8c906fe48010055d13137b952eacd82eb92f201828b50a2c283a6589a0e124af61bfa0bf90b9a8cca08a9e6409a460898e407cf699ccaef1e828f6 1 0 \\x000000010000000000800003abd8d73b065b0c9ff76b029b33e3fb657ed08f3414620ba40d702c7d34b155fc93fd0b5a2eccb33950e987ac5f00f9cfc4c0f9f95dcfab62b69d56a46fb5e01b92bc8206a9e66f1fac42e02b1d258d3766657253c29f153134f5612b517c9bc07b8dda659d464c8e72dcb66bbdfc028125f727a0343b530512587e35e6c55cdf010001 \\xd2bd22ac9504463899137719f69bf1551124b9886cb66948ca1e66b353d08a102dbe2431732d2620c604adee65100af22709defb4f9e021cc8fff11a424f9806 1684568189000000 1685172989000000 1748244989000000 1842852989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-119 \\x0f29343af9d00a0707a9608d08f607ecfa87453bf8e4aa7c6aa181b2e93c58525f50440d595253810c313a04b28468632dd5925830f564cd3fd4f0edd83313d0 1 0 \\x000000010000000000800003dd97d4b625560843c58a9d8de774e2d2df837a5b5861913516f8cd8afae3d7ee1f51176b0e7956dbaf3e7f4d31c9c40d9df6d9efe657d0ac8a2fe0a433530eaad475cf45184a80f1d485082e5fe72956b91e0defbf3151e66dec17676cd952059728bfb364923346b213e6ddcb50a236fa1440c9c90cc6a957242aadc521f62b010001 \\x42a60d15b62519a9ec803103ec54fbefa76ddc4449c2a3986e4a488ea0e7b73e41b5213fd2c09255ab28e867dc439eec7b61de7f7780f5ce45134f1e214c2c0d 1664619689000000 1665224489000000 1728296489000000 1822904489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-120 \\x10b51da7ce4c0915ce349c2e5cd673ccf87616b5333bba1cb5776cd3923eaba6042a71106fe1ca197dbb1a58ce099ef9c6245b969f9ac98e60e39f97f6a9f078 1 0 \\x000000010000000000800003c588c8bdde6ea3a6d04dd8a47827d258bd9eb6092651654055d28584fd5a68d7f926cc040982fd352bf0091dcf57f84b2318088005ab9cbf7e0c36b935550ca53d7aab37d86eeab0065520f394c91e8d713b551894897376cd37d702113a276c6591d0450eccebcc45dc70ac377c944202a6e6922e6401e84b3684e2ea7b4a69010001 \\x02c674863bab17ef15664310229c27de69e9086071ce0bd3c9a885a4311512e6bf5c4ef2f4fa31248cbd470699b69f24c62bcd4fe7e6c8c47090865e02744704 1685172689000000 1685777489000000 1748849489000000 1843457489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-121 \\x18cdef39b38685936f6e6ed14717a2401856d9c8b84eaff60d524182f9730dca25ea12520517d4dfa5828ba34295ae087377080ba36c6e229ce10666a8063925 1 0 \\x000000010000000000800003c4f724502ff7f2bf1c3f43a0e9b05f1901f95758c97ce37d8c2a6cb4b8e354a87b42f600f58b3540645f9a5850be741149b6c84fa5f0b9a54a6f8aa17796e2e75b331b9a5f3b2da03035fc1314a65e3eab42918e2f4887b7e55c1b15f0782e27946682dd097313a49b381d708230fa0e23f949d950d2ea899a62bf0e3d76917f010001 \\xef6e1a89c109510b7c3c4d1f5c7f1f8a825b8f6ad48fcf21b7b085257d2dcee1fd9ff715a45dddd9aa588eeef772079f1bc526e42f4b0903620fe99f033ef005 1692426689000000 1693031489000000 1756103489000000 1850711489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-122 \\x1c91b968f82aa96a681d93ee3ae304a28e034c243aa32e6d810ef13c705f0f6509d6cef42f4b5c731ddc61852829c1aa48fe29cc245d7c68fa218f94d09ac8ee 1 0 \\x000000010000000000800003a255d90aaa7bfe237556aefa47bdf34917589558ff5848ce7c25c253bf9e3de002fdf87e45d9e031291e29fbc693a63cd294a4896e770377fb8bef32c5a8b1c0c659cdd0c73e8188ebfc50154bf530e188ff3387875472a6ccad4f941196bf2db95ed5d35d58904715806ac9b60726ec80066363a5e22acdeb2172c6cbae036d010001 \\x8c0a035bfbce7e0e19f28b9208783f9428e78d2564d1a5aac82225417cd28e4223dc273fac19ec1d4a21c292c1a118eb1877a7c1412f7aa5f21d23ce1ea0a704 1661597189000000 1662201989000000 1725273989000000 1819881989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-123 \\x1c7dffeccbcb13a3cba307c608cd25590c0ab9d0a632119c2ee6b0497232b637fc904bb2ea8e988484e82a4b12763b8d11f6bf648bb202ef59675121b0167039 1 0 \\x000000010000000000800003dc5f8b81d9af395682f5b1b696ad239dcc52380998488cfb21dcd36bb6f0135d8af45d96a5a6a0a0317940b577f070b2355077ba1423d093095bddf4a4e085b3a9db3c18d04806c3d44e9e181a2c2ab9636e3509edfc273b2f646031ce67d9fdc0a05f7f70f15d67665b5b1eb4831bc3f3f0e5bc2c965ec2bec1269ebf912e0d010001 \\xcfcfda2c17b5c6c0d5db6ca487996911c89039f6e2bc4a140b4f90d0ca19fbb06583af3c057bce01b9c1fcdf0d1bd953e5e5b0552dd5d51c1092cdfacf0e1d0b 1675500689000000 1676105489000000 1739177489000000 1833785489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-124 \\x2139e1155912d17887593e6ab9e542c5b5a068d47badace0084e7c5ffd33f86fa6498dc4d215671229886675f8783a5eb188577da963ec2b3bcaf00128b9510c 1 0 \\x000000010000000000800003c69daeb46e731862773091dd670a8febf00ade7faac8fc1022bee1ecaaba1df7907c122181e843b51eff0831abbfd225bf0ab7fc26704d2308191e0b2bdc5343de0605ddf5e87f1ab78317bc9853aab568b7800701ac5e0bacc80d65cca795bf69829b87eb27ede685f42a985b30a7ec9dbe1cacda985fd7a7dd293dfe197e0b010001 \\x83110f17a6459459c91ced73bfb75cd24511dbd241dfc77bd596f8279c260665aaa3d31723f57c3fd38c72d901a1555a697b39d48c303e3e8adf70a4c44e950c 1682150189000000 1682754989000000 1745826989000000 1840434989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-125 \\x226da1bc60eca881c3992bdb749e17c50dc5b63e5ef0d4714dcf947ef52f217f8c9fd213af48d40a852eddf09f0cf3fc2be361cfec21a50f355bfa49a5827a67 1 0 \\x000000010000000000800003bb54afb116d64af229ebc7f48430de80b192c2a7d73ba8d44c3e260a68e118e44e9a681a332031dd43d159a66f6dacca6deb94393187bc15edbbd9beef9341aad5f460a52d3181f5c437e745aedd11923f0156bf0ab85a073512f7af05c0c5df7134fd4feac9cce9d8f7b3f3c404630271dae3f8c50578ad834743294bb81ac9010001 \\x6a26aa773a476cc832190093662bf14be7b53a922e00b1a43d933b15d3afc9efb4f5de1af6e7b4d65a4ce79da1ea923a877e67991cfabd068fea5b410545a508 1685172689000000 1685777489000000 1748849489000000 1843457489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-126 \\x26b19a0d7f183e58e027463269c9e656129bab3a490c94ee47e49b7e3b5d92b17c74c09685f8bb90d3e0f8ea6367f2e931578af36a878759dd8437ba29cd0e1e 1 0 \\x000000010000000000800003d5a5a862ae1df4afde7d52c7ffa118f1f3c2024363c65eada949e14024e246db90b5051c620215b511728fee6a403663de6f088ed124b7d25149c9dd8bb091d414d3c12e4ff2db89c145abc54a9f0480b0baef9be43c158ee30bd2c6e23c5f89d2bde4d502215df4c825588c42e5992670afd0950a9c238328e99e473733bb1f010001 \\x7a04257b38ca8bc9a3c737efae367f1f7bb02cde11143370d9c45e8e5f0891e70211bbe09efaafd8a4d7a928a5d87a1605e453585bb9699457e11bedfcfde20a 1688195189000000 1688799989000000 1751871989000000 1846479989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-127 \\x28a5813d003aa943ba1b012e82e0a57d69ca3313a1e9af81c830f5dd5db49a3d28f1b2380b36e3dec5069456e1d61f109602d86118426036fc87201ccb0dbc79 1 0 \\x000000010000000000800003e64be5b9bcd3eb5ed58a07d90ead0835d322fe3d9a03a0b4b617a106a5f08eeef3ee2d7bc94605dc85ee001388d5a9372226c2ce557cb98b0b18743030c486c7994c9278f93cd7da93df9fd611b1bd90be9d4385bb51c7101a1a4fa803f9c9f3edfd9fe22938aa314da2e012ac34cafae610bbe11bb893c8b281475aa6efecdb010001 \\x015777f9258b8fa6baeb2885045e0adafd844acc603db3b967876f26be7e2f8024b9d4f5894c3e9eadc36d6bbb1a3a032638dec966f688fc82bf2ee559965b0e 1674291689000000 1674896489000000 1737968489000000 1832576489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-128 \\x2ae91874691614e0e9dd48e3c0abb0f2f748d4a6fd1c7da98ea8a4e11c4c82d24cfcf7129a4b0e2e8e12d191fe5d00567f8a8be8b246ec0cfdd8acfd0d5b48f3 1 0 \\x000000010000000000800003e2494aea173974af38d7915871321fb1dfd6a5873ca9b5cac6da2a16ff92d7a437ba2a4ddf65ecb9a3a84b0035b89fd5bb382dfceb84fcadb7f2a628d9f00b53080d0e89c8999f1d0afa2296b13f91cda34bef30422c68b2e644829625e965dca39f4a063fd6d44f4a68cea0f26d208f4bcaa1a914e2e644593289e393cfa8c7010001 \\xa5dff949890084e4e2a1f0a05f6fd0a9b8347a73a2bb60b21d1284a7610e5402cc29bf63aecaf4f5735b71912392eba31aabee2ad47a4e2d78635b9edc1bc50e 1680336689000000 1680941489000000 1744013489000000 1838621489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-129 \\x2ce95ea2a0a3eb7e5daf9f913226d20a90b90a5f45e95f2cd6d9b7d37e89e34faa6a1550320b5a9e05d513f38e4cdfdc46ede3645ca03ece82c850bc40cd9d37 1 0 \\x000000010000000000800003ee6633f60c4d9d5105271ba647f7df5b2b865d181960354b7a7299405ed6339840a13a16f2050eb83d19cac4b6840f6a7f9dc64c99e7bb90ccb8d28cae58734260df5b6fcaf1c2b65f44bda0f91ab074f08abec259487daf97a1ee52b142c66daeb63c47f2d648b058a05a9d66c13602fe553bd7cdc6954b73b011ff10ca2caf010001 \\xf5e72e87a64c22b760336739c77bde8f2f2db3d68114598717d53ac4c71b820da863b49dcc99bb42cc88be949e58d0588e279707faaa7e452e164b4865ed640b 1679127689000000 1679732489000000 1742804489000000 1837412489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-130 \\x2d9183ecd5fc69a7032c6b7da037b9f22cd6558c62b3698cf357a13ff74bdb4dac5b81c04a5ac1d8ff5ff2afdc7d97f73022d9686c3386b13bedf8caeeb24b8a 1 0 \\x000000010000000000800003e1c13a2d6315e079a3c27d839c9d1bd1b2d98e1dd601543db5a06da5153cabef386d441126400001744fb036d873e4917269e5b4c227c1081680186039f11d659fef81294974b461ccfe2c95c607acd0afa5941d7e9d563613750a5c8cb6b55d63932e2f4a07c9762f3238dce66c14164c60a362543a1eb1d7501afc9ccac501010001 \\x863e61e561283a466cb20ae27afffa1d88e3ea9b200c8f2d90ae51f249f38e7cbf045032d645f2ddb6ac0df1cd0ab31b47ac3bc1f915d43a612e007981ee3501 1685172689000000 1685777489000000 1748849489000000 1843457489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-131 \\x2dcd967e272a2dc752c253305c50f46b8379437118b9cd3656e12014c781d4eb96fd1201ff873aea5a049afb0d7ef447d65fb623a6a9f11959d4fd1cd094c532 1 0 \\x000000010000000000800003ab2df457d542d3cd3303c48dd24a95a3f8c619863d0cbee0028bb72f11557de93bd6b4aa3bc4ba99bb89d1068b587b4669db2292c1834c98a9b630209feb9690e67a2faa63fadfe71d2a13f392bb01c9e715718736f76ee426a5d6a656a52313cb4dea494567da2d4f0c6134e1bbbe24504ae80116495c6594d9ebf5cd62044f010001 \\xffb682914e26eafdc941fc40dccca3597f86e1b1e14106b376904fb6ccd108fd2dfed724f80b9087dc3ac322f29d0e0003dc38b894ab01977387510f2a18e80f 1669455689000000 1670060489000000 1733132489000000 1827740489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-132 \\x2e911982ff4fe51d609cbb2d0b8e974f60d150d10e0ee09253e9eb5dbe1cc12744db797d9c7436d1ad29e93a4a150fdac23a7179f2f3d1f73e3634795829a97c 1 0 \\x000000010000000000800003a7fa5f177f0e0cc36e7dd878fb00d7bc04615b20bd44c3912f95da0c48bef5192b06de8d71e70eb1f055dbd47bdb398ebb3c0872ef99280fa5358cb1ce66c2f683e8032c3b8da6fb450ed17c0b48cb8f0ab5017c10c34a79cd83ae84c1596380bf3fcc183f58c20ab5dc6b8862f89a7504d67ccbf3c4658728960e22e4dbcdc7010001 \\x611ad11e9d33822fab4437282e0fb7e22a6bd80956ff1cb906cdbde10a942d690faa5715edaf09c4a2625b6eb9eacfdffb638e27c5b1279771546ca21a5d6208 1665224189000000 1665828989000000 1728900989000000 1823508989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-133 \\x2f91d2d5eb49386ad8cf7cf946e2080d34b33af550a72226fa77a275eb3d3989318686f01ad30d2abc63b18047e772ccc4ba2ccc5a55502f1270384bc47d7785 1 0 \\x000000010000000000800003adf3edd22bb6a91567d5b0e05fa9888f72d23acd837b744eb86dd8277baff2fcf33befe3afad60e53739817d953b48ee19c8eb0aef027562b13e1c95e07aea31fb13304f410d5801698ccbd8cb17c879f41527836e4347b5bf0616c9d826202d58eef11090c80d1960e97415f6ebcf44573865edbd591e9f4e43b6b198a6bcad010001 \\x9803f25287dfcae09a68a9d989e643d6001f45e0f868d29181e97cd87ab3e98dec8d8d3b8b0a56851c2b406721e0a06da4c47ad9a46a1fa03fa3fb849fb7ab0d 1684568189000000 1685172989000000 1748244989000000 1842852989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-134 \\x30c185409c93a6d07eea0f3dd9dc3291df910c81f9f86f88e7ca582bb0fde3ddb362a272bf680e31f31e2e310377812532eee33a224714625253aa673f4eec76 1 0 \\x000000010000000000800003e1367891d9cd6a4be6b3367cfdb59f3a41def9d039a9e2f27fc5db5b061fc8aed16deabced2210fd6f89e35a5f9f67d27ad7ed9541b6b14374d4f562a633575b96e68807189dbe43149f3ac23e9a678ebcac8360c1bf4b2478437981c398205c5f172aec64078dc96866090c697b978232453bf19d87efecb276ed23294ca731010001 \\x3a21f29aca7c263a85f39a25c57d6d6059d68294b4d0d98e4cc841d696f25123aa5d0be364a544860f8ee95b03e9e8da6fbb40f3896b3f322d6cc8284e09780b 1685777189000000 1686381989000000 1749453989000000 1844061989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-135 \\x313921608800fcca7ad2d47811db5bd0584170fb2445696aee962f65ff521be0a4d2ea9482565e22f2b80095bda18e4d1272456afa8e8a8b3a27802213bbc6ef 1 0 \\x000000010000000000800003c9a3ecde3b2f0c850b30e5e9e3676bacd8fbce81c100c5bcd437c100169a10b039b82b2b39eb1bf67ad64e33780419fc02ae3109a682d00f5febf2006ea0bc888fe1008e66dc3071720a22db450a8bae2e3ca786209a94abae23be407b0b767370cd45416d31ccc16bfe620679eb714b906c3e3d07eb30ebfedbb162f6b32403010001 \\xad9065b9a18cc514da0e99078c1118fd0275b369e774eb63aa67fe5e449fa78f50d3668aba871ad3ffe09a2a0ec6ececb43be0fc922cd40f86354af362339402 1676709689000000 1677314489000000 1740386489000000 1834994489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-136 \\x3229eb486a4ab4f7659d4b043c8d15537c59de3192224f379f3ed1e29206b29bf001d5d8c547947273505a90483c00d2cd25478b7208c075da0bb078ac509fc8 1 0 \\x000000010000000000800003c9e2caf3908850065750eeac9a44e09c310646a6f6ad0c4f370ad9d8ee4644a2863a6715266e457e9ed68bce437e2b8c43079c3b850c7e42d4001275356bcef1fb7ee8688ae579a921ddf5e667b833ab3d90fa47ff2feea39c1355f9f39e9f32f25356ecc23f0fb6faec2e62a6ae084c98fdbfc8da94f3a420c04d38260cd1cf010001 \\x6ec127531b093334c07dc9290a292cfa543de6fd61d5a0a850d4e9c5ab8ace9926f759421937507e25ca21854ccbce5abc9b95cb9cf866ca681d8446bb5e810b 1690613189000000 1691217989000000 1754289989000000 1848897989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-137 \\x35119a5aac9494ccfaed7ebd4f0057cb64affd7444261faa7f87544ba15d6bbc43622d68f2898f70aaa2090bbf25f55c0f197fce4e598c61c6fa7d5f5edc1574 1 0 \\x000000010000000000800003c8de5686a088fec95f79e2d24415103a2712729cfaa53e8a79edffa6d678b4b84a48a3b6177570cc686371562f035c15603b01be03701cc98ed51dbe293561dcb5aacb51d5a9b52e52c0b5ff7449f8af134e334c79cd0b01a4bc3c261958203d6e1dcc1071f5ecfe0de72851ed99634e73b63f06888ad574909642b59958776d010001 \\x72e748531a95a366bc6c5adb80e6f219e1e6784692d3e463dedb1c54e6e8aec1741346efe4ed108015af6e4b5f0a47cacada2fada4e60f96568311c5b6e3f40a 1675500689000000 1676105489000000 1739177489000000 1833785489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-138 \\x372592b9c091392af9d3580456689cb4886bfc09a099526721f8190102ae8e05dedd6353f7d68959be173d6884f42e2535c3e51ef8afd091091ddee82056f4a8 1 0 \\x000000010000000000800003b5e007a60a9367ba02ff85b40dca3baacf35306d2ca06f29d32f5a8074340bb9f78ee25635471d4bfb66b85959061a75372dc3dff53619c1f5b81284f6f363a14311a7d55ef522494e36408f34a99a86eaf259d93b0fd04fcb53733b2c656d72accba1a3b379751d990fb6a716675fe3f144aacc6521db0e01d839fe26b901ef010001 \\xfb445aec150ff22b1b930627e235833f695546b780dddcb60e5122c25e27b03372cc1455bdcc882ef60fcca6bfbe3d9d5032a7f368eae12f48db76b71abeb900 1662201689000000 1662806489000000 1725878489000000 1820486489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-139 \\x38fda46a0f7611d6b3cc1505930d884db6a95b2ee4f8ab3a9fae6bca511e05313b2e37d7e1c14b99175a129ac3c248ca73b422ca41352ba1fa58a751a0ddbdf3 1 0 \\x000000010000000000800003afab79a47982482071fdc309f10c98128f09df456446ebcf39384b06e846c06ca51f2cefb9b50533ebf2f06babc5e859130feb0a90a8a866854f0d76cd5691657d566330d123fc864852b05300e4d5b2801b62282ff1ed195add9c68171762de54187d29c1b2273aa0496e5d5f9e495a8d1ec37489e0c85a8ecd7460184be657010001 \\x9e6cba90b40d19ad43566c020ab1344b8dff4ad4abe4b1b62a32b470d33ea87c99e62ce6fd260df7e527603c6c3df97ffa444bcc71562c0238d1b34c82d4860c 1676709689000000 1677314489000000 1740386489000000 1834994489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-140 \\x399d3594de54826e0261de018f3f4c28ec3bc4f60b58f803978224ec85f13c11f44460f96c6be9b8254cdff4fcf29c0f8279c79918b036e9ff84407d2138abf9 1 0 \\x000000010000000000800003b511386ac9a41bc94102253a6eae1038465beabd27f57bfbc05e4f76d135fa4f31e4c3422101619e05aae12e918cd2f14cef8b660fb4b71777a10dc660db5f79dcb90dfee5ac52e4512122e00a85076c440c318f25ea7b53ef658467a9e5248f487610c3671d81bb3c144b203aecd6aced7ca3c6007bc7ac281e1a7bdd63a97b010001 \\x8b49815bd22ef09542d7f9ff9d028c7624678c1870f437d54365f519db402dbfe920597baad2d7e59f21a3d0e59727037cadf5f544bc31acad955091902cab01 1681545689000000 1682150489000000 1745222489000000 1839830489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-141 \\x3b1d6481b5d1545b308296ef210e5c9222bb9379341f419cf264b646bbdd1bebe59265fbff74654d0574f6a580fd7c3887e5257444b3208199e92d8616b6b976 1 0 \\x000000010000000000800003a24572d48214e8f500b784e5c3ebb8e3cc8c05ade1186c1c58991357f1bb72f74734cc6181db25974cb1d8a79baa8bdd5c80d7b14833db27d332f0d48e042883a3e7ca5f9ac7834fadf12c64f2c72d56e846383fa72afc0298a82c70015e9721d1a89f4e26dc465a5884cc4bbaee34e6f2da710da78bed531dbbc460322b1ff3010001 \\x8b70fe30d28df1fd361c3093cae1bee1b5e27329126cd47d18e500e807230bfcb3a60582e024de8002bde1049df62fd8776961e5baebd33ff407ede935a45404 1688799689000000 1689404489000000 1752476489000000 1847084489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-142 \\x3b8db44b850117692992a8f9a08d1f40fce61a45aa8bcb39aae5e9c1dbf9462608eb17f378a4407f1aed202cbe87b519f56c178af19f0ab0592eae6fa694ea33 1 0 \\x000000010000000000800003d38b633a1c1159bcbda494ed63213f7b00f300342038195885accced33dcc999bba6b5e878411b66248d274f4b26bfa82f62efababae5664ba1290aed178bbd33e49331d4a99c6f7b2112dfd9186b437ea5ae911836037565fc7405497bda510e764e06ec2a37e26ecbf862ed7f4fa9e56ee4f5081227e0fe83c7510f63b43e7010001 \\x07606e2417cec22876d6574e862f5fc9d718da3cae8ebfa28cf9c0e824ca2b9836a9d8a084cad9c153c052e60ff6586bc526e36b88f7d94ccc0a3a8710a96909 1662201689000000 1662806489000000 1725878489000000 1820486489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-143 \\x3ccd782c9a701d18ba8513f2f651b7828318550c16fed4155ea36d97a627d0dcf00d7c25c423dc6d27685c9e06ae38b7cd32d953f129d8c112db3b5fe5e97c89 1 0 \\x000000010000000000800003c14ce56e32bb5765ad44d248dcd18c1f8f4cd5fc6aef3c9a468492a67acb6b8d193b447482088471547e74badcd2ebb60bf2f2b779a8ea3b547f08595e05a90a4a26c9fef431272fc1adc5ca6f2597222e38dbb5226b5c6bbe93ade5d7abe99638f8e1c1b27f9f81a093af2601c34a5e59c47c12e903be083ab2998ef2a3bd67010001 \\x69c7589805df38b5121986761a317471fe9413c8e9b1bb3232f2f1d21c24261f98e04cc5ab12bc7f81bac7ae439c209b0f7a87b39bc5bae51f95d3fa8458ad0b 1685777189000000 1686381989000000 1749453989000000 1844061989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-144 \\x3d95cc59a67d72013941b20f03b9708ca481897b1efdbed3d2aa4dd93b8968071e3802b231c4b3d4273215ef5ddd52a6cfd74fa71df62f10adc72a01146b5d11 1 0 \\x000000010000000000800003c2678cfed42fcb8a9923d41a4efd1beb573591085cee64bfe51e27f0850182f939c8bcbf6ca43bef26d5ca0092d942b106e48e654979a94ae18b37c099106635af0371471dae7c24e27b3330a4c7b9ec9a29287fa90e2e7d3823a994fdb47560a8ddcf3de2411ca62cd72e2995b2225e1372cfb18a02f4c471da527f475bd9bb010001 \\x8239e8193c9ee50dcc23f41a9485fda566ea48bc595101244b7e9cc4c651e5b5b4d41d5980c7ea95c8161e94cb4a18c342e98d97bd1001844472fc0689c8910a 1669455689000000 1670060489000000 1733132489000000 1827740489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-145 \\x3e358ee4bb8c6cf9e4ba2758643da6fde706c1cdef34c0d95a93055b1446908774fe4a02dedbc3636ed63c9601f996e6ae7792a7f9fbc83c7274e081b9464158 1 0 \\x000000010000000000800003d2f4ac2348d183009ebbec411bcf6f55881954f0a8e750f8b3edf24c4541ab98d86a80207e561ae425a5469a48eb505fa3e51fb5b19ce5c97cf89ad4d63eae202ebaf42b1700b8589a60bbc27e7c224421471af2e8d4ebc017cdfbee4818a5f160ed6b7fc6f5ec982389fbb4a241463b9103ee8f1af8cf4f9c12081d3a21a9b1010001 \\xae04fa91a02751c1a1ea6520dada3142c47d24b918b1bdbceab92a81205f588bf8189e58c93b596f4f57eb945b6541842648eef1adc03df9646a9af668a5560c 1681545689000000 1682150489000000 1745222489000000 1839830489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-146 \\x429577a4f55f476d9cf44181c24da0c8f0cc36e6e12fe848fdd476cdfe742f017a15e77f116665fb587ab55ed86567ea4164ba188581899270d8f860c78df131 1 0 \\x000000010000000000800003ae394fa1dacf948bbb17dc00a89ddf4e1a62238ebf2dad2a4645b83b55bcdef05a58cf3e5007868d2bc1519e329dc4207653a11811e1ff85990111ffae575cd467196e6e3750a40ecd299b0dab269406b94444dc967f0dde29849cde3ade87698e1f55021a213c413cbebb1c6910b5588af07f89bdb8fb64040550fc7eb6fbb9010001 \\xfc74d9d01888729b9e4b95c69e7a869832d311c0353543d766c53fbf9aa4d33a9e825ae50103dd275fd9ca5d61aadbf1722e4febc3c2cc9e4039d23bf1d3a006 1673082689000000 1673687489000000 1736759489000000 1831367489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-147 \\x4251f1fa8d40a22bc923ed73b61ba90e1d37d71006ec77148db168c4e3a277025216e549ea2d7c121da1a96b5891f7f08ee7702ac536a1bb226d229c0bf086cf 1 0 \\x000000010000000000800003a3ce53824c7e6ad51c9a5c34ebebe2f2009ee6a99b591647cffbffad97bc214eaa03f8ac4b448b976690e109f2d5a1ee1f558039420afa49066e117bd4b9a2332a7f837407ed2b3ee265bbd0df582dbfdd3ec7a8fc4a5ee76ef0d8918c093ae918ef0fa4f9ae3161bbb7b1c614458d47ecd0ceb19b6fe00cbaf45a112784b6e3010001 \\x20431ffec51068cf431a1a5f903eedf339e0ef1ab9e68b8756fdd5ecca7e5c5959518cc767783c828a58c81c881dad5361682330a2a7eae6c45d5d62617e4801 1689404189000000 1690008989000000 1753080989000000 1847688989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-148 \\x43557ba84097ba40bac210664b2f46611cf94b55b5e77fbc77a5163638f58034f045bca2e74a2977c3e6cd83925e26dc7de86e069cc0353bedc087be5cde23be 1 0 \\x000000010000000000800003e95b9553015c79016da79274f45872c75810635ac04abae8241e66ae58b32e9ff3f2e71786477ae10a18ad8db25f6b8b7ca8ddafc32985e9aa2b38e234874af4374cfa3b3bcb66eef2b66cfd73a214cbf22a6d7fe410ea7c178691d9919b4e16c1badd096bf0fd7148bce666b16395b8106b937d67d8b65597c6eb9f688bdf3b010001 \\xb544fe4a4033b29a5438962c12dd7ada282481aa1372c020f8075bd63cb085b4b37d7e0bdd8b6cdc0bc64defc34e024c0361803e8a824bea079f9d5711df7a08 1683359189000000 1683963989000000 1747035989000000 1841643989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-149 \\x46957c1233f0386f5fe58b5787f8ecd0d774920d757a730e3529cab3d9691cca23d719799d5c88e37e784164c08e674efdb6b69ce8c07d3ffaefe10c006f2af8 1 0 \\x000000010000000000800003bc4957fc73b252798901b1cb59594110498972db3a2103363a6c57180bf7e9c4e6cc1d639aacc0ea17b838509bac9892a5d934bb1880f02f4c767ed183ff07741854bebe89cb653966b5c02c55fd505f66b489cde20465ea05c3a459fbec411754b65d01d6ae6d37466c42ce72f5327305a7aff9a088cadbc6b03b5a8587f4cd010001 \\xb31823dcd6f5f306d66d2f66b6582777e4501bec4ec34c291cc02a1506f6826f9705fe8774bdb0c30a81ad15681c21884caa4010f46869b697485980e5f0e60b 1691822189000000 1692426989000000 1755498989000000 1850106989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-150 \\x47599058bfc1f361577873054ce61c35db09252f08de4c76313a9c72b647e28b66c3477db063c71a8fe3ebbdcb13fde6292d1f90b8fdc8e3fc29a98f4f2c8126 1 0 \\x000000010000000000800003ce24866c3926134b3672c43107140e2d6301ae04949e919d23e706dbfeae696e7dcbb8b4966d16bf2688ce876c1cee965c27983f83de68f1bc0d62a20f7ee0425a363d47236211437923e15003a2aa871a870e55097abac0c98c98654e78749ac98c06a4934b621ea2c0fad59c83bd04269a028da9d4302c14265d0d25ac4a03010001 \\xef214fbe6e71b56674066eb4e7f58706f8387a88dd11337aabe19891a54893dfbcb54cbc38af6142194cebe2c1ab3550c75395665ead87b9ed7bba4b25864707 1691217689000000 1691822489000000 1754894489000000 1849502489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-151 \\x47b5271d1dea6129c553e8f7e46d914733e4b4665e53bc63adc6e01d471a52f82a904b4a52b39d3742c899aa1bf3027fa9ebc449487aa59adac0f5ca60918073 1 0 \\x000000010000000000800003d2f081210abf8b32dde7ff299e47aaa12d2b99b8b4b3fc52ca66ad5aa27bd3ebdef698f74af28f4765593f879eadbdeffa98726a383b8cdfd2b7cd07f996454897882b8010aad33f06a379acea8e02f12ad6b7cad8ec9c41025e1ad277cd1f0871a5dbae2e39c4df138919fa5b08fb5e86f4c8f17eb3e62e924b488d10b443b5010001 \\x66d195f66da463fa9e6d5b97ee4f32cd1039d8f348025e925c6e826b2481ddde61be4d00d6fdbd9886f5f8e61715ecdd580e4bef82845b7ca5b7c9e03a98e30d 1665224189000000 1665828989000000 1728900989000000 1823508989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-152 \\x4e25f3813a1d4284e205c80d3612e4a7280147c4b82c6edb80868e050905c736c187124ef97d8846a0477b2e6c4898e160cf0f0afb872e4d02f70b98319b5bcf 1 0 \\x000000010000000000800003b2d79063de8fbfc3683cd4ccea1143a82be60008d7f9dd44832c4f337e236e1864310332ce368d5a86183fe6e0f328a7a0a645ebd658c1e865e853a913adfa7e6dd04f37add08bacd547a025c5625c736e3dd081038ed9e87a9166e04ec3099baea2c0ace5e158e8a95f88447fec7f0b0ad38056f94a92d714e93a396ba250ff010001 \\x3469519742bdc5a028595537c92f65350ea362bd00dbc3f65ce98c8214344cd6ef8ebc901b7ca62b48d239f533e70033a6dec9c5c7b44e72c82f784657a75306 1692426689000000 1693031489000000 1756103489000000 1850711489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-153 \\x54157e946d0efb977d6da827c3c104a95c9314d7543553b4a3818e86d2f40caca1ed385a30bd55783e604ff40b004dd2e8ce588f8cc0cc390a3a91ef3d8320d4 1 0 \\x000000010000000000800003cd1828d1f07dc3248c3ebc6ab1eca634d0f05459c80dd47e06a834162c5bb253b4912c7493be0b74488b91de9f75997ad37339ebaff9ba994eab0780bda6c8e69df7a6d86abf376e86dc290ebfc35e7b9c5bb69e591376ee6ef0df4312c51e5d32ad1b06a4192398f74e523f21275f2f5bef446848a5dbf37fe0801250690669010001 \\x943489b929bc1807d9e0b22c1e733f70a4b42d7915c96f65949487422aa45c751f17c9c02b63e7c8b1c3a01d4b7d30baf83547fa953a4449b309c73332137702 1667642189000000 1668246989000000 1731318989000000 1825926989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-154 \\x5589dc3991b44428a26660ea0ea349561fc01ac1884c1d7b667791d1ee015361db78ffb617650af175fe5ed90352cd4e78ad7e02a86d61e289dc96d155b71792 1 0 \\x000000010000000000800003d0058fcd2f2d238ed5703e5f9102e5809583699968d6f9bc891dc02e83a56bc90116f70a3eb0a041bcacaab4c9d0e81e6132518cce445a4288918e00eb78f5bc53207c77eb1a32f5584fadb09f6750e0df3ea0529c1ca1237e3d9b2c6781f80a6d848ba0259493d13d987b0b840fb473c368020432958074dfa2eac5ef3fdd17010001 \\x744e4e0ed1a57c48eb1095b879b2cf0de703b258b3591992650ffa70645d3bb1971388f99a37b72ebf90bf6e61e9fcf68a377670d44fab6d62d97d6f82185100 1660992689000000 1661597489000000 1724669489000000 1819277489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-155 \\x554978983594bd96f5fdf920b2aff582a5eaee9ecf366f3578d01f74a16307527fd83057098ca8566e49ffb6862d62f69da040c4662257fbee6e611e62d5572b 1 0 \\x000000010000000000800003cb14444de17172fa571522434ce55ffa7a1e01a34fdcb18231821914c99a22d54250a5ef11757e420c0204cf63af53b08c18ec52ad09e286703a0b2eaf86132605c653befcef813631ee6bf3f0c3c97c8d65d537d2b1879e0995a267ceff6d2e490d9bb9129081f058828077e5765f42a551fdf5f0c80bde10edd01ad91888a3010001 \\xfd0155ec7485ca3b7322e44f4074a8f984be60c39f3d72bc859a4b461c82acb0ed2cf120d036dbfc0a0c978d6b7b6d9012c9fa365bdbd5ad636d241f0be2320f 1689404189000000 1690008989000000 1753080989000000 1847688989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-156 \\x5609f2698378caa315794600aec531a3cd1aae59164ec044b7c7dac7e716af1254d1f084f53f1f6b0dbc0b8b5753591589cf89a5bd664c7cb1e2fafad58cffe1 1 0 \\x000000010000000000800003cf3e432bf71cf59fc00d2378fc23588a241b0eec8ece6ea31291c5c7cd3e98eb898e3482d07a3bd5cbcda78aef9833da60742ee6af16724e7f39fcf57e6ac66f93724dcc7d91d82a3ff31d8e9306240c9edc013873986641aaad1e65ffe2e48a4d7d9161a1bd25377fdfc5d8d81116ed2f4f60f316b8f1080797fd0a828ea82b010001 \\x1a540975c82191378aed8cca9c42b4de738e71952a006978a655aa1589dc4a5a13815a406c32dedc414cb591ab6e88b0ac5860ea729ec568e13f234ea0a6a50d 1682150189000000 1682754989000000 1745826989000000 1840434989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-157 \\x57592526ea3cf73a0e3e4df70cd582cc53099b379775abe71860892422008de967b1c77ab902f56b73f30c937d5dde44d3b25a4b43b1b869f9d593b9d1f2c9fa 1 0 \\x000000010000000000800003babd8a9e3d0a2e9156b5df5c17e2004063171f3d4492c88b53a4df8f7eed0f4f4a9e80b98ddf1b6378f74b878d17b90f1c5536caba4aebaa71cc53d92e0f33e950d84b65942fc6c74843f35185f9eb87ae89046f915011f37aedee2a5ad9d0c43ce1abec2f395db337023d89bc88e224b1760ae61c40d97ff61f38848125024f010001 \\x9758f795775a9943ed62c143777f72caceffe183f5154aadb80b757c4a52028e8ef5f231bfd73ed4aff0ed24af2ad75588d5c3d37df4d217cdeb6cdd37e5b309 1666433189000000 1667037989000000 1730109989000000 1824717989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-158 \\x580d4bf80fe5f846ab3c42e2d33385e9a8f76a355c76a23f0a9b80ab3af3b17f397d03c9e75b796a61b4ccf65a4d210f5cec4e6d78bec1bdf889aa46d3b4f7b7 1 0 \\x000000010000000000800003bba8f341f36e3fedbdbe950f85cecf5495b8c4f52360d97bc1769f817cdf811aa54fdf2a0ca5fd56f6b3b9d6e541fae83b73d6b4c000fb3269d1ca91dd6138776b88b79019aaaaef6b2873fbfb2d139b27461095793c07c32575a4d2af49166170b67d52ad82e2446e28d8565a96c6dd90e4a78c1f6e8f82660edc72b3127437010001 \\x6d392fa36973b3c5a26840fac22055ece6480c1d8f52037a22c0edf02a006596a4be2c045c32456558596de2dd93cd8f0f6007206d3c133c659236978e99f407 1691217689000000 1691822489000000 1754894489000000 1849502489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-159 \\x5ad90afff4f7d895acd40b9bda341f2a6e7e0fc150f9dc13cd0ecdce067e294f64e9cac6e595d3a18ce713307bbb26440400ff7aa738da232f26493a0af8fe8b 1 0 \\x000000010000000000800003b1646e6059ba56a4a60f43dad38c7736f091cb3924b48965bad63a7e49cd194bb9f1d427413ab614051d3f6b4f31c23fbd3be576fa7d8e9bacc6e0495f894b160ed32a2ddd605933540adbb7a9e7eff5a65bfe5f849212c743884e9fd57f656ebc8e05988f5590c549ea1ff078bada41684699e31255358c9601e42370a3d2f7010001 \\x7a3defc2a7d609cf0bb08876c7a92803f01de4bfd6439a6d62d7d06476ec80fbaf252c5081faf970b839315e69e37c86057ed959c377ddb016a4669d35250a07 1686986189000000 1687590989000000 1750662989000000 1845270989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-160 \\x5a91243287a3bc4e5ce3416675ed6a7dff428abc9475e890cb2ad7daf2ba9fff1a239b60d7782b4d528afd32319b7ef4c399c2a960bb59529b57cfd8b7ad74bc 1 0 \\x000000010000000000800003eb30c3b0446cc6fc8b1ac2ccda45c1abd315902ec99c19cb65a5082b4e6576b6fc6630b1d296aa1c9f789c49188cfe378afeb6395421f24a7ce460172ec98002305352804bb53bfe086ccddd2e6906049624bf89f52505c2aa0d28f33c077642131947635dfae98ef430cab65bf73a685a3cc81e8150ece625d677b7128eddff010001 \\x1bda542e0879ad09d7c9e80174012c78c2baa6f0f8009d2d5c1d3557dbc5039fc773d1cc8904fb150b1542f5108ebafbcf67e7175b9bbc05ba9177d23222f80a 1688799689000000 1689404489000000 1752476489000000 1847084489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-161 \\x5dc103b2b03bc82a45e30846e487150a56b4514a4b43ffb8c6f5a9f43bf2d7f35766b803c03cf7208f1b2b53df65b6233d5d07a6d403dc02e35d6dc060d33400 1 0 \\x000000010000000000800003b4d3b71a91c876e126213a5e66d50fa0efec0ccdf1a3d4abe63620c0b0729aaa01047e37de8e785b624fd6a0ba39e4e8367f51a3b746d385ae678338f36ff1bb521385f3d978b8ba44696d2d859347b3f48e8bb9800a494cd539e6b29763737592acdf93beeab085adf18f62ec28337468818b3666accdfbe52021c5916d6f8b010001 \\xba7789ef02c0722ad1780b8e26568d29e037ed2160ba56d0eafa81a2b4de8442e987ee971634c7fe5de55bcddf891b2b4673992cce16728727c1600c4107cb08 1671269189000000 1671873989000000 1734945989000000 1829553989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-162 \\x5e95749041eca348aa92b42a971bd8d87657fbbc56bb75aa896e320d988ed62c720a4a3dd3041026e389b6f21fb7cac886a4369fd516b574c31d95122dab0eb7 1 0 \\x000000010000000000800003ce9522de678566b2980ee02f3bee076782937f3b4ef49ed82ea64420cd0571c38b8a703226f31c25d338b4687c0949fe62e5c329c4f8b40a877e57b4700dc8b82e09478b30fad1178a6a672723d1a021224b416bfa4a302d4002ae9619ed5864c308f73eb1800aff0fa674855a1d2e077138b06aa8bb73ccd96c86eb38669891010001 \\x1f02bb5f304e264c5d00db38c5486addd19b9fa441a8526115133e94ba1b3d4cfb09574d54d4f97de484ae69ce639c2d3bbca54f7dbceaf4e8425e71028ec303 1665828689000000 1666433489000000 1729505489000000 1824113489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-163 \\x5fc94ee3a4eab4c5db673a95d0e6ad6427735add416808b0795eaa6f460d74a9c608e5a81b5972e334e1b05ecbd94d655a033323646558606dc2dacc84129194 1 0 \\x000000010000000000800003ce04b3ec258fc1cc82d1afb1f6e399b4a588824084f7f0389ce587ac87b5adb83aff06ec8775af45c9ae553ddb91930573fbbba55309bc6aa22b019e456b8e55ec13f6b85c96e8310644c14c4b1d4703bae17b7f0b3a0da7a512da95efe37cca1d7f3d46122b20f896b68b25e2ef38e7f6d2e716d5271cba6e70c77c2d9daddd010001 \\x97d30b53ddbc22eeb5ddfe46b2e87c1b07ca88611fd07ab0b59c0481874b59b33c736c47c733988e30e957fb0adf4dee577cdf181acfe14971d121f58c3b5c0b 1680336689000000 1680941489000000 1744013489000000 1838621489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-164 \\x61993082a1ccca5cb8fa1e66bed6ef2f7bcefe71908e85e7234dba49b430182f377ce5408439e68cce72fc573f00271ab34ac5e5e93534dbb207e39be2d13e95 1 0 \\x000000010000000000800003de2b1da6c6dc78c25ef4ce507fcf078301c8fafcd3a956b315b24fca592bebdaa1d9875f31a9accb8c9c8ca8ad3ea90aa96f6b475a1733bb5a85f9ffcad1134653279947a05117ea8e1989fdb0b58aa34e526b6f60eb80db52956487e943dd0f0b769bb362b3bc0e9d036d20dfcf484056e6fd93df894470c03069114f6f18d5010001 \\x3682e0d09659dc404800e8fbd47e9f808d839599131779bec08d3ecb0edd9c4dd25a1e7a38535f4bb6918d396558d50f2e8bdb3ba70de815d28e574add291d0b 1666433189000000 1667037989000000 1730109989000000 1824717989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-165 \\x62d94226aeeaf839322a523e11446080d23f6b3efd31a69a8cae5dd1e025af03fe436f7d42dbd219c3bbdf2a08fb510e190caae739df7414ce854cad12d53e20 1 0 \\x000000010000000000800003c20de431d239556ce21d64fe2899a1c154c63082e18928b734f299f558b47070676826bdab5c67d460aa64b02a305c9e3702da696e9bfe201117a06b61412a23e1c930a964d7e81d9972d17ac814687c78d0992a5191827bc1e7114eb36b8b7333dbcc00c51465201179f3cf66ef4d2202a3d7048b1f9f4a6994f12734314493010001 \\x64caa65aa335552122c5a9c5db2c1d75f1ff947bc4c758e79aff085d71772f86cf2a93eb9a8123e41cde60500bc89d3c5ca4a2ba70ee300d28e63804de087d04 1674896189000000 1675500989000000 1738572989000000 1833180989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-166 \\x6415cd05e204285944a4242513b83036512b65ab5b3e10156b770597141d62ada89875544a4c04e816786fe769826a2aa178f54cf11177a686fa1837eb12696b 1 0 \\x000000010000000000800003b50506a0126def225759f0ced787bdb9c0f1925099feb4e272f36a48782b91e56340fce7c7d8dc07f8a4a432e6d1867e3bde6c85ea0772020e26f1be2a60e08da253e6ecc3bd17fb39a399dd674e2accf8dddaec6208d697c5f6ec33e0d5ac0dafbe336f87d5a8c50b35c7a5ca38b6ba978a5259049124611848737a3813e03f010001 \\x561a2d6523b35af375457f901e1665c9b9ff7d800cdf3c49c8248254dc6734c3cf70f3320577a76feaea33eb0e046847fe6d2337234e296a65df11dcd33d9b09 1671873689000000 1672478489000000 1735550489000000 1830158489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-167 \\x64d57aa364a9858203df2386f24b40149e021452c7e384a0f4ceb228f562b0987a12a0a51ad6a6c586917271697b84d7abb710cc97f15f4998d42a1faeda1f5e 1 0 \\x000000010000000000800003a74c47954c88ba463284d8876e3c5bc9e07d57db50e6eb9c39de0ce6bd415a8a2554932c093b75fd23cabae64554384e9d3931a94c4c6dde5714a928dabd69696e9bfc86208a97a1c6837c017f35672f4df0c67f338e4923102ff7dfef534b8dddbe9fbe9f92828b520c7aaa1daa9e97015d6da19266e9bb6f96cfdfbe880a5b010001 \\x6c434eea9f3980f520aac37e5f37a6bec5f3c9634c8af4b9bf539b35a5d629a3b5a04c519879123bb2b06a8d6be1f5d4a736131ebe6a3bfeaedba3a549571309 1662806189000000 1663410989000000 1726482989000000 1821090989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-168 \\x6699b3653c9d59c8bbb5fd0676f0c50dfaa6d444c2e15edf606a04bfa7451fac3e964e9c334f159631473353587c974b8bb152a4a243a7d358cca9b1f7adb9d6 1 0 \\x000000010000000000800003cd7ac5c02d607911c80a90edeeccfd62e3c4a30af04af8253af0ec839fa5fce92dae799a48e9b2f0cf07f655827b1211ba358460d68e994a479d3948287f248d20be2c06a473191bcacd027a3fcfab9e437aa788fc65baedc7ee5fbb1263a9228052223df9287602e5e794815014044199f0c6750dec22f430ef471556e6c489010001 \\x59d8504ad930ffd63e53da6381d74994ec6774126fa56f43f4668f99a358692b5e5754068e810795e34fa70eae447e62daf28c117a966ff4567e10b7e010a206 1664015189000000 1664619989000000 1727691989000000 1822299989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-169 \\x708de34686ac231cfd0f7d85b3f4c6b556157eeaea976313eafb968c2d65ac556167825e18e09423145bfd1457cc838cb5970c7dc3d201b1b0c570dfff75da5b 1 0 \\x000000010000000000800003b08d2f5ba5e120be96aa189f47eb9d78dfc531ea2037253fb422476ecbd5641eebe028871d3a162dca0fa3eadd76bf9a3e47b48470a378c8790eb87f0d0ef5152253dc935f33188734f7fe265b90973ec1dabbfcc10ae7740b880bff555389981d882db4167f0d4c1ed76830d6bfeffa890148fb6fcfcd35e6669db9d7940943010001 \\x873d04f72eb89ce3205cb8eb7197ae5b0f22584176f69b99f6685345881b5ead8b023d36edbf0383ad9bae683c4b31ab0b05d285ad21a29f22956dcfe8e8e40e 1673687189000000 1674291989000000 1737363989000000 1831971989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-170 \\x7349bb46244564f45dbf717d331a3d5dc919594d384deb9710e4443e1598e1a27b8556f6bbb8d470612cfafca556e956baefeb7a3a7e5b7920f27863e535aae5 1 0 \\x000000010000000000800003a1bc1189b5f4881c4b6d154b76bd80c0d0263af13551bdddfecade51ae2cfb06c4dca864f1d389fb2f75dec16479c916164f4d97efef9213929adef3da4d1ec936c2045fc93e0689ec72d85686884af116fca752e77403e8ccadf75d2964b2f0ae9fa4fa0f8dd0fdbdf5e911ad746bf78c6c1d9134328ab97475a34073d20d39010001 \\x6f01e04ad3ffcf75e182850f7ab1a74bef91bcc1fbda1baf5b1af0a206dd9df9d99aa5598a35bc36057dbf4646c545bc26e822b663259dcb2134c4320083c80b 1688799689000000 1689404489000000 1752476489000000 1847084489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-171 \\x754df1cff6f0323e0e9eddbae7fea17cac1ad4f50d3047098d781c3b1b0934a497db83ad21e4cfaf3cf7dd290ffda76d0d3005cda972a61f9514a102b4d58dee 1 0 \\x000000010000000000800003b99adc275415145efdcb5648a2150ddcb8206d1f0e6316a69167eb4afb524f41a2362ebc3b9bcc53953bfd880eea26a3f776421b083434e96e9d2a9fcdb6f260f741fd25dc97040149c97b7f7847f01df520774ac6787267a5b29c242ab65a98ac14e6f2cb3c6ff82ba3e7c2551d09cc769f4df6b26b5e922f9264121962069b010001 \\xaa3bc9b12b5e3493114803a168cf828ca6bfcb5fb9ce81eed0ed451fa92b85933a19647242ef206bfe4a5bca5bc8aaf2c527977364e4e3cd2f6e6bbc6a3cb708 1690008689000000 1690613489000000 1753685489000000 1848293489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-172 \\x75412724f30f59675f3482268ef0c6a67d8561708b3628e25aa173b045e8c7c634c5b1ea8eb1d2769acb75ed7090fe4caa2bf0a106203551b0bd23fce420aa85 1 0 \\x000000010000000000800003d66ffef2feb2714fa23c84d9e26a997933b492573ab441d2105249fdcdca076bb2ae639cc170aa5448dbde2138550a3195dc0e5969c8e2e459b2302309e657387d6c0c1dc2a5059006ebb9c88d3ed53f3dada53e924a9da62c7561d63f5dc3970c27f967d0b43ca3ba3e7336628810aec1838e8db23a8ffdbaf38146b6497ed3010001 \\xd7a3a0c86a98d39b1818dfed26838c82e1712727c453c8d4442428103e7fa9259241991758f122c58fe1e1401821ce05f2acd613939f60e9e652f7ce102f0200 1679732189000000 1680336989000000 1743408989000000 1838016989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-173 \\x76d925c8686f7a178e30680bff7197482fc5c7855e89c11ab53e65906e45fe43a84b43fee03ad22b105a50bdc099475a528821efee023dae41cd06b6c0330c81 1 0 \\x000000010000000000800003c7d06b9654caa0295377e879519cea6c6fedf205c1d45b313b0db686e3540950b211bd59de64315ef9aabde5af4219513a31502ca0dece624b1ba03fee1fb3f5edcd32bf194412130c8f73e2dc8fab646111b04cb6238d00cafddeaf94de726bd3d89d80b9cd1ab9e7598a49fd679df49004f4135968b774df017ba831b0c313010001 \\xf47619992a18ec6bce6d8b18b4db0735d8ebc84043f61ccd613f184256e4ced50ef33c850f64218c493a22e0d590ce8a0577669dbd67935f10e35f050e37100e 1667037689000000 1667642489000000 1730714489000000 1825322489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-174 \\x7a3da931900d382436fee0f9e789df8d4d4a09332e60aa093217b2390b009ba03cd7219c122d824419e170156263aa4543d424640e7c6e37490b197364be1c44 1 0 \\x000000010000000000800003dbf93be30bc610c622e2702e8477fa53c69445b95180259b1e0e4365195b11048b5ee7d92af1e0c0f798c5f8415cb35971779b06fa33fd1dc043c7b041880a57800ef604684c5e7f3ba5824f728aceaa7878e303554d9897403f65406475ef00ee0a8fe6c7a54c42b1087a116dba80a776387e17973bdad34db265ff4c88789b010001 \\xb33f337ff6804465579d28c384dde93946481adc2196586b33686f2b77c2b2ebc38648c1ab0f08ba2ec824e4dc6d20efad625ede80cc27882933ad8ec5c8730d 1660992689000000 1661597489000000 1724669489000000 1819277489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-175 \\x7b2dd78703fc0f7b1d51e733fc978441c2c205f892200a8ea46752757d605043c294370dd3708e2ded60524c5564bd72313868609b620c7fa871bd6b02e289d6 1 0 \\x000000010000000000800003bda0aed5207b951a3bf7a32c94798a265c6089f9fd3920845256be6fc6c7df79cd6982f5341c0c50b203dddcb2cbbfa3c73cdf3a3269c25d5d269ecb6e66842c6282f90db3eb3bfaf8b360205a9090806d11bf6dc531c6b250136d302d60debfdc00c19c6a1595984332c1ddaf644f42f17e036c6967ce70421303562de5b777010001 \\xbe736cbb4b1bebf4e48413c2fad9150281882f031452a8381e695f31d2b585d382e1a5297e874dea18d69ea0f50b66e056b4dbd19d93b9f8d5552856c76e1508 1668246689000000 1668851489000000 1731923489000000 1826531489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-176 \\x7fa14f5234a2259f3691b92ad220f1045f98da0446bb804e1b88bc0a0e1b38fae023e1cdd98cd364825b66a04a5d9edf0272821632bf319203c008e70da37fde 1 0 \\x000000010000000000800003a759ee4da9547682d106135d6d818827a27a8a7af78394b27fd276e4e56d68987471f71e1ab8ab7d4f94349c6018c98a97dd2ec194fbf823b579173cd52958275424852f3d193fcb54a7e342683682e4ffee219659357def793e06f988afae7eed8e918a8d814aee4b50609723bca8a9f3e77a3be9eb7867e65e4166eeb25549010001 \\x94d0f220cd73e9de7043d5ac6819d8e419bde431df86b773fb1c3106e9fe1c54d5efbdc63fa9037a0386dd31eec5792dec20af38b2d59286d74c34ec6e53ef04 1685777189000000 1686381989000000 1749453989000000 1844061989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-177 \\x82b18f0806dc454b54db3b73632225e661157c30be47bf9822ef6302ad24e9689c7fad851554e633326122ef4c18ee2b31e40d4500b1e69801a93b26148c3b84 1 0 \\x000000010000000000800003dd3acfbea775247d120e1627f91fd3bb37a527b95d118cf13bb9e127732a9eb1bce2f629211b8416bd1ed951c6549bdd5bbf5bb98ebbaee36dcb1b337350d406c423cda94d7ee22aee103b3d5bec5b646a72a5645a06c0826f2402eef28b637aacd30e609324df4c75c069bc17dd2883bab0f5177089f282638aebab86ca60ed010001 \\x0b42b802cf4a6b57557081dcfe135964565059a1cde0d61bfd7b59c9532b3b6a6bd0c99731328ffa559816b70aa0bf1d305b2042258ba139c70eb9b661936e08 1664619689000000 1665224489000000 1728296489000000 1822904489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-178 \\x83f9712232e594172226966f09623ad0a68779a4660f15ab73baccaebc9623294fa0151c88ab4ef916ab0fbd507588e186ccf55d11b99918896db78b64e6b5ed 1 0 \\x000000010000000000800003e9b91c3fa48f32e7aed29ae98e2dd9e091af453af2cba66cddc8e9c25d35d7177fc3019bcbf59881e01ebcc302a40bb038485b9fc03e9a4e41c6405a271eecd74a2dc2a09dd843bd875b6e86bc2a68a5c9815a4fdfb8ce02fa274d25cfa010151171c337dce7bd2764125dfc3ae3a30becc304490e9d93ac1dc69df1f4871a83010001 \\x153604e8be128286e1dccd0b87f035685668a60bf763d99d68cadfe80aeea419b0fc6810f8967145c24048d1b8cc7d4f63782b16909320d6d912f7a1e19dbd0a 1684568189000000 1685172989000000 1748244989000000 1842852989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-179 \\x883171e782512f647aad5dca8a4bc3714a224e56cc11bc1c6502de549798201af22e9fdec39aed9ffdd3e3c82265c2de38819ec8d906ddd396afc72e51a315c3 1 0 \\x000000010000000000800003c5f362b790f114cdc781aebc29e6b977fdda9ac9f04e43ee143e3c22a9a3e4b878316f11278661c471ca1ba499dffcc441f045d359ca00f69248cd3a77522b473b4ea744692aefc0016597810ca00a7fe9125ce988384c77ca2637b1752b1d6ad761664c2d22389441dd6365324e2da8d5b36d45060b24faf48bd94cd025dded010001 \\x0c8c366519ab679667f758b0e2c3a342b32b3efbd42bc6a5de39c4275c535cafced10d46a43d690163ba1d54a5646516991c153756e0cd36beae62baa5d78d0e 1673082689000000 1673687489000000 1736759489000000 1831367489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-180 \\x8d19e252e7c86205050b86b32935128ec49ccd4466eba7a718ef40c6789f6790c688bdf43ce9c90a6f580a6639db8c04e60cadfad05a8c971e127b875e0a73d5 1 0 \\x000000010000000000800003ded4744ecc9fc828f3a7fc3d66a925b1a8093fb1ac847f11b41cac54fdf7fde7f9aa3cd298f4178e8480c31918b63c1cdad97536819465011c2491d3ef70acd6ec323913c8da8d5b3f7aebf011dd8b64f888b203d180f89f11074c0477145c4daed5b6dbc2fdff2ad6070c32c4abc85a466599756f797c4b22b90965bba4c4a5010001 \\x77ea76ec78a48d833948ccc7d6de4eaa6b986a517fe0a32bcc338eed7caa5251965acdf1d72d1b2582edf7b853b0949fd3c650ca6def0fbeaa8536abdc7e2904 1690613189000000 1691217989000000 1754289989000000 1848897989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-181 \\x8d717b96314ddeed4ff99b9b8f17dd07395ab2f9aa7da6e56ed7e24918c428d63fbc88c712f916917f20649e97aabedea0a6a288877bcebfad5ff92bd2829941 1 0 \\x000000010000000000800003be5ccddf9ee7cb22c663380dd2f646ff715c44ad1b0e3228e081ddd6756e88e9c8d65eb8eebcb11223e6e605ee24b78d886d313285579781a6735338a8116fb099968a741808f7d0006553a37992431a80b4a3815ebb0df36929f5da72a9ad958ee411dfce2a7e02c421afd8d250159fd3e706e0d1209a71de7f87ce6173d0eb010001 \\xd92ae8297706ce811d97645a048e90d55e8f942ca1c277178b0ddce042a1f5a15c041eb9b3ee2044acc538a9c04af6bb6f6aecd87406ae9d979eae2236bf6d09 1687590689000000 1688195489000000 1751267489000000 1845875489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-182 \\x8da179ad27cf20e9bfae594d069611f2f1ee79d38db92eee54095b100b62a752e5ce9bc1ce5a2d647a5fac6a5bf196efd3081db5630b70c76ab5cc8d324c1dac 1 0 \\x000000010000000000800003c65d2dae8ea7e3911b600cc3b718758c1e18e1d4d0ae7446d5e5b8be61acc542fc85bcffa64b8b2fbdae457ccbcfd442b453a6b79b5574c02f37deada3929b7ff59a23d15231057b3c38104afe196c49e725c4ff5b523fb6ee89bf860c4ed54e93110a750bf05fb2848aad33db1e4d064dbddf7c7c6042c6c38049bcf816fdc1010001 \\xff09487d4b258d662dcae2d73f4ef3fcedd00f42dd69de511aea20ec634309b10f65f3447de76985d45faf11031027ab719ac946a7440ce6f5c12adc3ff95404 1679732189000000 1680336989000000 1743408989000000 1838016989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-183 \\x8de1c08e18d1b43e70fc5ba4bf445aa7fb67a54746f99f8baa9cfe4d2a3df8ce02d60e1c541f76beefb4999363f6391e4d9698138e1accb717c228adeac43a87 1 0 \\x000000010000000000800003af5b4a99f83b390b1905c34cb2f2b7a51b414a3dce8ce9269c42b827d252cd1aa0827d161d6989847527a12a5bf6e6def0b583900267085ad4d33ed1ca93714b4b532c6878ce29fbc8b6ddab2fc6a2582ad966de3d4b16e50552f52900b837067f893a8aefb617d753fa4db154ad34b16c6458d96e5ac65f80c42c7d4cebafb3010001 \\x8f461bf74c4cf159106ca6cc95c391184d7ba5aaa9046896da044b51cfc6c98949f017963d589fd089c96456fbeb4ac9a1c978a56127a52762814185a11cb604 1662806189000000 1663410989000000 1726482989000000 1821090989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-184 \\x9255bb78ff6992a1ce83c0b0fe8f359dfec37ba210dbe05ab4a9554973381a62f8cab6091a119d589f5f178f01f7ee9657a3a8a4f14d4438f7da9e9176c0e89b 1 0 \\x000000010000000000800003e5406161e03c0a81a0710c196af3e4613760cf8983492ad9bc1d9bba6a9a191c02ad8525b27dbcd3c8eed50d6142c4390fd4bcee44ad00fafa6f715961103488e30b29ec83ed6e5bfc69efe70d7d781277eb3c082fb1069ce7169dce4336ace977af039a46347daeab6923d7532daa485540c8e02b51e8ffd2f444c534930e13010001 \\x952f315d8ea118bf0b5aff3d825aade427f21e27b886afbe4dc072fd28be83383717b0665c7664e943e5d21ba2c5d5c66adec82fd4320eb95dca4c9716a3600f 1675500689000000 1676105489000000 1739177489000000 1833785489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-185 \\x92c92399639b2ccd3371a6bb9bc864ba90851e6bb27cfa91382b1b54a9bca462ccc333f8049969496ae07939db60325b49e8086f5301f890bb3c1acbe02c565f 1 0 \\x000000010000000000800003c3cdb278235adf0da674960ad8c9b2da7aff8019dd8279b35c97f082ad8945bee22b5f5fd0590de28335ad769fc5d6752c935a0c78838cdb4db47cfee0c61975dba6243d379e75a0cda1aab7d4b58341fa93193cd8518dd73bc0a7c077cd481e6fd36b9d4dc1892bda6ad878c7194dec53f0bac1f53c9eb9bec1a7e7fe5e302f010001 \\x0a1965ceec853704edec2c0e1fc84965d9f067a3a793e2b13dab0303281ee9652d91cb074194c09a673881faf9c0ba53cd2bf82e205d2e74682431785e122208 1664619689000000 1665224489000000 1728296489000000 1822904489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-186 \\x9265f846ec02399ed3f084deb1664edf3b0cc94ac5c426310335a39d191104e2939195988c31339da09a5ab0bc37ced372f32bc2f4dd8ddbb1d4353a7e1ca931 1 0 \\x000000010000000000800003a399e6a15117ce6dc94fc21bc95582ad58c99500f09dd0c1250ed20dbf4a56387c6236f7f66639df2d4b90e31ab54d2f6a36928b9e53d3e19e171040121d7971e83c0bb4511b81182c52ce11d253e8c7651799a5ab209df233671fcd0e0b62fa1d02dde82f2863cd868016dd13a45e8cf67d336bb7fd5d723015b2bdcf42909d010001 \\x0f35291d5284bd5cf0da987b530637c4a06a5deb09f33603e539223eb57704a17a47080bb9ebdffbcac50031775ae9900461a18dfefb09d4506c08200064b00e 1683963689000000 1684568489000000 1747640489000000 1842248489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-187 \\x94b16900937f93088814d3db794a13fca776160077d7b136ec9a7de474b75d15bbcae782d520c4c99baf886f5f1eed974020127abb7acdd12589fd47edab4355 1 0 \\x000000010000000000800003b93a5c60fe83e1973f025536135f5684f21f7b2c7496ff4d4cbc770f530043b908cf12551abe399e178d34c9ac5f884b2453e1b1565c66e6cd1592f14b4f9423822a3ac2a4a7667633b3569d7483066192fe72031b96c231a04fa2afd2fb9d25a84e604efc8b8b9e2fb1f3968fdfb0938c10719c2f33f8804ea6ff36c5ef9cab010001 \\xa0ab16692fd8cc150b78c0b31ceac46b83d3528b07b22bc65ddac40aa4edd5264023f03942bc33c6cc0d1cdc4c747f2dcd767f27a73f4ace68c105bd08772403 1690613189000000 1691217989000000 1754289989000000 1848897989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-188 \\x9e99f5a4c734f85c67bddce0a7cab9a1ddc6b63783464159e1d8a29e7b73775be8b2a093b7eb9883b9a3219729aaa4922caafd507b30d294d7825d7862131633 1 0 \\x000000010000000000800003c4b59c78aa2d71e72499c063dbd1ddc365893323e791c1fe1ca40cda87514aebd7f125a0b9e6299190636f3070c33fec08a3239a674c61aa90148e01400ee5d554951e42e4d6cb228adc0ea67337b99643ef15836c0be33f263560a59736a9f503d0f834315d123584407ab7be1141f8e2b5fffffee563384777b818f4c3a001010001 \\x51e9b9ba620d1266bf102e3891c69557221b0137120f4252892e1d9305b8f1d90347eac3f52f5accc27e900bce06f2fe9c5a05740f0ddf48c1c510fe29da5f0d 1672478189000000 1673082989000000 1736154989000000 1830762989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-189 \\xa1991d9dfa9cccc46e9a507a9a1e28b5cd99e338c8df332168aadb42e70f211b2a355ecd26bdb18472fc7137520ea454ccef49c05e27ebf667573be068e3009c 1 0 \\x000000010000000000800003a1d17702798bcecfaf5dbdf1ebf450b7c58459a6c4e9a9e9561391ce9d74d82d522a3a7d3aecf99d395cc91b48c2221247509c543170919c518d49bee400274696a442cff45ee297a868c9e6e6e2d1c4608925bca76c6adedd3a215610e9c29ffeeaa40d5f5cf7d5f52c4bd83dca5111285438403db99527b28ae3f69f6c7be1010001 \\x705edecf9e231a586f97e8678b1823f5014a0ff3b8e2b4e75026db849e0d69ab3d9b591cc33bb08c70164528a2a4d50c95258c2523558e74b7410e084bc7220d 1666433189000000 1667037989000000 1730109989000000 1824717989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-190 \\xa2117a7a1c5865da8b30531272502c609d5d534a262f0c6f9a42a8e68a772b173a0261096c44cba49db944e91dfdf4269edfdc07be248a0a18b236e2bc1504ce 1 0 \\x000000010000000000800003c1b44f4c80420e847b0eb92cc62fedba51659b8b9f9fdb726f9587bc569966f149ac054bbbe024e405fe68f585f6844b1e65000e8d66b919a4d0b9d1099fc53f402e058a28dba3bca7a7908b26fc468c3b2e9f132d683fd609dd944de66afe2bf98ff4397e824106654fe9e586a4aa986875e752af9ea2e1f5a001ce42a6d8fb010001 \\x8213299c8927ba8e8dca7eaf88ed0070e0febeebf782c6d2cd0d862631f4fa6edabeed35e338daabd6da693428b96b7abc1dac51549e344fb12c448507eac404 1690613189000000 1691217989000000 1754289989000000 1848897989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-191 \\xa4050d4c2b37d7048045ccbc5a598beba58f2594aa74862d301757845dfc28e04eb9d4caf425c2ac7f73ef392157cda4c26ed7ab111fe3fc11a559f4c50d7c7e 1 0 \\x000000010000000000800003c27da065091f3fe289b0b70c03e211caeb9943aeefb8f8353b3d3bbf0fa2c4e70541c7ed8ca1ec2eec1eacaa5b0e256cf34ea24712263db089e85d7cf68f5c1f876187a0f4513e19a165e2d495b320d4bbf47f5ac3ecf7d23b8be1af77d11e88f6905378449127eb4c5674b095fafd324caac1395c41b9b7377a7a08355c040d010001 \\x4b8920e35be63816b0f606ccd665342d31d539652de75d7c3dfc86bafa64481fd28a59b50878b672b31d1e64633f81eb46b7c53cf233ff50324cd1083b852903 1676105189000000 1676709989000000 1739781989000000 1834389989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-192 \\xa565b1f35774632f704439d818e76cbd42d0ee8e8788cef9b2d389c17a8f7d15e8b65b3f7422b048c80ce2daee8cb77deaa43e38a56a8af7b8618101f8d0090c 1 0 \\x000000010000000000800003bfef4d20de05716523249a5a31c898a63b41eb1b6ea1e42ac0a6f38680874528db4e601390962a392211647ead270379aabc1a8b733d213ded7c6575f76c162fc19283604ff8c664a5cad28ae13ce0d5a54b05ca1140bac7969cbfe25eeb28133c64294c50a476ea77e48f123982f2c15dfc7edc1e333a73a4345956bebf7289010001 \\x3908fb92ed9a1055322924d0f46eb383a6260a36802a35fdfc9c80a4c166049934046e31aab20b967e484b45f5b983156f8c637f08cf865dc5dfbf6efdff6c01 1671873689000000 1672478489000000 1735550489000000 1830158489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-193 \\xb2c101cd9e8f93947e6f640413a513f40024743f9d6e3e1753f8f4d744f582e72d5a7063004da78d04d807e3092acc614fe002e637659d64d9a64c3492c0ec4c 1 0 \\x000000010000000000800003df043c0858bc784e1f49f8b2a72d5520cb36372f676837ffe68e86ee66cd4005cd3c8a6763794bce91db04666560088bf1da10d89fd14e2aece571c8c32d2bf882bd9c2bfd42cbb1cecc87a560c6c6a8dd00fab00c641226312e0a34f27fb51df9c53a414b7c572fa90fe7f19ac914fb4bf32c0dffe9f1e283211c4e18417179010001 \\x4ca5adfc16a267c021f520e0505d169eda27a0ff7f798057f252a9d5bb820183027c5172c343fe53d189f894b9a53345268e65bf53fdd77687278f752e459c06 1672478189000000 1673082989000000 1736154989000000 1830762989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-194 \\xb36d9414b609ac4f94029cbea4d06e4d71909d2ab0ca3f3765fae521bf2eed2918f95de2a74a2ab66f7b10a53547fa6b90143218d8394b4ec38493639833ce72 1 0 \\x000000010000000000800003c1fed7522b2c1115ae20a7489bc674f61e5a0b46d6bc14a256453230e090880176d433a207123b80f18097676bfb0f56d1302ef5eaacd4a61b8f8095c6a6bc321d4cc701e0931d0224c8748e5f453428548724ecd8afe93a16c10659e1980eedb091cfe42388839e9f48fe2aa96431f97155e0ab296376cf62fbe8bad87da73f010001 \\x4a7ab9233f538ae602a5463a8f8745a16f4d0c07e9351159143d4ad127ffda26376faca91c9ec8110cea78b75c60cf8b9e522f2a095770a4380734f245e75506 1674896189000000 1675500989000000 1738572989000000 1833180989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-195 \\xb5cd23cbf9abd3b765b22750b2296b7c9e1a25d71b6df3e1ba8c30c9d7948e799d8df8da82e0e8680bc63c0ef9633fecd1c5d46e16651ece8af072ec289e01dd 1 0 \\x000000010000000000800003c9a78b8fa1baa55cb1e599c4f69594448a2fc56f3107e33d3f0a0751a59c77c0dd3b988a479686300a29650932b3a9388f50ac9fd731ea375fd4b01227b5878a908adf012849b73553766059d2e4387045426e0a628291baa7d0dd0a675dc4534511d848f0e102ea42fd9c6af872c09ddb414d73da46f5bd4c16c2545c5e18db010001 \\x286fa62bd8e4519e54dc69fb31350103f9e26f162429ca6c003e1db7004490146288545927e0e1587600b3cd88c30e0590cef6db87854b95bd40b7f8f5b4860d 1688799689000000 1689404489000000 1752476489000000 1847084489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-196 \\xba212630bfe6ad8d5e9e5c985e28cbc5e7316830c44dacba932afa9e022172bc2cc1c3d9908b5abe7e00e6e40276dc16c15e7d44c14d972c691308ddea8f528b 1 0 \\x000000010000000000800003cf400af9cddec7e5e102947336120306163a72063584f3a07d17f9e49cc091cca9e8a77adb6f538f0e3700834429cc89faec4ef78baffb6baa5d2eeb1408515bc5e74453b6c8964bac8b1ee4eac1f2ec02f8db8341c85ab70a1cc867d404e15692f4171ce99cec6eb1bf9a4bc0505fbce9c8b12423780834d5383f4f0ca75183010001 \\xfe8c52a59f7e6a2ec9b10f3b89e71bb89b6a731fafd9ef304273479abbc824e59806d1b3d6a4af02517e993fce32b5950cbb47f61cfbff424f56c215ad80860d 1660992689000000 1661597489000000 1724669489000000 1819277489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-197 \\xba7d6171624d79ea6392c7c3965e5b69dbfac45e203eee374d4c669e7b25f262672d09b0b95eed145041900fddcea3415eb21b0a321aed55d220cf3ff283b821 1 0 \\x000000010000000000800003aeb975b5d2870bcfbe74bdf201285563f0d3ebe899a82fb40e86850717594369a10b0ce857850be0c775864dce052ff7b219b1646ab7a56f91d524906a423abc31653288b6f17139ab1fec5684a2414a2d2dd0fd8862309cfc32e96d054db2b35f846d9dff686a3b4e61b21ff0b7a88e83e7bff62fb06a2ac1b3a2adc2e2dab9010001 \\x195fc19c2c56b7c8d28d4ff2293c6d32201b82cec07670cd0e2098f3b8ff4e7cb33f34a712432d5797990580e7119c637febf23a92bf63ccd914ec54e9bf9b07 1678523189000000 1679127989000000 1742199989000000 1836807989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-198 \\xbe01ef203cc25b0d8c5a8a327280fea39e6aedfdfc53f9137dea7d057591432baee4076b4d834bba9e8e1bfb7b7328c9503d88d7ee3574ed2504cd7613c8d594 1 0 \\x000000010000000000800003dd2581aaa2042431a8950cb99bc5833c396ae194414323858775e86dd72c704e48d53dd9e1af75304050fb6b32e44418721174a2aea4d0af92b05b323d32b75e5962704ee5830d5d16506576cfdb7103258c68de983c8017405c6c9d44bc2ea3550fec124d1b2d16aa5c2fcabc7f3e0785e471df9e0d9adb534d25eddb120f7f010001 \\x7367f9d7368c4f855650a5833181c5350654649f9f4f97b20756d65fc0c3bcf589fd9162537cd67e6f165e370acf42fa3123648fc902eee15d770edbb35f3200 1692426689000000 1693031489000000 1756103489000000 1850711489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-199 \\xbe412ef3cbbec1978738af26d0a119a938e89ba46bf215fb72ef6b316ca4108ae7e618a48b5f2eb25670df914e40d8582c3eb471288913b15fe8d4fca23a96b3 1 0 \\x000000010000000000800003c965f8f657b0efb3d8961c0fd1b46961040ccda4d29cf3083f46fa46f5447e683126821b5a118bae0f59e6c8bbe8eb91807d81e53209576066a52dc34f0831c18bcfd23d231a826aee65db7419ab125f2c6942920abf8b10c6dd7cf60fc29155373604f7b5a826a10fac97fe4e89d393b551e6d82254765ae93c22709bf8bc0b010001 \\x52f126ac3c46467450cafd505919f7dde84bc571188cc0e06ddf9977bd4c6757c26d620663c6b2ffd8c32b7dbc8d7be7747f525aef161e8ad94f57202028580f 1680336689000000 1680941489000000 1744013489000000 1838621489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-200 \\xc65db3f41889a40447d118803cf5a9e9050deb676f7d3ed76b9fb5f708551dc3f67b19c6734fe23b00ff767c3ddbefe9a423cadf5b9dba4e6feda31c5fbe1e93 1 0 \\x000000010000000000800003b121e7eadb40e2b32eaa2fb32000e580110ff025a07dac3b8f020d4d2da9d5190c5f2939dc23c9ae583b8185437b444f21a8f04ee739047eaa6a33af5a602ba0c79ba377a0db80aa4959f9a030401126a541b5e30b1fe7990c5db8a006c1dd7ae2299d61ba6a13fece5316b4240cdd155b1a95218a7258dd462bcada9dcbfe1d010001 \\x5c7e040c4d8db5e1141ba76032871344812f35cf8b9b023317e6ebf5c989e2dde8091f7fcc240f4cf7ace6f7de8265949f8f6890fe4f7ffc0d675624e8db7a0d 1668246689000000 1668851489000000 1731923489000000 1826531489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-201 \\xce8d77b970ec44450566e6ed64ebe74993ba9089e81a3126e26ebb0c1161b1850a7128f0f40ab69bdbcc413f9c6a5797e8dfa4ce8c22295c649fe37da35ac28b 1 0 \\x000000010000000000800003c96cce19f20904d22f23c42576fc5d14be8010c45aa5580645f394891db677cdb82831789340a56e0905fbcfedf5c3ca3cc2812dacce647474cdf64fc6a4b980604c462bd07addb31666c42a9b24cd08c96974bce653308e8d2d33a762d28932aea2dad4a17e82bbe17c467210159cc8b16833769d05326d720f6d8e2babaeb7010001 \\xd309b9d34433975f582301d2183439adc85948abf3f3b7df1f2bb86824765bc84228e443250f03397a5e6aca8096706766aa2d5c9a30e90ef3847efd44c3fe06 1678523189000000 1679127989000000 1742199989000000 1836807989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-202 \\xd1cd27b6a8a7099ade5271507aa5ec3df3ddd4a580644fae2d683c2e3a269fb9b8d3df10c2a01401316c4b177f0c1f5a24eaf8d1fe75ac21a866b5029f23e28b 1 0 \\x000000010000000000800003a364fe58062ce1547c001cef4cb4119a80b1ecf0ba75b8efa3eb3104de4b59753e0150337908abcef05371ffea8ce9c6c0aaa85c639d9f115912a476fec5a2e28f2371de15e708abd5c7e8bceadc10502046e76c4a61ce3ceb359138f40a4a02c6a2f39d3ccb4c3b3733ca6f7d2d5c75afd56d796b84b672523e87f77aa4cd99010001 \\xdd9a7bc9526878964da55da4b89d6a4577c01e8bb5d4cf5fceea5f553e9df2a9cc8d32adabb94949446c66c29b84bf47f8b0220f30c07b47c3c9637cb7154902 1671269189000000 1671873989000000 1734945989000000 1829553989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-203 \\xd3193f5e3e60288e2593a9df8ee608286f3ba67e4f2e80d1fd8f86ea8429a12fd46a9eb736b7ca2bbf43c56b16444b3c8e449765811423f15b00308bdd18e4b1 1 0 \\x000000010000000000800003970dd5bbcabcbc563210dae90aeb8d37dbe9768816ef668255aaf57ddf489c66e5ced5bdcba7b649c23a2f97e50bd52ec07d58185cf7c8c6b27340bf71af608df0110be403b18d0387fcd33ecbdba012bce3a17d81305d0f499cfe2767800c818377c9938d807034542f8a17ff47b8780b0e89e46b56e098dc82d85ed0e1aa17010001 \\xc880571290e34bd5ad70a864eee1abc8dfe24af390480d36d734abe20ba8377d0b7928292b773e0d1834a54668f4271fccfd4a1b6b981a3c4f37914b669e9109 1682754689000000 1683359489000000 1746431489000000 1841039489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-204 \\xd40dc8bf0fa98b65e3973e80f1c5db72a85d4a903e22e4d7e6b9eb67981ccf2fce0363ceb15ae8ec3c60c34e61fa2bf5e9b667bdc52b03c3ff07aeaf8f4f2909 1 0 \\x000000010000000000800003a1ed51febf10854c651f09c74c66300252c7562b4862c1063a9a1a27cd71d5c8a45a13e4ce34e4159ff1f73868aa25830d3dbdcdcd4ec29a8b26e23ffc9088eb979d215af6026ce9c4206afd6ce026a37b9953a60804b6f9b94421b915c7f9c93f6656f230d57b175e0c1ba8b1289000eac252ed6a69dade58efbd5765440a47010001 \\x6d51d1845e9e21aab86ba656a5cdb25036113e9e1b2f33e2048e59c9b743435c9b5db3265572c60e147ea681c694691dce600b50dee7b6aebdb64e2ae1303f0d 1684568189000000 1685172989000000 1748244989000000 1842852989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-205 \\xd8b1d184ccd59554fc27ba64d79cbc4775f68f13f0bb9e1bdc4f0f7400dac1cd4cdfb281037d2f47362285935a62b94a43859478746d8478f6b09d82f5ab87f7 1 0 \\x000000010000000000800003a198b6f8d64cfc14335217c82ee7d111a4c223e20912fcc4db135fb394d88b989f32203630f98a3731eb338af526d45b99d2adca4b7ad264b54a1d3a17a8ce84f814316e1188a86fef44bcc0a4448a71daf7ae736e9d6e652267e7f44c4ceb19ad8bc3432dfcdb3601d6600d376e1a5d26eda81908f4482cf6c0492de8313c07010001 \\xc28001db803b4d06e5accb2f3e759f6032b72e93d9c3c23ba1e7181b32e0c8cc452dfbdcf46eb12af0f7ac6ba167ba9b369fc2581ccc398fc1afdf06f7e3e700 1669455689000000 1670060489000000 1733132489000000 1827740489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-206 \\xdbbd44a9e2efd926fe7ff5c70a4f22f7e73cbd1d2a8841796ac84cffda87fa941a45160fbc9b1816b427177b826f2e8df1a5ead35e001b83199c6c878dee7e25 1 0 \\x000000010000000000800003dcb5119267d1287c977681730bb3753a19d81823ff6bc1f11d177803e993064c71db65f2144c0e8776c351033ab7063550741a157f40928131bb275772bc2d7a499ea69d4dff86b9e2ed66262b29cf3a3e2052b44474113339a26a2dd645ef150bfa2c741ffb05747b9850303c0cc0c5224c1911e0484ee40b57612d35d82fb3010001 \\x3618dec4b512f5bef63d12ceb9ab1b81854c814d25f56d8ce79f2134fce7c14f19f04d56c59c0e5c32b36d659493dd819383ae5edebfafbc9f76c9f55f00d905 1680336689000000 1680941489000000 1744013489000000 1838621489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-207 \\xdedd19d72070eef87fc67b40da38ba7e6476f33331d85d090b67086d31586af050d46fe56ee3f61a2a88aee1ad1561c83c58eefa62fb5aadccc0a60c7be17459 1 0 \\x0000000100000000008000039a7787f012e6b5ca370ca004c44b943da716c0b12214bb2b9fed864a4990aa9ceb71d7596f5adc41feef4ae13df95d7812efc2b492282c1c4f8a14d4db69259c56c0c0a3c3a1c785687296a262027de067b5e3ff7843306c99055d9eddee2a0c6ff1cfa0ec86536b01289f6f073ec44f818d593b6e3fad8420d0d2ca017d2fcd010001 \\x596e4fa87d03f34a43b22444b950e49c0b40cced09d2ce78765b6c2fedea30246e596836cc12f9be6e49ec93edd771a9e18cf012915bb0d3f03315e4bd397e05 1685777189000000 1686381989000000 1749453989000000 1844061989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-208 \\xe09948b48bc70753d9654cf79ad0475c1372cfcdd070e6b8cb9d00f042451fb9760c5c4678342702d281b13014da4b8024e8c651cd576aeb694b8db3c06d7797 1 0 \\x000000010000000000800003c1e9bbb736b7c0fa9141076bfaee407367a7fb1145d6feff497affa712d0959e01d4e2f2ad4ebbfd04d21975cbe67c116876406c72fc10a6b17a19520d045618ad9a2b97becc27048fd0be464937e659ae9c78f7c0c854443b4dc317c3f605beb7219c29a6809e44d82e3fff9240819a93d384f53acbebf734c16a44cd299117010001 \\xe792efec66dd376d028f780ba24f296dd17b76ebd114d431e792675f76c5644efdf250eded7aa781c792faf72b8e525a740b75b1d9bedb5298b4f3f5e60d8303 1677918689000000 1678523489000000 1741595489000000 1836203489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-209 \\xe01d4252283423fed6e66ed573b0f2512f8f56aa3c9b9aead808b29dc2dafdf4b7abfd7bed09f5dbd6f2f75082134bc3bf00122b372e1e09faa12a9e175903d6 1 0 \\x000000010000000000800003b9324adad2ac7d04333af0aeaad344aad0147c1387798b6bcf88c5c46f687fe1441dd0981c78ea3f1ee91225ef438a508c73376ba69a91f16c3dcc6f484cd624ae3103b57c5576441dc0d4896eefd081cf2bd57d04fd25b518d5fc1719f1535420f806740e46cdc54a960b775f97d11847c7370c7ca8da63f960ea1af7b6fb51010001 \\xce3d96f1aa53711dfc9106cf93a016fead46b221fae461d6d9ccbfaf9df20ef2e7dcd0c7d0c3c67dac7f64c872b5f35986a84275d932a0c8c017d23fd5ef4d07 1661597189000000 1662201989000000 1725273989000000 1819881989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-210 \\xe5cd15f40c0d6378c7f2ee44bcec3354bfe4b586393b671ce08e398ee78abeb6f56626e58d3c0dd7df346c1fd3b952cee23eaf6138e05293bdb922d4e0b40c0f 1 0 \\x000000010000000000800003df0a1ea1643b8983c791284676a52651e7c617102e30a5380fd083adcc07f6a297c39c122416669ed67e951e9dec069808d3bd811f31d0bf7b4651b3fc46b736239e0e61cba0abc56a651b77ed29ef9964b6a015d8e364dc48e62fa28fb10c5b713af3fa2a30f9e3c84d06f882cddbfa01afe1b871ce00e37b50a141b48086a9010001 \\xa97ab72369ca64e660c3fe6723da44cf63c7a9c59435606a036732ff15bbcef0d23801692e27276158190c2c52473dd55269d4778156d4a837082195cbf89e06 1691822189000000 1692426989000000 1755498989000000 1850106989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-211 \\xe9b5958265d2a4916b122dbb9aea0ebf306241047272bf051cf40a9733b144dfd3cc22cf3e610aef58f68bb868cf3b594ad6eae6314831e9c3cf3c853e8ed895 1 0 \\x000000010000000000800003c99a8fb1751a274c0d14bf1bb495c29c9366e6fe00e06db14c9255ee8b94b2943198446202c2cd31bd5f69198f82ef451d7a974752a9a85598a464fff8f26c8536467448e6b5021c4b2c996cc5df67a6083136c0b69ffc2e2e5f2ac56456c919f131eca9761b6d9a2d61fef828356f8a2d5cf44f558fe413b2c52f443626ccd3010001 \\x08998a4f12ea2b260853fa7f2b8b2ec7e0f1dbda8ffdb64a28775a619ef9652bcca36acb448645253e48f8e8e892ceb807156b471f958f3b1537b4f3fa5d0d0d 1688195189000000 1688799989000000 1751871989000000 1846479989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-212 \\xec3901c9a68afdba317a444b0cdefc832ba0e6451df89eb277cd77c4d066e4dcabbeec2fa8e736deec755ff404176ca8af418279515d57fb386ff268526d59e6 1 0 \\x000000010000000000800003a67d0d3addf468ada872cbce26b0f262185bf7174e2210a4089b9e52858981cd8a74d7eb7df673eb5bf58e1bd2fad5c23a7b6b2ee3c0c60a5b9caaa4a948e45226d8320f9e5864660308ba86f6643cb28a8b3bda31c6a95e8920b54966e93477a5523d2da450c2dcc5853e9d3ae04fce85a980bf642f3c2ec03bc8a3061aa42d010001 \\x6fb1999994ca1c3cb206c3380fc870f6c91345e322401a544c19974107c8ca4e9dd3a1ef0e7494f2f53ca4bf121c9838d3ae2cfba992ed05e87f22ca812fe503 1678523189000000 1679127989000000 1742199989000000 1836807989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-213 \\xf4a173a2c44084e462f537e01b7d8ac5fb67134aec3af234393df7973ce85621e049e92b292b10bf8b4e4bf0b84c1bb4329c244f47e1555d55d007322b181c0b 1 0 \\x000000010000000000800003ceaeaa6c08d998ae3e699761332f02a35f3b3bfeec02ea1710d2eecc049c21df16fd7bdd783ecdf41e2346d667cb8c0cb1b7dcac324994bdaa300bbb042b3d8921eac51ad28979ea3732b32cd900ab5b8807eb3278e7e4df6897c2c91cfc1a429cae9ecfd1dd24adede33cc4e5d4d5c37c071cecd1da3b34754d5f2b2fb7ffe5010001 \\xed8349938d3a73064cfae8ee44d07c7aebd06c12b67520cadc3695e9e0c5b2eb3d5767f959397db46c925659080cfd78c39d360dae500dc4243affa15ee9430a 1668851189000000 1669455989000000 1732527989000000 1827135989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-214 \\xf55d7713444b05afdfe0da24b7a4ce789520279acb1b801639d164ed96a5a6461dfcb7a229281ec14366ffeb7dee55a582ab6d63ab21c2df9f3ab8e80768bbee 1 0 \\x000000010000000000800003a50e0812bdcc65168c66ef0d8a95f98649bedd1d287a18aef52da1bda9ed8a649ed0a8416b9ec7b604bc0914ad46fc68c042ccc8b7a964424ad1de3c801d40fffab1529cde0b80fbdb8015728798f137e0adf0186e61a459169f2817297a550961221c4e542de4af215a69c0a4d20dee19e3cbc28a59ff9698d21864defbc423010001 \\xd2dd9b0c940634359f2512f2ad0f597e2ff856f5d26a6cc1e65068f7474dc7d20b3da88144c91d55a8a65f1efe8c55a1e710fe1f7819b3c2f0549fbcb672780d 1673082689000000 1673687489000000 1736759489000000 1831367489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-215 \\xf639e0e59389aad0bb77b401f72e2fdf6afaca785aee527e26e9b81b8d87ffce7307929aeec17528915d5ff2753b84120519bfd8295962b8a1f7ef1f75dda11c 1 0 \\x000000010000000000800003dbdab50c3ac7a9f779bf3476252461fb7bba6864b62e14c3490a9045e92fae5d78c570d3496473e530389cbad970b717e36e76342c6b23ffa70485fd3d5e060f8429ee5ac505150e45c6d9c35b977c091e500f6cc060e5b8910892042a0217c204c47fb89e3487571d31f64982aaef1e620d9fe59d28cc34b25848b561f0c94b010001 \\xc6136f8615ad47d5a3a970ad3b6aa6b49fc2c3d767dd61581a5f96904ea0b17a628637a363883048f8fe5dae0c54984380f6936edb53e2309968c83e4a2d1f0e 1666433189000000 1667037989000000 1730109989000000 1824717989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-216 \\xf711bd7c4b59eb7c0f130a269d54d3ccd3133bf43dc112f93f5411de55aaa269519a29e65f249d7e5cead4f5b6564e8319f7c0587623b417ad6cadd32d101996 1 0 \\x000000010000000000800003b054086f7e2f7141b9ab8d967a2b9f51cfab760b4a030d26bc53a017e96b2eb99f6aac7b870b8ca5a986c8d9689b8bb330a0dd2d1a1fc057f81639b6bdebf0eaac9ddf65bb924da4b18b4b7e2052e53cdc57adf916e6d6ecfd3b3de68a59be6822d4ed114e816bbdc14098c81961d898c46e9b68905df8807a5c86d50d476b6b010001 \\xe9ac5ad8fb1973679780daa7dd26ce4bdbf005a32e6ffc1f890ead8a1650176983e276df7bbea715cdb97b2d0140cddfb8fa355ede5ad096ae0319969926bb0f 1683359189000000 1683963989000000 1747035989000000 1841643989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-217 \\xf865a0e3ca520bc2079bdcbfb9384afe25b61c5709f1241b5063f1ad2b94bbb08443b2a7fa3477db7c873dfa9feacd38f18fcc8b8f12e38116913cfddde5510a 1 0 \\x000000010000000000800003be5abe4a0066217f1442291784388dc1af3dfb340140a281e6a9be8b79ee609ed28e6e7ae8ec7f4ebb6691ce035990cdc925ad8f276e2353505f795b22f881a4cf56a4c9671ba74052ece1738e24c32491f7e0d6719fffc8409db1ba7271fea6bbf99cf7d70ec555009ce87a5c6bce955fe90568be6baaa1226cbe05956a5001010001 \\x80bbff85f11bf733f170d2861975b0c79b4096fb7e9d8878748c824b50d4caa201f4bbfec8b6d19576aa6f5b8a69d0ec1f66809bef7e30b89d26dcae49a1fb0a 1663410689000000 1664015489000000 1727087489000000 1821695489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-218 \\xf8957efe51752d4094ff5d1c9988f7b871e5881b570b0b7b15b8125166798cda98af1bebbc7b66bd8a1b1190e1c536b33ada01c6acb28efcd20c78cf3567988e 1 0 \\x000000010000000000800003b8f496f16305a624c8b94ba4f962200689266aebcd0dd753c7be3f4823e0fec1ccd6a31b19498b1c8bb5eb401a1ff984e3de13ea6ff3c8f76472660d4cd49e9700a18b0bac7effad628dc1c073b829867ad8d3647228588fba7cd2b6400ae7eacbb61f3639ad1a5715239236c5eee1a99e37e06a5fb94bb856b966b747169b3b010001 \\x965d5f219f24a81dfa41bfcb0cfaf63e6b270dd549a4fff6ba241b8cec64a487508ff4429d7c49fb4f0723ebf0784c56ac6c3d11fe07b29874ec194954ece003 1686986189000000 1687590989000000 1750662989000000 1845270989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-219 \\x059e873cd8447124fb4a99991c78002bb89905eddc1dd733e84d552a0f42cdf8f6294229475c94f70fb8f4624db6c42b51f91f5244953a65b7f4517d3a5219ae 1 0 \\x000000010000000000800003a9ce2cd533407181b1a5109168da358c5986084153854f963f1a106ed28e61d1441cc03d4b677220cd4fdb06517942b337611839c071d1dbe6c2abdea9545bfe83c75644eae534c020458299249d1a4288b3b6def6880579f4638e953d68f433dde972f709390a53481240e373cdd627f0e3cf7acb2022c93ce1136101bff0f9010001 \\x738ee274aa8a828f66edbaa803c47b0b3097d58529e517e31a676d62f24eb6968a418dfd4377e5c37d584a3c6d15f9b8739a06fd2a5a67fc1755ba20bcfcda07 1679127689000000 1679732489000000 1742804489000000 1837412489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-220 \\x08d6403cf9141885cf798ea7e034e51016668e554fd6c35741b66175cf403325ef1a351b0d21972a82b8f9fcc0f127a67ea4d1a96b02bf7ea73c07ad724627f0 1 0 \\x000000010000000000800003d6c638e575b6cd562f92c55ec72daa590a6d54f15e7e4a0bc36db5f69a0f93a4e11f08f2fe6453fd397e624731cb05664f55d03b83c192e14d478fd6f95668bd525b0a4026ee9c622474e8a6f439024ef272ca88de3305349bf6b67b5f66468fe5e5234198ec974be6b4cab115149333d818408c3f01007dbb06fb8582f66bb5010001 \\x71517cce6b751f1976b0bab047e136bb4038a35c316de7519b4940369f297ce9006853da62fbe4eef2090a9f4f03aa0ef799a4c3adaea56f24c2be6c9fa14d0a 1680941189000000 1681545989000000 1744617989000000 1839225989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-221 \\x09deec47be3f34ed8d1a0894c7b2f9b62a2ba22292696edccce6a7ba469010c6d04b9322c2cae4df6484904b8f3731b8e3f59cb28a2e09965db33909a0afdd48 1 0 \\x000000010000000000800003c555f889c824975b972d231f94dec66fdb2871174c36cb35743944ab94955543fac57f084ac64f5250e3a7aeab9625e20ee192d49d06a0368f5e51aed56b36340e124aec37ea50265e9b6ab8dee838f486087d2ee7346be93cccbf522a3487e74183144b448542a0c979b4c628f17fb13052492b386714e0fdd1414c4d19f4f9010001 \\x6f4f5cf46a1729332e7bb51a89046a21ed28747e6c36f66b852118563a115300069616fc5edd8679d790b9691ddef2dad8ab2998cb19582a79cd614177af5605 1667642189000000 1668246989000000 1731318989000000 1825926989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-222 \\x0a1af1f7523c42665ac326c49af7b632a4f88a022dabd55fae1c5ca22cda4cd6a375d7d43b9cca7a04f30a40f1e49c0be78a24c4459c381ce035b4556bae1058 1 0 \\x000000010000000000800003cd64ac4ccc14f6387792558a0c4b78df561bdc692f5014baa69843405e9e302b437690a3937995f7ebc02e5983257081175b842d10dd1e3d4a7b7af5a96ac959437bad664d72d4e8f1d1e1d9c52d4d30a1a9e988108b24bdd7adecdb528f5874396821eb0940a4638f236c571ff5a5cae3ca43211862ebc44a79c1de5874887b010001 \\x48db533ce1b50ce32da9d8461a6d9daafe7e8a35bd8d21031cb0d4ab8ea77b09b142074c01e2044b150867dccbc5c83d1038776e3e69eccf459781e25f4c320e 1679732189000000 1680336989000000 1743408989000000 1838016989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-223 \\x0cb6d7ab84ff0d91e3e55ebfa8becf22356d594d5999c2d43051d7487ad5cdb3c813a9fcf0bbe0e172fedb3bd72df5f8bae4797dfa5cd32f0cdf94dbca89eec3 1 0 \\x000000010000000000800003ce5f494779363ce52e031b763955a40a1b3d27fb22ee80e9136e82cb6f2623306d43c177c84b2c7fd1512762aa59e8a9ed8a03505f3b303cb11160a787ae08a9e089e5a01957c8f9fa452696c9f57f75e39496669cd4b502dcd4f433b419754eeea57b65e97984d1f913be90b9cbda14a14b0d93d8b1292c4bc1a94b4005537b010001 \\x08e1afdd377fe33256047108081ddcb02b7779de3c6010b884139e1714ec8843541179230a87e824867c74a1e11e0b5845ac2b22a72242d27e63e4898bd0de01 1684568189000000 1685172989000000 1748244989000000 1842852989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-224 \\x0f9ee96e2c190e06f65957c32463b6f259764085e075c710fb1fa0ed72b8967eebd2095953f84405afecf842300bdea1aacb60e6f2e9798f9297d819ac663cdc 1 0 \\x000000010000000000800003ce458ca27646cad94ddd4a19902f0f4899b891190b21cce9619242aa0e40ae9aa7ed99e6f31b2c115fce67cb94164325d886ac53468879bd42401759ba8df331632b8940c34a4f68ff01e509c64cb3e4832f8a2948cb66a24506fa84cf1f53fff199eb61122cc9480d713bf3ea42593fb9b0d01c07e2217e0dfcd3300c812189010001 \\xdf28170404355ab7d407d740300939e935ff21eea136469c33ee24aba0e47d4b53addb986287c3409bb6ca35dda2d10db6c65a1d707f18257e7f04c120b47a08 1670664689000000 1671269489000000 1734341489000000 1828949489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-225 \\x13820528bbe0e579409e91963db197e1671e5c48af283c0662e419d1644b48705f4e4057b2329cb17b3f2dce2793fe2a1b3d0e44a6cca9fc02550b854e6dc28a 1 0 \\x000000010000000000800003e7d6bda944584f88249471273d08282dbbb853e2cbcb846423b107078f3c09c2c09ec71fae08799f0f7fa985012087fc2b807970b65d91ab2d3d09a568cd7bbae5d65c78aec2eb77781dceaf90445cc2ca3f0ff8fa4f1459329e1754084182bbcaed6943b3d8ceb08b5563c6f83753a6cc1532e5466feb14261e26b822091ddd010001 \\x27b5c692fcc46d3c4bd5d719f7785daf8e818965eb1a566a31c1679a0a96fd8b9a9572df1ffb6b045db363203e6544dda66235c83b1d6b6aa54d05c2d0a22306 1674896189000000 1675500989000000 1738572989000000 1833180989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-226 \\x14f28648c401fad61c95c771a9c90e9a8f775913ca51e84ae9b0fec8c8fb4e8da552540852e4d3749e515aad6624d826bc08034f4ee3b4a9b4ecb01eea9c2433 1 0 \\x000000010000000000800003c8482807a0bc38cbae7d9f62b2ee2246e7b81d9c6f1c9abe70fcfc5810985c07ecf04759d78c59f31cac100cb0dd3d88d0de14506cdbe0d8de90abbb28630157d4c80767c809f9454827d0330cb953af7b976bfdda5775c80780b7b519e90d4c8acafca9a04fab3e98a307503b34be7d43215595619dae9b397753ef38650987010001 \\x3550d255444ca40fbb033c46602f0702714903054dacc7125e652f19fa14b5adbc88b4f20263991d8da86fee8ddf9108fb6595e47f2864c53e284f1303050005 1672478189000000 1673082989000000 1736154989000000 1830762989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-227 \\x15a203adeda6479f7902fc58668040f88b4b907fec6382daa28e4367481a59db3d41e1c1e77d73c9a0317a2cb3eba51140030a30e3fc984d457c35deafb417ab 1 0 \\x000000010000000000800003a8e747961dc4178fca6e384c3d8b5a2bffb3724c718b68a0981f0c14f5089cad7b011444f07b5f406757b6766b7c6db3a7df759fbdd37dd0763ac404f47e066be29583cfdedd055c8e4b114cd83957d36c77f642e9781d626794759a70ea73480c8a460a7df4e781730d7de5c667be1a2d41233d0a52ce06a136088ecbd16071010001 \\xa408568ca3ad568a85af441a9e8248183ea7af27a9d9cd5ce8876665075a374da8429166939758239c0b0dbb6806a32e6abead69f512e0d2ee865028ff66c90a 1680941189000000 1681545989000000 1744617989000000 1839225989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-228 \\x19feb06c8a641395dbdc682461879d2966f50a4ea9f89a4f3ee0d5756e45165827d317592f53ab9e0b6d385cb6f39f1faf1e873ae4d1c112eae933dff97db337 1 0 \\x000000010000000000800003b7d8f74617844d9f8cc7cdc57d717206431957d3262299ee911e1a7e015ca582d24ecddf324e5ec17636e739e1cf9d8b5abfd2da9c9df876f43c098872bcdc6ee05437bba9cff59b7500362c1e7f7542e4e2fe0c1ce45134175f4f42f86b5e349a1606a28dcd9ab15a05acdc7dd5f2e41887c9a371f81544422d4f8603f1fa27010001 \\x85ea85a114dcbea7507c7d6a999a86e9c06f55d716beb33f8f492c2235125eec3644b951c117863b1023bbb67f352cda9e3764336b410eb758fb9025a305a604 1679732189000000 1680336989000000 1743408989000000 1838016989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-229 \\x1c3286b5ef9b965fddab1df91813b5c647f6d60db64f6f8e676b9cce8360b695101e07e815f054d499e686344eeabf36e631f9ef03a54a7b24a080e7ae748631 1 0 \\x000000010000000000800003d6417318ac882027579dd8fcddbbd676d78e48737804259a807aed462974d7383359f6833e69c4335047f7e7bf76bb9ef3aa79dff94545886fa846a8a933973d3ea27893ab497657a5d077c80f7da58b407d67dc875af1cfdadef0d62867b0ec7fd5297305a78077898b9f800c4da1914b67e6aae35ed6082e9c2bf3cf7c6e19010001 \\xe54be29a7a87f6c4aecbcaa5fec276e08f091fc7c03dff36f62a84d02a96b65e94940be348a4333f6ba464f21c42dbaf5e8c4c3404367066dc90b7c95a485308 1680336689000000 1680941489000000 1744013489000000 1838621489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-230 \\x1eb6b97c1fc3dbabc08d41e07ff3bd1bda7bbf585945e767b1023a6a96e44909524b51fb28ac4b63ea667d08b40ba68e844a2c578594233d4d9be9cae96b2189 1 0 \\x000000010000000000800003a4a5749c389f862b839a3d2d06d6322ef5c758a6529a1a09d0fab75f93ca24bb317bad69bf9001094141bc879ae2642c472870bf523870358f01eec75f51b2697afc9210357d557d499e189fdf973c3fdc000850702fd3556223a947c8e15597853311bf1b753526f26e2cf77352f89e30897e0d1e41cc2377596b761f7f3cbb010001 \\xb5b7be6d34f755361e3882ae945609fca4d27d6c4d586e9e594d544c26f1677fc84927c1a78a39bf665d8e16d681117445907fb168dc86f590fef42a4199a607 1691822189000000 1692426989000000 1755498989000000 1850106989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-231 \\x1ed285a261a708146d63df9ab3d2c506bd07cf49dfd7a267def391783d1bb15074fb06281e6d9b7f7aa9a0a6f2af933e1cc220ecdf80b3b9dec89c41fadb729c 1 0 \\x000000010000000000800003cd51877b4c87d577e760a06520c3f388b5fed6b80e10befca956759a510865771c89f7a5a4615846261480dc554f4f4fcdf79eb77c64f076c7b80dfcedcd173a1f4b2f42bc65514320f9b3c3a05ff5068b262c5086ac2fce4ce76e8385ba603b52b7b68742872777875c5ee377fb62482616af462a2992bfc10677b5b7e85829010001 \\x2a58c6280b30e3ccb801bdf6fa821953b2c2ba247688d0c2e3789a5cc2dede5332f82c8bf8d14fc308d372415dba165c79293fa3f6ab20666bf120967d1ea701 1690008689000000 1690613489000000 1753685489000000 1848293489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-232 \\x1fd203471eea282ef7619c9bf68c55781afc8ac50ce1d0bea753bb112ce87a4fe33dd57ea8121909d6fe4915209e8a456b3209615e56740eb81b43b9442eebea 1 0 \\x000000010000000000800003dc44ee0539a5d35369503c89eef188cbeb531325e3c7966031ab18549037c8e4922d8c0cf1ea62e2ed3d2ba380f5791b77974d8599449342d572552642e927f3ad28c74502a1f8e015d4a7c5b3da7bceaa5f86bebaa27d52891418375b939d328068f02d84027b6715e011546382a7bddc5b9fcbeda05879279cb0ef47c9646d010001 \\x806094064ebfbf0262dda7837d36ec3ff4e8b099535e7453edacf04b0cad649015e87b0f35e4eac2acd0633a8b315c2aa1441dea0781d72c27c730224d0b5906 1665828689000000 1666433489000000 1729505489000000 1824113489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-233 \\x201eb4f480f9788aa1e85c37301e396b3965f770d15e24d1a92e271e46cd7b60ffd8d8d9be1c558d22fc465bbcf1dd632dea672d1bb2d9c40ef53cda603dd4a2 1 0 \\x000000010000000000800003a74c5f03c5b49ef14cceb40fe7d0b4dbd5df34c1fe04a023c81f3a056846e106cfa84389053b0d0374e98d7685aa1b6f710d943f5f138e128b6addb7d156ed120e6a27dffb0f5c53feaee5c5a3a65570c6ee3e752a1c2afdeb91659746c499537f01fff01665a76b45d18651739e79888b162a417f92e3cd28e6dd503557bd93010001 \\xba489d5ea890fcea18dea956a8376ab3315c2c52c95343a1ab78d2bfac55927d9d00dccb920fb131a3cb6d78fd1e9676dc978895631ce80a0c04b9befbcfe100 1685777189000000 1686381989000000 1749453989000000 1844061989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-234 \\x26e6834dee5d6aa3ff59bbeee26c830cd395d1b1d40ab8c64d9ee9d1ee299d76b788dbceb525b3d655db009a47321ab9af67e811ba863ab82d359d1a273cbe43 1 0 \\x000000010000000000800003e516a84ea1b64fe093521f3f2027108f652f0c0c657f080201e33ab7864bcb5ee57483136b2286ab9a2ac8f079aabb267634b5218b5b3a6a61df0d5092d18989180306816b299f20a69ed301cf331b9e8ce0a8ee5e88ee56ebee700de2f79592a0212324339c0f0395045410e571778024ecbf25661bd465bbd1db3b81d832f1010001 \\x58838ec5fbfe639ac6f517cb0236acdb6c3fbef545c8c5685c224dcd61c2ee567cf94732c63645325b484af34c019f9cd4cb32a19413c5c1bae8ea21d7f97804 1668246689000000 1668851489000000 1731923489000000 1826531489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-235 \\x2aaa6914753dabf14de81f1647c3ce271870db6b968fc5474bfc1a16a3294a33fa0c05bafdfea8e4fc8745b60fc009811426f8ee4532ead096af4fc5f6616f5c 1 0 \\x000000010000000000800003a58e2219b38d877232df0c9719333cdcb58f57a2ca001a470eeb13120e17cd2b40ed5b5c8af66f017d53c8a1d3e504b932ce55b5d1ac307af7c326baf36186ee00193c78e50500612bb2b2eea0d0ac6fa5a8c87826ba10291ac37840e9241035b732572a13077c78b3f19880ce718076de2bd0aa964bea0ee5b30c33a899fbc9010001 \\x4c6dfd9cc2398adf7637de50411ffeb2bde76089e54277b09ab17137ccd2ac738e49883d895d4fcc041b4cba237bd108668691a5044b13dd1932047749927d0f 1669455689000000 1670060489000000 1733132489000000 1827740489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-236 \\x2b4e9ccc9b1c264744914e83d7e247036b4441330bf39be700f97cf3b1fee2981534e89d0145057b53ce6b064248f9f29131401a314fa03642a31f8a83c643fe 1 0 \\x000000010000000000800003dca9da7eaa0a09e69b11870523cdbe1ece1fd1eab1d681256e05821e9d67421c934dad8e9ce37a3c00d366b6541b3b1676226f65424662a8130ada26e31edf96ce0908c68cbbbb66330996b5f3f2cd80eb178dfa6034a5f6136d8574437a107c6c538672c7d044022fa62bf563016f10a49661f1eaacd7b2b8ea6559e8ef35bd010001 \\xce46b919a257780f6de6d368fd8308bd9b8cbd81bc1d562d9ab528f9a494d4c27cbcfdbe97dbad427bac804906fe80d899dddc720cd2aa7378ffaa8e942dae01 1664619689000000 1665224489000000 1728296489000000 1822904489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-237 \\x2c1efb5016dcc48f4172609c26df505c3d33f59b2a8d417c17139100ca3070af1a5b6346ddee21b08e82d0c7cc86ac287e622c62a914bc3ff00bdd0d30a1f57e 1 0 \\x000000010000000000800003c0927bd710d686abe2661219bcf376a8ec43cccfe52f2088233c661b105c8162f3370091d69b3c4483443669e7ca47db7de7b7749ba6d3b47d69b4f886464e34b500c8fb85bad3ce7d832133405c364076dd969569f1c5658a716eb6fef4045b72f790a426722b08d08d25f9b5aa1ebe3b6d9b2343df4a4458bd58813c7b1da1010001 \\xa7ad616d3446f3cc386a93e7e22e79c180d6092d0f41fd638e7e78114b4b35f1595e16e9cca468fb8a8674f246af4324b6debe748a75bf2cececeb8923c96406 1671269189000000 1671873989000000 1734945989000000 1829553989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-238 \\x2df2a980c3bf7b935c56fbb9fa9228667d95f50d913677590fe3cdcb33dfc2c84a3063f5ec1a0d3c31505dfe8479f8b909c31529579b40d4dbe9f75917eda87f 1 0 \\x000000010000000000800003ca7ef5d1268f4b53cccf8dc66fc42d062f183bcb82807fc014050136a5f0322d2b4eedcf6c348260e42d42c0ebd0f083b16f95c28db4a48d039cfdc7088367db8bf721110a15638a6daaf91fffcb3e7fc0149f87d871d7d3b2975950c93e3c93b3d257294f8f935a91ca262672244f983e1157da64d65ce494eabe1665b74a65010001 \\x73b4a303645e4b21deb856e602d80a41b41914d6d195e86dc4033eddd5da0880b03827909f665846c8b1679a9ed2d62b21a340e9dd0757b27b872c5af7dad00f 1667037689000000 1667642489000000 1730714489000000 1825322489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-239 \\x2eaa21cd1f693f22830acd76707eef455d15903ece53c4f0e1a0cb902ddd04cdb68fdb4b8298c59effb4b94275c1a6cafd00f21733a9c9ff755712734aaf0ff7 1 0 \\x000000010000000000800003bc9f0566f959e653fce223954d1c6be842c8874908f46340d4bd3298f7e47e13fbc238cfe3a4a640c87e7677f6e0829474a767213b981fe5fd7e4f8b4f0d5abdbc00df6116ba61da61cd26006df047e96332f03659988b51bbb24f083aba39e7e834f78044740551af2896ea8da7aa3d822262be982ae7652255eee3ba30febf010001 \\xc06b9e9ef764de3f5f6f3dce2b5d3a76774d5c56e2746a160a42914665c754db8c5f5ceab08bedc8a713b582ef54948943f9a4a53d6b45362f6033a2cd433d0b 1675500689000000 1676105489000000 1739177489000000 1833785489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-240 \\x31625bfb88ce48a350303d3035c81bddbe73aa9a819c8e0635ab1583590f8c9cb2547cae11e1fedec451271541e9fc63a49d2c4fd88c028375c5253c6f021e8d 1 0 \\x000000010000000000800003c7d2a852f9c263974734fe4cbd5a8d335095f70f679e30ac861bf58c8aac6a313afa0ee6e5c80c98f8dce9fcce65d699cef14c5ead5fa6215d6ad2efc169c1386cdc140aee2f281c1625a49468fff38782a614d10a08f593dfd943cc086dfb7446fbdf70aac707e6d26286a14e87989b7664d5ab626354c7e557a44002a7e957010001 \\xe6d992c4d532485422658950a6d1f04e845fb5e1d5141e804242ca853928f28b3758249f4f4aaed26588d2ebda85465f08607f0d3ddde197949b5b1f68fdba0f 1667037689000000 1667642489000000 1730714489000000 1825322489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-241 \\x3276ac0dd6754548a94ad3f3bdf7020550647d658eb13ef15425232e863983ed6b21c49f16ee85758be74b4db381f44a521b8567322e05fcf29e068cb3fe51a0 1 0 \\x000000010000000000800003c6f7ca0bb088d02488936e97c65b623326c766f60f4722f870055a0fd5ee4e0858050821586996cbfe8ac2914fd41ebd5ce5d9b80830916ac253b10d3d3c761bd81c247374f5f247e75bd74a1d37e8fe3813b10d9aaf6ed756bb61eca0a9a443e5edc2b928f149f2480fe7e2710472485ea73fc44d97a303ed7f913fa0c0031d010001 \\x85b2296b0649275eed6e52b6813073b2d173d8ab9e7a301cbadd38f2e70938dcbce54f84d14199edddb4e6add5ad8da73289a47e0203395424f875046c80ac0a 1691822189000000 1692426989000000 1755498989000000 1850106989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-242 \\x3452e5b0e7a8ccd1abc017dbba5ed2f6fb8f9392791cf3e4dca24ea08b2b3ee7ed1fcf4190e689013455d6be2a41cf300b0e6e8b07790c246e17ea7821dfe199 1 0 \\x000000010000000000800003e29acd207d6ce196cd738a2f4a96278a04475810954d3f07206b4bc3c0a31ebb0783b73700035b80476654d81285acbf84c7965f5f97ac185165bd83b9c9ecf0f9406bbbfea4fe0d5d3e7cd27a361172f4e0c43f3590eb64d94ecc34e9e4b797dc5bd8b517be7744cda40eee8ff4f20e738f7ec639a8abeca453c99629c29d77010001 \\x94198e6355d7edb193926fd3710a24c41bc983704a3ae8dce016ad545fa513710a07dc00053d81f85e311873f6a89a415f605c1393cabebe822689e5bc786f01 1667642189000000 1668246989000000 1731318989000000 1825926989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-243 \\x3826fb5868a03adb0d54d05c20d7936eff790c92738989e14da46497e4536488c3a4d23feba1b5ed67472ce55d56b78d7f9785334151c47060f7fcf783c156c9 1 0 \\x000000010000000000800003bf94045c40faf3f1383468c4f8659368e7996677f4613e9211948a11e191e6a3baf6fdffb3b4ed1bbd7d34fe8dc1563688588bfae04b5449544eff3f35c2d820fcd38a8fc129c2864b982e7e5a4401c7b41170f1a4bfb4c7155e69197fcdecafcec4b3b8826870288f53ea421889d11f565fb6e7511288811f70432691a59de5010001 \\x1b6b0e57b72951ef7862a5b545b8981bff721b68c54eeb2db6430bbda60d3e0de1a39c28530224a65962365f183e4b232e2a6bcf63823041c91390dfb988020e 1673082689000000 1673687489000000 1736759489000000 1831367489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-244 \\x38ca57b3f8106a332cd15a17baa3ce49d006a2894b7a74bd173acbc3ec06962726385b0752f12ff1ab5cfa5d4182c8e9cd17960f3d45937729d4ca5343dd57a1 1 0 \\x000000010000000000800003b3a38536928f29584875f5ab76a4ab2e4ab135516b53e5491b7531a83069d485203266077d8219f089268391420d23d84b641483b773867491bc0f0b6be197948d56f172576d412e6f20f122c683ddbe61604e12988062f423c2b3bdb8303a68e461a938707c2dbaabd9148016944ec46987c8be038ba619c5ffd9960c24a0eb010001 \\xf20a5ff9317aa6f86da8f5dfa45b3123fee62801b36e933f729b935f081956b98460e32379b6243247bef29c9706449a542f680c818f850495c7443c8611fb09 1677314189000000 1677918989000000 1740990989000000 1835598989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-245 \\x3d9ef38969f9b972a6e474fe83bc4aca4c37e5e91a0c140653d4895671d0ac5a75fbdf41d66b07a8935350c9bfaac582904e9d8b32048f8fd5654925782682d9 1 0 \\x000000010000000000800003bf93cc4dd92f30348afdd5cc24e6008502116ca0aa960695ab94d7d3c47c3108b133028b0c14e89d1b63c45be676a787c3296ebf9309013ee0bde2e1a587d3aaea21dfd7a9f7844168bda5fcd9ac4cac2e8f146e2eb59f70387fc36830d7b6d6751fa98507ddfc33f02d2e401eaf19e3318dca1579485fa295a14898a6ecbd9d010001 \\x71ad4f52f4e4399fefd421ab38245f200e77a8ef06d257fa3d3e9237bbe67b22a0cbc1d2a4e583fee922725e271a701531ceae6518da445f3a866d1318c8720a 1689404189000000 1690008989000000 1753080989000000 1847688989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-246 \\x3d466830b6d0123d7cf10af22443ceb7e0c1456b706745bd5ab72ff675bf1859466d3facd84b5d14f5c4066b3c1f490beb168697f9b45c537d2928ff5b41ee84 1 0 \\x000000010000000000800003d091cbba4e0d0021018d77d7227b3d9d2b2f3ffc6e3cd747b2642dec0cf760a2d72fec060dc12342a837a6779d47f3b4cd0b9c4ad18e4389c93e0a40c359ea8c298c45a6001a9457f278a817610b5ee5b4b433998ef66bd6e13e68c7df24c8b598839cc409cf5569c767e42daec0abdb3b0e93999e887791c6fa5f6cdbc2c9a1010001 \\x66f3034c4e0d5891aa941f298cd64cee7d6c28da01c70021f1b898238d9efdae677f5babfbf0421a2b53ed8f3a8675696bc67f5a427d268fc7a30014878ae20d 1673687189000000 1674291989000000 1737363989000000 1831971989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-247 \\x3f2e981f5a1bb9e6bb8ed93b44a84b58bb6dac6e209a97ec27402373060a9c51f7f3fb0563b03eb498dc8eeba4b242ddb9e4a0f132e516aa838c581bb1ac0ccb 1 0 \\x0000000100000000008000039920bd610d48944af8f3c39d8091331f89abd525a8ed0ce53f770093fb213c73c408964355ea2715c2068afbe99e6061a34b561ad04b100e40072139c0049caf9fcf56a35f140fd368046aab06619d86688b21b6c86b6e90af4aab4b796fe513f9b34a35c7a935c182f2dd05f44deea44c8a1ccb134119f503190c0143d9d2c7010001 \\x98710a2a9f74c0f3935f63fa9cbed0a15f593ad1f1b6ade774a196f2b616a0ff07e0e9af74db6ececc6455a6eb95809548ea05013121fc8b322baf327dda0e0b 1670060189000000 1670664989000000 1733736989000000 1828344989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-248 \\x42ae035b3bfe9113a26c4328fce06403d8abae27c3c2e2bf63038927136b7d804a8b4cc7c972428c3281ae2f709f13fe98b3ae11a4fd5c7df079a70259aa3022 1 0 \\x000000010000000000800003c399b31dc5626818489b086339e9ec7a65b981296646f356ae9aab5439c073733de1cfbdc6329f6a9a3537794066de1000b63ea6b7422f68a31ccf6e786414f3283c8260e139421264a16096b8dd346ffc0128517287cca40b250c33ead276f644ef631df2dfe77eab0154d38bc207b0b8fa757ebd1529d0cc8543ec24b912cb010001 \\x78a20203aaa448595e51878d33712c6811c659a962b39e5130adfc71dee1302b589b8cd1a06f16563d0c73a032524f5b54f9c2b65bdabe746d83e19419657107 1661597189000000 1662201989000000 1725273989000000 1819881989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-249 \\x430ae5fce7b1b773fc809ea1b4b24a924159e5267df300b0a1f3915545cb73fdb3bb988688c660a9318b57d457514534c728b91872e590b02e1561d13e4fed60 1 0 \\x000000010000000000800003bdfd0f4f00de2292016bd3fde95bc59c93ced9bcdc140d9b20f3d2a2f94e762029cf093d3115e486e1b3c4ea79aab21d3c0b4bb2ab27e909a075f188de0dd8b7a2f42f6554e3e9749637f6e682c5c0e56f27c84c64e225d75b04dfd48e39ca10876cc1ce2ee4660361c0462ae73346391320038283a88172760b76deb3d5e59f010001 \\x84c01b84d39020c705b3afd9bdcc5ba35292984c8df97504bb1aec079e0e361c86b2fdf358f8f90fcfd2d9bd176ea47737e0965e0af99d5aad051030884bac09 1668246689000000 1668851489000000 1731923489000000 1826531489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-250 \\x44fe9dcda061d903091e9ca42687ebbc6d68b186bec7ca35d05515da0c59bc2a3bda19053f3b18dd591156ba2900c97c23437d9c12b37e54fe573be6d2166088 1 0 \\x000000010000000000800003a7c607e0ac93130ac8bcc6e3f69dde5d23f469bb4ee2855e55a92953c29fd8b964b3f993224a78f91552f06d504018f397118c888a6a4b0af2ef5bb0abba3ceb0c162996b8e98e13ec35e50fa2eb051b5b2b73469aedcd1f43bff104d2eedeb1bdcbdd10eac3d192025a1028d27c940cef51eadf969265d553b42bdce41f34b9010001 \\xe956bf103f8e16c1f7ebc31243be1230eff896f01fd50727eb27bcbed026da48ab6e54fccf235b8ce910b15e2d41cd09f3ea2ee5d8420a981398a8baab5d2601 1670060189000000 1670664989000000 1733736989000000 1828344989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-251 \\x447a0c4f84d99d8427446cfc61b3b3242b9a3263bb62d095f831ec67b641bf7257ee1197ebe7ea805b59f92f2eaecbcc411d08e4984778c0c33139d61b5b3998 1 0 \\x000000010000000000800003c3b7d0b2d925900261d4c85f86577c53dde85ff63c4c723372ca7d1a89323e1fd54abf08f8591e2dbb0ac4caa613af0a3de976fa4882e4afc41bc02c678cc47d8518627a93a670e8b71467f7222a75213d9e3bbafe098d5ae78de98ef11f6935b3cef05bc4235d2c2b966b7aca18f0df9ee72b3be80a0578a8afafb22ddc8125010001 \\xe9d1589c27f0a8504f40ce5d49413e2136f04a92f4309d2a3bb1e155c3cc581e23683705ebcdaa09ee00fe8587fbc391551f064a3283b754ea8641f3e0bd4e0c 1676105189000000 1676709989000000 1739781989000000 1834389989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-252 \\x45c2ed803cad18c314093649a642a7445dd75b666f9fee3b0e66a62adfaa8a5b7c912c7c41d565d0eeba530117c93440f8e68cebd9982346896f3ee32533d626 1 0 \\x000000010000000000800003a46cccfccab99b75fad38a403e76abce5488c402f6ac2af77ad44b86543aba34fb43910816c501d49db1c944c478d818db363385250b5ca4e2c5d2fcfa0a424d70d9e2b026e5c90bebfce8a853d970ca2d48e8af5e2dd0542e7286de4aac1fcfd4b48189a90c74fe1bcc2e49efde2c994613ae13d10cdb2b58b03cdf49f8adc7010001 \\xc2b48b1cfbd7c355386d4591039d10e024f09d6955bad4e32a52f528dccbe1d90eda78c2c6ff8d4b27e5627ce3488e0a394348aea5287ca05d66cc30503a6708 1676709689000000 1677314489000000 1740386489000000 1834994489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-253 \\x488a9f58f2697035e36c20c4d4bb5b380d6cb21139f2dbc622e463f19afd8120356a54ed9e016b9683583dc8b3bcab229fd08d826d2e551fb89c62bd77bbf40e 1 0 \\x000000010000000000800003d224d6df98ee216a9a7a0d2446844cf49a063ff64f53d404f009d6eeafb376684b66eedb603b4b07f07a0c38b8e11bf7421bc1c6281aefc3e85e9993aeb8d0c1f941a601d425b982e8bb7e6f7bbcb1201373eccca6d9f4355f6a39559f0c9ac17eb420a5bc5d8229634570f9a494b4fd396cd2e587068b9df6a62c054a04ba31010001 \\x20b632e83cc815568e8c14c0ab621011cc8471c5382fd35f09d23ccbc9a034f6b19f364126c7cf0d716060e91c3971e2168efaf5ff3c1476293b6c73f9630803 1663410689000000 1664015489000000 1727087489000000 1821695489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-254 \\x48928b953a44b75c816faf7e60fa2535de135b08d9e5f028bc7f9f4c6b1e2543498f30c53bae12db6724cd052b9e2ef66e9b8213ea25b1221e4b849ac83ee6ec 1 0 \\x000000010000000000800003b9529f491c37b8a7f07d2f3d3e0d00f7c5a650351c9a6437396bb5e306079ab016ab211a5543c31cc00faa8409e45893b0fe1825a92bde90a3857c6340b1221f8ca11086ddd740a3126944e6312455af86c74a44de018ec52ee384932c5444edb6b958c4f06e2eff428f0f0502c3511bc65c75cd90477228a6479c8b8fb48291010001 \\x804ea8ecaee9d7366014e68b58f125ca76db7c4eb97bd1464ddeb2e7cc318fc62767888dbd4d75f91a9ec654e741467ec9d3152107548c134475e9a32717090d 1686381689000000 1686986489000000 1750058489000000 1844666489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-255 \\x498e3ae6f49053b653eb3c78cbfe8160771b22725bdeb7374ba919be605ca4978e1478b84bf29c3829c77ca9c71fb16761c8935aef14f78a792746b7f2fe9cd3 1 0 \\x000000010000000000800003bf044677f292896d481d4b37c85ce035d4eb1ebdfa33935c37aded60a3c4f2b30cac78c8ac8230e2c13dac8087502e6552ccdf3e65a718c6c66d13df1159b8650e61ebc360b2992163d9bff031f114332cf5dd6fc5f9ad2d87f5bd831361ef5bc3e8ec306c212a5db1664e9b2d0b7b7d4961e1d6fd5c6b8432ffb44d3bce6deb010001 \\x1bacb7ed64c06a5a815f95910dfc115bf30e969828ced1e6ffe139e7203273202d93e0e709d049817c02f0a29e66310e1e71eb1b891ad3492a36e0ae39548d00 1676709689000000 1677314489000000 1740386489000000 1834994489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-256 \\x52b272067d149ddb41d1bb8a624edd6bdb9fa0cbc3dd3bf030c55ddebef1e4bcfe0bb91923f9dd7c9daa4bc4dd19eb9e5db46ec31b293718e4d4b12d261a4f98 1 0 \\x000000010000000000800003c72ffe81b4e0d843fe7374658782035bfb5417d384baba79b3d9811558da0e3f45652623bc0120dae20aa7853590932caaab7e1ba700a70046673877cb0abd4a9b637a63b36442b00e725a40d637b7cae46a4e8cfe6d23049b2d80b355a1fd80ed143e423315733e8e941454db21ef92e3f9a34099918c49dd2bf8d670f0b791010001 \\xbfa26e2d2849b4a9e1c59b4f8df1aa49277aac2b8ee2b8a08211cf55e4cc95d22ec2c99cc2c48bd114242fe6cf29073fdb5050f905f4a639acbbd6d08b36ca07 1673082689000000 1673687489000000 1736759489000000 1831367489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-257 \\x54968c75e15c82aa27d77e6c6bb1d448cda015ffa203fe8506c2d715c325d4b65aed6d8f250592c0add96d8168d710daab8aa33b7ccd811d623de43438fa40fe 1 0 \\x000000010000000000800003c16a4fd0f730ce54c83b052725a047289330f17a08c57c55158c6321b067c3ab01344fc9cf55438163a72f1c9a6c131456cd22bb64dcd75bc35f18ade153d93e1d1b9ab30a4d0337fc4e17113818bea439e3de89519d148913f180f4e73e1cbec3930af923d3a841898f1131898d9ff50ef970aee9c12f08071736f70d78d2b5010001 \\x97acee2197c3529bfb6271b184aec835dd79fe7d6ed07a5eb46f7f925ffe26b9cd40663f2a6e8d636421d7da5e14626c31b930fb01afc2e088c535813216cf0a 1661597189000000 1662201989000000 1725273989000000 1819881989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-258 \\x55f6d6abfac1be90958366fbffc5f6d9cd86694ca1561cfe1469dc420e6dd15b951c67dc8ec3e3f074c302a9793d5390c2cfe0d5b7af719bb72019838b3941df 1 0 \\x000000010000000000800003c52e49cb7271e65b2dffc4233aa65d91c0794c7f932753eead7392f1290d3bd4eaee9bcb11e8eae1ffa787e83fe47bdd4bdcd08ee34ab9ef115cd99070882c8e8e48dc8ce78d2c05d8e42cdeaaef24e836f35f3b0f8f4c5b61e7ad39d4569cfedbb7ef02257d0340b997f6fb48116d917dcffec9c4223c166981974992dde2ed010001 \\x197259cc1a4c8970fd89e228a7969281ae16a181503fda7b951e6bdc08e19581b91f4f1fce50c7073adde981ecfe03b75b25a933614846e44d7719d9c51dc10b 1690008689000000 1690613489000000 1753685489000000 1848293489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-259 \\x555e6224ff0453bd4fea43bab11c9f7e25d18086abb49c8269806849e8c592bf1fa907f509f7372a71ad4d8221a0988b3bdf4f9bddb8e8f0318a2b61c5628b6d 1 0 \\x000000010000000000800003acec4d236614c024c6c5f9dc1551f9003901f9fb10b6a9d0309b85ae08a1a72ad41f428945d1e1ef5dfbc155f4b78bf5debac5770d0ac8613cefeab96207d7c13be98aa1e616a8cc392c5e69bb5b2a38552e393855b3e9fffafc512bb83bf5ba1c35d0744bf00bbea46151a3344204159d43ca2c4e80851785c5c561afa8c059010001 \\x7833b96dff8ac22e2f50746623334eb284f1ebcc78f9e153c7f44501c48d2c39762d8ec4f58c581785589399a9a3a2c329b3509d37fb4dbddc1d0b9780636f0e 1665828689000000 1666433489000000 1729505489000000 1824113489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-260 \\x5cb23b52d47a54c9f7e2595346d2e62fbbc6e8e0d97af4c0e4e3562afd4b835311c906e1137d859f11ecf07ab177393277853aa53e80ff41fba076588e2938df 1 0 \\x000000010000000000800003a8c4845a7277e85e059edc672738f7b19289cb30ca9f4922b19b5092bc453bdcaefa70f0ab897467945f51793dfeaebf98b8c0520fc4bd3f4d363ebb82f33a773f749c11fbfa049d49102317c430f779b856c7a8a1898c6ee034342cf51fd740fb86ed056cdab016ff0fb544dd8d5755a1792668e01f5ad12e9f04e0294a2f19010001 \\x4166aaa6a775a9333d07076091493c6df3eb594e4cd94520cbad2e1e8688f62f4c45f66b43ebffcde0abb18bcb8ec825afd61b3d2eb69ccdf5339d562cd1780a 1691217689000000 1691822489000000 1754894489000000 1849502489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-261 \\x5d0edbe391be3d5b3642f73dd8c8f56963fcc153172755aa8d7b806cb868aca8b836a65cb33325c59c3278ed80854522881baf72ee7ae644217a9216cd36795f 1 0 \\x000000010000000000800003db0923203a66b0a48118c48ef67e0a902ec92305d9bc4a9ccd582396e68a192209c3672760d1a466f64087ba00e7897414ba66719d75b71b30e38dc873ab3e8dfd9d484e4972aa647084b86d01876edbba00d31a9edf8b46c47010a082beff700e5962127e1c657e6f01254478fd681260f3a6ca4d9dcccc100715e6f419d485010001 \\xc370aecb1cac71208908a646f5a575b270819bea67d40edca3d05cdf8c8fec4b78dc51b261e17ce9b23463be28e69e7511edb11b9cde2fe28fcec70f9ccff70d 1665224189000000 1665828989000000 1728900989000000 1823508989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-262 \\x60164f4c17c8f4430534476dcafc4bd19a5a6d625c43245afbcc27ecf17abef713733cdbc53a6193c8300fc45395a8563d9106474e5cd8bc1160585a0711317d 1 0 \\x000000010000000000800003b502e679aa0557fe64903424adb6fe50540341b4bc4a45e7591f5747efae6bc69f3d39a4b8b438d3f724cafe16681d6ecf81f646864049b33bc83b68812eaf53ba8d3817982c64595e460870f38e19b7c5c2d049718db8a2d8152c51554d37724126186824256a1ac68282754f66780237b8709330a9e22c2fdca3107ee44f8f010001 \\x817c5f316a29c3cc5b0ff58eca3af070e6043323ea5ec1bb29a41b255e70f0a6ae2a7bd6238eb5c17886602ea3bffe7937136114b819293f27af6ad150d48807 1672478189000000 1673082989000000 1736154989000000 1830762989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-263 \\x639e58702ae829bd2ffe46371d05c1540eab9842560fbe277800cb7d36eb998eb19fd538e6e8ab7da85814af24f53e7e2ed47cf994bee7feb0c282b7a710473f 1 0 \\x000000010000000000800003b70633323f82791b893c21f94b4ffd27d823808531ce2232609aaa917cfad717992f539c2bea1e5a0cb1aee29362467f5a6d4cb3c03acfdc158a57bb4776cc02bb400d40de3b3330fac0d46f89077342f01960d1dc1c6529395f5fe2ca701f1f4e6bef0ac27eda4087106cd0da933cbd4b37e0ebb6f0b2eb243e9edbd57e312d010001 \\xddba08aa55eba65cbaadec6b7b6d79df88e7353c623ce0fa71826aba5dca7e5d2de10259bd2a798ef9cf7c2da8993cf7e730d53e18c3e1dd595855ae8a34970c 1662806189000000 1663410989000000 1726482989000000 1821090989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-264 \\x695246c0d9603afc06c882e48d366380d1c41a99ffdf02fe062431a2e5318b4e073aa2a7bd248930ee39c8f1b435a3a2b969aed2f409e378912b86193da1b538 1 0 \\x000000010000000000800003cb878e1255306eb9bcf63ed1c7b0ae86ee6e73a8085bf3ffd69810fbd75630fac597c90a24831cf2cddb301638ec7f36cf82ec8736d05cdfee87ce756449beac2fddfde0bf7df73f98fc2820b58e93f98edd88219cc39f49ff768daf7b5fb436f0d8b53777d84e2266e5df8774c282f3ecd7c227fd1d533675aa8ade5a722bd5010001 \\xf84bc7ccbe94dc7a8188336cafa034c76a1aeb5bde720308d60194c5bcc03e9fd09337f5e7e1217a68fde095cd2f54d4dd93d0cdddcc2f40a77cc2fcb07a7502 1681545689000000 1682150489000000 1745222489000000 1839830489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-265 \\x6d5a08856c037764521f6613371a0b4499e7e5cd594439c1d91193559d1217b49e24f6238caeca79b6cdd971b1d22aaa8366f87de8cf815231060914b44c0714 1 0 \\x000000010000000000800003cb2754f0dbbace1a3499ed33e66c468e73478a1581d1b57480e27dff747b6da1fb6e8c4ec95cd830aa8f8a2e89c68321f4008e31c852b0d3ca70637fbb432fe1d98ca14c48769ddce7418ebb02c0a9d7760cbccd1d98b7ee5c5ef8a1615225e9309d445c1c466f0884977f9da573fe2bb5607c55fa7d72add3fa23477558a673010001 \\x0386f69592647e502ee82d4cf0b11aa160520cc72461dacadc8eb163b53c6273aaf5fbadcdd5846a335a6f0f9b56757c7870d1bec11cf74ff67474d294f3fd03 1674291689000000 1674896489000000 1737968489000000 1832576489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-266 \\x6e2646f5a2f5b39e3203eac274e423b0bdf532ee212932d49cf88cd4c942b52abb75886f7d162a87d5d786177a89a76ebf8e5141ac7b33c9dd128eecd1fd0896 1 0 \\x000000010000000000800003ca446b605083ca55eacf2e782969fcb43b93a63caa7d52d5071e38217f4e45501c2fd00fd4fc62939e94b17a30406db6f5aadcf7c73591df50c43074a27250b240c7940211234ad4444b9c5d2ddab4506023f79124bb9915a7feb8dae0b334918140ecbb9aa868e99929066a8177d049f6c6c24c25e4d5ba656dc52d954c05a1010001 \\x3031951908128fb1a264d6cdc37f1f04e9f7c452d656ef0f6e42934d3690e4250edd82e30a6a55b76c4d05e2171f7fef5b8695b611ffcb3310664e3a92e08409 1662201689000000 1662806489000000 1725878489000000 1820486489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-267 \\x701247a3ca891769cfe98c781893f19c8db30b63ab16272fda3bf9bd92af8b0dee8d463c7e1c8c5ec019af192afb892822a09bf0b3e97431d486579f49f64b8d 1 0 \\x000000010000000000800003cf9be233225f2ccc946c08383def223397cbd6c94ada51f1faf4bd91ee5247d1a19e33ee4dd064ab13fb3c88ebae8def17da6a5c0bc58f3f85de22c94513a4824d3ffa410273f4ca755922be37161d3c99f4548ff44545e72d85b899c8f06910d88dbcc2455ef6bd1ac4885b32c07fe4777ee73e70c0973da8df7b103439099b010001 \\xbbb698f687107eb66efeb012e1e33973d66613447833c532c608ee2ae11f859101ed298852d5f7e3a43e304af5a5aff21e9dc664cf5898cbe152be903e2f9403 1673687189000000 1674291989000000 1737363989000000 1831971989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-268 \\x718a1b90e13325e0993e1552f3e24aa332f7fc27ecd9d9ea15d180bba58655745712b465f38d7f23c4a2121cfcdbc9b978aa7a917359138fe0224a6c343295ee 1 0 \\x000000010000000000800003ab57989b26f1dac50c3ff85964012107bad3db99bc1e12300c5751b1606332db4dbc3e29ff2af8cd0a8e7cbf2a67cdb9029c74996cc2e3b101754e6c6741c443735bc01fc278c61cb07f599e34b13be59632bd55138e373de8b39ecb62e377b5ea0b0dda93ffcd035ee73bc4a71dc1ef7212286142e5188971b52d1f577377af010001 \\x1bdd0eb8a8b1feb9e48eec7e694dc4aac155a3b4c26189be1d5ca3c47bfeeb4b5f72ca32722cc7a1d076d9e82d966815429ee012810e3cf5f34d187ca509590d 1691822189000000 1692426989000000 1755498989000000 1850106989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-269 \\x72f68f57fff519fa9c06b6fb29402fd8a82434cdcbb5b16cb9878329c07c12551b33445546a39b30b0ff722a8b565b0ec399b68fc69324cce75a252746823ad7 1 0 \\x000000010000000000800003a4246064a5d6d2da2bc196d956ea878f22ba7190d1f35a86e3e083899076ffb36b55155c692a71fb071c56e2bd7d2d0fd3cb278e8915e1e12be4f778d12c1582b455d1cf70203766cb473f59469fef19a8a8b70a6be6b778ddcbff2c75a7b1b2f218dfa707b59d97ebc325079a898e7f8870d2c16291135abd2476468a638fd1010001 \\x4004e8f46a46af4521d214df9b6b7ef734c689c10e06a2b90ef1de86ff98e6de0476ad3429c37be838a32956ecfc64f8228109caac7c8a48ca2f41862cab2f09 1662201689000000 1662806489000000 1725878489000000 1820486489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-270 \\x754ae4cd848f3d2e59cf4e0ee3533eeb62367712bad79b633cb20aa2883192db9787039decffe38574bb5d1b9ca0f68b4a80f7249b0098d3af19f27c0c6094b0 1 0 \\x000000010000000000800003c1d9ab4004bc2cbc4b441188b24111e20a0df752b8572a7c8443c851613ed6e3ea598fe9212744b0812fc6d49a7776e5cab680990bb9c686c84feb7ffea2f1193b9278e2fa3b040563f734a810062d0315552364d536517c179ecdf20d5f3958b6f97390c4406c664210d72316bf930147dc5748697bdeee76a7906608f39bbb010001 \\x3966e0c8986541f64aeaa2424b19ed4d578bf288b9ac7ad77ff84b955903a5676e146eb078b092c1e084369650cb7d0d78dd5a977f4ae902f68efe112d4d1e0e 1679127689000000 1679732489000000 1742804489000000 1837412489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-271 \\x76f2ad4179ea41b626933c8450ea0a82608b738574050100dddcf485f9108898747c03308dcb10e54875a4b3437bbb7d261a8bcd7f5c48a59daebc8c1579d93a 1 0 \\x000000010000000000800003f406928996c9d9adae832a38b27e41ecad9fcd4d1c43da46e550a1c44bdf2a3653b97adbd48b28b074240363397681157a8ce899187a8d28868ec1819cef74e1789afbe27bdc8e0d2b1692b1ed4bd8e32458b594fe64f7167fd12ea09b457d0d775dbe7681764252e690b83da71a14998d88a92907553fb3e290d59c767740b3010001 \\xe3cb2b6d6b93999fa308366a0788437f0002054049ccbbd91780e40782315b86f1c0e499cbaa767d9f14270aca172c7a6c489450cef6d2755e2cc16bfe58e40e 1673082689000000 1673687489000000 1736759489000000 1831367489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-272 \\x787ec57ce179b3a720aa55ee1924e1c82221f3d7e88c6e200ab7db9302130abf480fc989e4c02c93486436088b8c908ba76e31e7f9f49eacea7971932ba81bf2 1 0 \\x000000010000000000800003c8304519e88331e907aa5aa856703b73a23631c5431fbc804a3992cb2fe45e5354e94dd212ad132a56b4c53d59be4b800dd0e9681c57be0efab3854b16045d7540a5fcef3d5c707ec2e96db01d3635fdd0172f6d27ec1b242448f2027c9f4832e586023a4a2dd306f8d83cf494dc9a00dee8a82286c839522ae9f6bfd8148b29010001 \\x77f21752f2cda961a2d80f34482edaa2ec11eb1a88d6838b0b9198990d130c40d2e1692272a40ebf54ec8aa402273191d82a2f0c7135de250993cc1dbd58b904 1692426689000000 1693031489000000 1756103489000000 1850711489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-273 \\x78bad66ea1efde2f893590143dcb816ee4e140d6b4630fcff3e78720f2bc518460063774e7eb352c79d5c996a05c85e5f444c3263a886b8241fd9d9874e28a71 1 0 \\x000000010000000000800003bdf06cb7e2e5d4294a22c2ca29e8de39b510e780b35a4271b568717347c6770cb495ebee04ff5de6e5057670c368697daac77722cd38a5b0a281d3bef72cddfecc0a9afa020fce70a0e536ece4f52fd740d5263daa383e42d1f841ba03718537668db62c3f8c61de15f2ac372e1bccc15bc16f4e9a11ae0ddc5473fc7d1555a5010001 \\xec8c0e3399aedefbae2e139fd17b53b10e6c0e5883dcd138b2277a6bf7626c05072a2b6d4bc32d2a6fb1aa16fe05776ad8748ce9b25bf5d98a443964bb470801 1673687189000000 1674291989000000 1737363989000000 1831971989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-274 \\x798a172312f03a35faa7af4477d87571d7cca68f1ca9ceb08a45e3722d3cb78ef08cfd04b5afa7b0c00701fc2917f3b2fabdbab52b50255d55fcdf7352a4b914 1 0 \\x000000010000000000800003d33c744acb838266deffda22c34d2b427f1725ece872f6c8845bf2ea7a831194001cec9d1a79f05f7fbb9c0ad3fa1f33dcb6734d1cca0c9d52bb8bb134ce663fcf91dc791a0b6aeed9485e8b443839e1c99f257c11f6434ad3ed56a75bcf6fc67b694ef5b8487e5114a5f29b610903dbd15accaf23d978d6cbb8979c707473f5010001 \\x66ce6da974193cce68e6cccd3dc4c3907a1b349387e2e76d3864f3221a8ab5dee00cea2361583bf6fac170bc3743c7e5ae4cb5eacc01cb2a98b7aa6578239a0b 1679127689000000 1679732489000000 1742804489000000 1837412489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-275 \\x7cfa0ee4111c6e7b2ffb30c5d6dbad19f46e61071518242fac535ccd668c0329d3ae1df9aeaac60c97385dc8b4064de9cfbd8e01fc03ee2efbdb524b3e1c5698 1 0 \\x000000010000000000800003de26931dc9bc79c4f27a49064d84506979e1d1c82f7c5ea9fc814423da37a6ae61348b1f3d675ec8b96c6c7bcc2e4a917c284e6e924cc98ae63b747e1652abaf396752d87ce2196fd7f2875e03f35a00e88d054756651328afd53cdd359e7000074eb47e7cfc7f53efdfdec1c9941202de3fb01d8d82109c0122e3dc4f03892d010001 \\xd9ba0b2014f56d510af8a86991154054091886f02d156db67a1f63af7d22f358ef877513b59c371db0ac7ceedafde796cad936c357eb4bc0b66037257d24dd04 1690613189000000 1691217989000000 1754289989000000 1848897989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-276 \\x7dbe9e03fc0a006c2155d5f73f54f7e74f8372c5a4f74baaddd34220bf710b8e2a13b09b8b85b336ae18afb7c4f08d3c72e8b4b6d1ff2e3c4fd0567117430c40 1 0 \\x000000010000000000800003c1c02ec7ccf2262ae05110b88b4baafe2903602a5c8c8c5f601519051278edae31beb05e4fc22bc8e38015a9ab7f808377bb7413bdde55b81bfc0b4c389674ac1bf4522e3c430aeaa3270dd297fded65fa2fa86514eb31ba958adf32fe2b1909d89f45142af8cd48a33ad97da502c8f5b01be5cae0e449b3e3f0255c41762021010001 \\xafc660c914e11ca00050e2ccbee1ee75774c79d36fca5f77adcdb9f1758873e692c550223567d92f546e5aa07fa20b4032b04525142c043b3e894b3a23c52c0a 1662201689000000 1662806489000000 1725878489000000 1820486489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-277 \\x7eea160f96c523af637848b40bd1d31083ba7ce9f3066c722f426c8576fd3db9bfa8cc887a244443c676902aa45f6dd7bfbf8772392335d58645a88e6b8633ec 1 0 \\x000000010000000000800003a71d01af23a655f8b60322a0ecaff33af042d4d2a0bae73c9f22bc972b0e03ac1b9250d3d77a57a3a7fd8992f634cb4859f12291fd7c49abc3464ef49ac37c62c3f6866c069d57c9426da87f5c4c4df6d49ca335bcf09c4072d1e96368f59c162ee3597ac21b520913965b88736ae222ccd19463c2431aa3fb0557a35d90d9b5010001 \\x841321208f33be802de5b04aaf62d3e497109ab50b9d1c6ce5b4bc24d65f53a45ee731f2fa28ecbe09b56804a3df4764c2a560a6387a376f75557162dab17e0d 1665224189000000 1665828989000000 1728900989000000 1823508989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-278 \\x852a505494a023d7924756651db8254c740c53ef786113b30c093aa971f70c8986c76cf39d98d873526e06d347b55dc77d8f0b856fe8d52528af9c4d6a5ac33a 1 0 \\x000000010000000000800003e7c6b32803ad9fd3c22321fd227710ed20562c531ed9220ff047945e4d6269e54c52c1c3a15eebf71cf5eccdd160aef135171c177608ef1034af04b5e48f8d01043852a7844faf36e09eef6d2df403b3b8fa8d0baf1606db40035ae6c95b5c96aa3967b8ad2dbbec84a1459fe742bfdfb7c5aae614e59236d21014504ac314d7010001 \\xbb9336c52aa52ea5300749c19162878b2975e998bbe83dffc6bef2bc518753a0e84e92b206df3752374ff55285c44092933148b143c5a409d3d15063819fdf06 1685172689000000 1685777489000000 1748849489000000 1843457489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-279 \\x8c561ca2d5d76338341ce98f2e78ca450071bd932c4ad526dc35557c26e728240e47b459dc61b710bb104bf3e0fe2dd68ad473d4a9bbc0a4f0c2c5398ef33f57 1 0 \\x000000010000000000800003bc71833feea55ac1d88c94456b223cd1f6ad88218dada7923d5ca82093bb5702ca063b25db33167e6e9f0f73999679f6cd4d69cad8b8d8406362743dc68bd8fc700c5abf085b2e94788d89093b5565a07217d9a065ac1869339df415b8c1a9ea9d07cb7bb4da3f1901fde6fab4a8bb0d82f373bf3323098aacef894b5fd43f4d010001 \\x563638a95fc258ee230f53b38896ee849814214a21f642da8e59655ec4679cb406a3f54c5ebffeb8ca1a2ec48dc877d20526e5a8af6145e53eea95fee7fade02 1682754689000000 1683359489000000 1746431489000000 1841039489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-280 \\x8d7a494c75cb447a3452ece5e96fdcb524a75ef5ee2edb55c4b1f7ddacda353e4e85632f74c55e75bcc8311b99e44eb9dd3362df3fe34b5e3ef661c614cb4667 1 0 \\x000000010000000000800003d38d53eee22c0a2c1f6ddc7a2301bb6954dd21a8d0a94cdf610d0a22ff8dba302bcdec9d70d41f74440b045c187f1ae6055f9afc42bb096cf8a7a6b7d2692fc0310d3894ce8119bc9130de98c55b3cd77edbcb4c8ebee1af95fc1152cc7e8e6d45506ad80cc4f28a8bbf8586d51e6b1196626e77c306b22a3b3e83733af47235010001 \\x05818d1da0fa2198a1d1a2458aa592f865168db750053b12722a17ec891314627f9965152cc979cd8ea46e582788ed9a7833407346a324cc530a5bd292ffa40e 1671269189000000 1671873989000000 1734945989000000 1829553989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-281 \\x8ed6d262c73c272d0c50f0d05fc4e7d4f46476358b5580df203c40548ed22012115dbd4ed2721c72d94d1e8275a8b09f812328dbffed4356850f765cfede3ce8 1 0 \\x000000010000000000800003c622010b2bcb9dd815b2f26b5cc47358975237d20d88969beeaca4b098a892fb7b8233fc6b9f2556cff5792950a36b9e516ca7868ce8b2488af88bcb682edac4b91cb079b6463f2a228b87164f18b0f8de35f0d23e66b1ec69b5330dd82a89ba3d4951f2ab91ec88a02e969b3ed44822b02a18dd5139cbf30390528307465d07010001 \\x0637a180e924dc9ab0495568da3efe56b860fb585e317aaca7a3e4f73eb7f1a7d120fb95f0cb1f222ff310e660c61b9bfeeefc5283faa5fa506ff4e2b938ee00 1677314189000000 1677918989000000 1740990989000000 1835598989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-282 \\x8fd650ece979747b9968772af9d081f570e4483943ba1821a8b08fcecb3676b69afdba22220549f7475c0e9393c219d011fc6ee45db07e8d6732c28057646767 1 0 \\x000000010000000000800003bd5f2b42479aaf16ada14918afae32b500e891635eaccf8004d83f12ea772b709b3086b948bc4ee9ca7ab370370e7a4800b36621302a63a51d34f13687540b9e8977f2de647a3b9f9f2246294b7f29d8c599a62db0b6f7ae75446ae6722e6aa25bdf7660a5a68c9603d906cf51c24af716d8e0d4d2bdb1cca461f7cef4401ea1010001 \\x858d5df3c03a577544031b4873b37ad088287fa85dcbc174bbe759cb252147c24538a6aa60489ccf92ad69920d76614a970548c5f9f477d3bff19a96e1f33508 1683359189000000 1683963989000000 1747035989000000 1841643989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-283 \\x8fee9eb6a7816c4f004aeb8b516fc1e67101bdc58021bbc300accc9ea6548837601440ddb87c76934f73735b7ae7429b6110c35a8063dfb202b87f670aa3254b 1 0 \\x000000010000000000800003ab9f6fb0e5b7a5a1b2093c183a27322823059c0d779059ad126c313858ee753257f54bca77670b722fecf9bbe1bf6158283f2e93a78f199e5618c2eee2b05f6146baf4445953b7952c70ffc628fd7275af25d0b47c2bf79700b8edda61d78a2f75253a7ab23869b48e54bc1e993a2b89b66f765dd456852350297ef961b824c5010001 \\xd2607e2b55935a36bab75f82328b8ce0bd52043e8610f69b635194c72c015c0f18b284ab96f16c3344d62aedfc3767e2044a7effc4b34caee1321ecfb1b1110a 1680941189000000 1681545989000000 1744617989000000 1839225989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-284 \\x905a0007d139bed3a10a8f2fa73f0ad5414e169ed815d9bde8375ffe12467752ca360bf6b2d10fea3b2a6b0c4c1af5530dfc6c2a0bed29abbab69f8e54f08ec0 1 0 \\x000000010000000000800003c0871e45b7ab20d0690dd1b3889708b72367439c71b96fb91d16917e7090d09b9d09c0dfe1b0c43d4fbfc6963fd5f0292ca452d1db963488d24daafa43f2bc4f738f8a11599f41ebaeca7398002006c62a23cf327fc14ee93766e011f80bb4f7e4b85a248abb7d702343627805d9974e42dd41632dad94d23b0471a487928151010001 \\xae2d630343957b5ed0bcc4135c8d498d63ba479d30a2f753c39e31206282784a15b23f95858a55c44f9f64d89b7a2118d10fe8dedef68b9fda8ebdf8c25e4c09 1663410689000000 1664015489000000 1727087489000000 1821695489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-285 \\x92925768e8a82ac922ac88c7e2162507f80a3f80b6a73aa8ba4a1b7291f9568ab7e30c92c940026a6e88473976faaa39d73b6ec8b15509473aa96281a4c95855 1 0 \\x000000010000000000800003ba8b07db85488acd987187373eed4c029b386fae43ff3c7538112b5ac64740c7537922486ca79c0a1f590932e7294f55d80b0abd15b8628dc92330a142bf8fd5a79361401dd810a2da779f11719af3f17b86b7d64efca663f790282bca1089f9144a254dc3bd9f897cf16aa4ec6efc16dd8a7f071bce85f521ed859036ecb4df010001 \\x40aea46ad4f3017033f0db5ff6e991ef352e6f05747da717d90662077c5448ed52e03d452ab2905236100c504f6dda284aafb53b2f261fa4283399a994fca30d 1677918689000000 1678523489000000 1741595489000000 1836203489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-286 \\x93a66482fc08f529f53d8248c5325e5ebaeb84b026d8bf7c5a2c89eacffadcd87377725e4293f7320c5d4fa68483f6b9f2973d201eb8fc2c7f011f031c6fb5a2 1 0 \\x000000010000000000800003dce896d399dbcda8a2a3b795f6cbadd0172dc1aacbef752cf5a5f45d52fbb2b03d89c6d0c738f2b390c0ac3738fcbe47bd930bda999a3ee520862306fd12044cb448d20a0179a8bb0d27bbea4b67af615823d484a63dee854ef6ebb1efa9cb705b51ad757e631ac1e6c273bd0178742a22edaa84e213931f824e068e5b87d6a5010001 \\xe7a6de50672268ae35047d7ce475763c969e7d2d6e877f7cc29fe91df999df797057981106714ffd1dcef14e7f685d8e11823bb4e37f2c15d6fcad01d525320d 1670664689000000 1671269489000000 1734341489000000 1828949489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-287 \\x96d617e09c12b9a074586cf3cb2e1929e209ebfeb79e4cf8ce84c88e6e64b6c9211ca20377924ac19f6f2bf9db3da044a18add0ee1c9c9dea9fbaf8eda507b33 1 0 \\x0000000100000000008000039a997eec5bd996364af7b4b9631e6832d02fdcbaf56cad97ad36919f52dc51596d857f1d3ca8d1b90e97f0fd5d07117e1c3784f57761e4ed3a9cb3f7de983f0649957e20d168b4e7934ecc308dfd2b3aa4c837f2c92af4fcdfe866d6b6ba0b46297817380fdc03479696843763572602e47e5f1ff7cbc704744ddd295b20801d010001 \\xac4e5a88e9bcea5dc3dbe18c88a2ba939adb1025689ec51307d3a4485f518f628818250fecc2ab09ee247976ed24889fbebe09ff817c8615d25ad080ac41580a 1690613189000000 1691217989000000 1754289989000000 1848897989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-288 \\x974a28982f8bbfd160da8b2c265d5a4675e618fc28514a707882513507c6527624b5ffad2aa3e21df9572725a4c306a74d838ac7dc1d87f64bbecc6465bff69a 1 0 \\x000000010000000000800003dec898e371e62b6b157a460ce663c5ecc803a24b4064fdcebf7acf32c32bcf10cb8103eceaf917ea797b24b4e6694ea29e6ecd20aa60f556274165b77473e04cbef1a47443ab15b188da9adb4d68f96ab3145d5b3ecadefe9a9e5046b58f4573904a784444b2b081e2fd0f62e469d9787b5e46d561d58b858387655e77b23587010001 \\x2cd74d29ea70a19677075d7b8853a7168e32d37582d54041e755cf5863d6949d50f529f296a0d55174ab6caf600ff9b040a92c52a0c8bc51331391b5e22ca70e 1690613189000000 1691217989000000 1754289989000000 1848897989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-289 \\x997ecf7c8fcc4d8cbaf12ee8aee6b9a59eb3555820bb2197d7adf94b263610828bf4a595056a25012900ed91c70e27af503cc1bab9ae1e7c1669ff12484833c0 1 0 \\x000000010000000000800003e196bcbfb83af967b8a99e8b1f7501ab46fe68156463a6e9284c4ad5b5576747f3c4d84ecd20af6a583825735fcd6bc7a5b7468de464debc9db900f4e297970fad51faba354428c927e3d8aa568b43d5fbdfa2a98aa1c13da50f2d1a0dcfb6fcae7536c923c5f6e3ef46a547729359c6fc4c9dbaf0ff826245430949c459c793010001 \\x0c0a3341ba91b1054e6845f17a3ce731a0e7ac1127d52e0cd684db0a4371a20efc6c98491b82a493af08d3968078d3e9b82756719a0ee6f26d91f20c1f4c5100 1685172689000000 1685777489000000 1748849489000000 1843457489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-290 \\x9aee13ab1c02f869e193d2f513ef12c84d15b343949889c92dd4b972a80ad945d0ec74d43de44e0a6dff129e6a67f0d8f6194aa637847e05e7cfcc3cd1819c73 1 0 \\x000000010000000000800003eca25b555911290cef651f522559e8b9fca9f943a79301c6c3381c4d0dc0002c5a48b64e292fc63e304e721d5f9cf1574af276b165dfccbb3d841ab2b507bd5059618091f2bc86c536819b460af47ef29d6ca7c737d0db0ec72d934af149c479bdcd3c9ddae854516dd5b52b8a9e0ff434b545ac9ac157a84d9c8245f3cacadb010001 \\x11bd966a5bcaae74e21cc6bcb957e228609b46e5f707d4ec6d79b4291cae9b008f46eed67c0104da68ed706459bf2a1932a2cc98473382b6fffee6129c6bad01 1668851189000000 1669455989000000 1732527989000000 1827135989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-291 \\x9cdad99bbcecbc8983bbb245546d5e7724336709f3cb74e5c01a0fd5355fdc1882287dd93a9df72a2a3069d519479679a48b4f00f32efd5f6f7f20909920b3ad 1 0 \\x000000010000000000800003aa90224dfe6f037f4307f9f31a4919357d1682cf06d08208b5c0803afdb3ad8cde14c6d93ba26b532641948115814ad616ff903c0cbeb0202245fbe4fa16f77a628520f1ef472442d6037fae08fa38ef72bf263a41cff9d7588b4251281fa1ed1ac5ef356c229ac432b56ca43b2c3238da1c3a6b7a45250506975354ec3e0549010001 \\x90f341a3ac18ba74e9c2266beb4838221f9fa222e52d5d736bde1464bbcb7d308c3c72cad0d5ad45cb8c9e60806e5f598cc618c77a6c3913140daea18b74730a 1680941189000000 1681545989000000 1744617989000000 1839225989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-292 \\x9e9e6ec3282295f782d70d98287f8b59db710fa1d6dab2800e6dcebf76e09398d09f214e7c8193fd3c88cf99ac6658c217c243596748d59fff07e6283a387e4c 1 0 \\x000000010000000000800003d3598e374fb1c67cec94eb5fdbd314d1806175c3931c34e1a06086735afd378cccb9bfe64b820d06702af19c95c019176a482e3ef9cbceced0aa9484489ad1fcd5a006135591bf6d61e33ec60e39a98cd884b6f145aa2d57f3e04af8c3bc183b8c84a04823c962f3f85ad948ac9fab4eb971069498822100e13047cfcfa06397010001 \\x03a2e4d2d06be409ad34ac2dc46710b3e05d115eb3ab66477fabbe54f575c83e2279b4a4bf7333505e7c8fb4c62330a0d9fd30d7aec958e30932db1102744b0c 1675500689000000 1676105489000000 1739177489000000 1833785489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-293 \\xa08a113085fae45e8fe8dca5ede2760aeec86cf47ce6dc24ea7a92389112903565be38e7427d3e0a3a4480cc3ea6f0311a4c1635421011feb0c7525823b0495d 1 0 \\x000000010000000000800003b22c42088956732a50585c3d025f10f65c56cc10aa05629647febe9fbcf3b6e903181e2e559a00b6f5d831bce52a163207a7979ba43a8c632efb46df1caf4962297afb6e964ad673302ef0f21b2ea0f115f44d5d845e27cd6737ba8dc140d6d2bfcd16d9bca74cd8d97c1dcdb23bfd24df41e2059d4ddbaac92e613f0742c4f5010001 \\x9c544018ef9e373542fa8785e705630624a0444261eeba99a9fc743c8cdac5d7fa810735bacb4dc78a665fe023776846dfdbf1f6a4416f583a49fa99bc94d20d 1667037689000000 1667642489000000 1730714489000000 1825322489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-294 \\xa1f65a2a24264729dec14e53bf5b1ca1402a70e597676c57a6888e5eaf31b6484136e906e8ebe31467729c04008c12c5b153edb1d4a0487c6c439f3094d3287f 1 0 \\x000000010000000000800003a85a8a40c0a91a52312928e26906e9eb0a8bd167db931ca212d6ad652853524205a5fdcd8883d98ae2ec1f7fec5c6072846e1cee78e1e33c1d8e36b20675adbb78c3b9a55c5c83cd60f440515efea2a0b9fe1be9d5144118420acd04f354c5512feb87b711ebda08cecc36ac3116bea003d2a035771e9c2185a112ef9b7bd38d010001 \\x03834767bad26d4bf64c768b0fe3f8213336443d2bc7356973bd673b3b36f533aaa9691213dcbf01b75fbe5f7b5f834a9336b05944c0bbe2d5ba2a498f906609 1679732189000000 1680336989000000 1743408989000000 1838016989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-295 \\xa20e85b23555a3b5335f1a67d0e312618e121dfd5ff5ca676bcd4f455f21688136ecd462b650359a2043afc0b36cd207d46ca4e6a5e285449991cb9c23d413dc 1 0 \\x000000010000000000800003a705a6fabf909410ddbf29ac46c518b79eaf337549557c7d2bf265affa1d11fc795fd0c43467f4b297cfa3fd2680afa28389612825f02b62d8b6c54b85a5c4e0eeb8ad7b96604e6460538678b3bbdee6353e91929791779a0b55f36f8d67e311d5ee7a9e2fdb8b8aef80c0bfcf3701e5bfbdc25613df68374601f8cd98a37499010001 \\x22b357875cc7b903c1a242b5f206938dd4e35c424c3a35ce6bdf3e101843ee16f8d440d9110f81baacaf29e490c80fda5edd4c9d45b4d343843627e0fe97f80a 1685777189000000 1686381989000000 1749453989000000 1844061989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-296 \\xad123a695a2686761acbcdbafe9cfd4cfd41058fa464ddb220ca35792b92229565c91cdaa7a06e999007681bc96132d92f5992e1c69ef2d34c34c77742458c65 1 0 \\x000000010000000000800003c51b847a006dcfd9881ba5b7f466a12ab067221faa7661ad79cf732b1fc60bbd989480b40e8e6f1f4507f8d319ba1f4de6f8d2ea72b5e44daec108ff6abd390d07960f5e44d77765bfc0f94c4dee0aa6d590c4934bfbc04a54d447c91cbf4af1af8a618191ac7e1ba0298dc315fe3d32109142b4c85dbcc1c523cada2425117f010001 \\xddd19347e612055e9643ae4dc93ea737cb3c587a35cdaf47c3328522aa3e0defc39b37965411e0ce42d3e3b33d20265b2f9bb8a0ab06a48fc6fd7a108936f30e 1669455689000000 1670060489000000 1733132489000000 1827740489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-297 \\xae32c53430d449c9414db7876d62e15033ee07aaeaa21e357bac76a6f376316ce58312b6b981d25ec7ded280c6e73da7dd517ba3b7ed3d34a4df7396939efc32 1 0 \\x000000010000000000800003cb734ceac6ddd06d96c4f4643361c1e78e432caf223a170f79f2adaf35a84c5ef1c28c6177f0698d0d2d135a44b7c4f10edfb56706eafece05f849038e464152f63e4682afb980f6797ece20c82c97255c3f8cd03203b56d5e29d837290eb0c544ccfce01f453d4703729bb600b4d9756bcb7f3208fc68ffd1976eae3973b73f010001 \\xc7eb642958ad749f86f81ba0c9a7fbbd19164c2e8100fc57f2a3622d7c169ab2e913bfdc50529888b455864b3e95d21f4dcc3d942ebb984a71e5830352ed130e 1683963689000000 1684568489000000 1747640489000000 1842248489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-298 \\xb012a35ee3ea5f4355976f4e8787de91d1223d83291fe7206326c70d1f58af0aa3ca58f8ca42fa511b2be57e90c0bf22f502ce0045e2528784bb7749e67b3648 1 0 \\x000000010000000000800003e83f69c568ddba6c0bddd306c238489895093b7b51946ab7a552cf6677503102430e8ce8ed2da6683b706b3a37ec81a76d5f7018d164a16f2e74bd243061862846f3ebc0e796b5ed5581d2e71e1aad59c41bf928d226eb1cc8289e50ee03e2d9f695ae0e1b46c963a20978f2e7a4b129d7f98dad6de020816e0b9a476e94880f010001 \\xca5756da5ddd7d05cb75205a85b20a3778cad095b0ef3efe46321c053bf3d8d487a9039ca8cc0107207ecc9d4d73ad91cbfcc3fab44d0312aba97b8f8a6cee08 1682754689000000 1683359489000000 1746431489000000 1841039489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-299 \\xb5e6e7563056f21596e2432662c5782db0d98933603404843efb7c0652fb74f1aa9ce65b053770ecf76f8103d13f1d683984cb4f72884dcc95cfbdb7675b1670 1 0 \\x000000010000000000800003bba7b19adc8863586ef5284a9a95200eff5d713044e20afcfd45c520cd3d2791ee600bb032690ac5a87de19791a590ae842816783fe0acca027a45593eec85407343e391cac7bff92e1325d155b0464ed4fb09beac07556841596d064fde283a949e410576834a18d5bfc55b342d15fc7e3aac76f9f5dd22538190220c863177010001 \\xc3de22b3ce69ce7cce05f0d3037f8a17d23708950dcb089df4a2c6d80416df6613cc07bf6178a4bb12f905c5127c52f210ebffa9accaf517e7cab1f85146fe05 1674291689000000 1674896489000000 1737968489000000 1832576489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-300 \\xb842b4c7b68c2b1117b17e49ae8f94daac033d584a6e4ab2e2f85717c3b45559bc6e8ee9ef4c450daed5ef215f88bb925a0ed8205c6da363da43e83f4d8916ec 1 0 \\x000000010000000000800003c98f46629d92f24ec9142e16b3b1597e307519ef0620667c88ee7f369f6df2efe18ed620571282863ec307b61447aaa7e95093586318267ca5d17611746bc8bdb188a408df08eff1c032583fda968d56fd900726c1fbcd18290f8519174204ec93348de0376dea64625eb025fa844a6a710ac363ee2cee017b2585062be9e9ef010001 \\xcd309ba244b3e7fa7597cdd382f22ea1fcc75dcf13720591cf6ad9958961b8bf217d74152227f8e822d3c2266ecf93d17401ef3b37ade52b96dfd24783f3bf07 1660992689000000 1661597489000000 1724669489000000 1819277489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-301 \\xb9a23d0bb8a076db676d25d18723994a9002c9eb5f4c269e9dbd12249e8dac358cf615d720bd46ba5d9bf8400d77ba003b39778df45cd534a168e2d2a96d62e3 1 0 \\x000000010000000000800003bc221ef40f0a73965e437cdca60dde2a967e8268c4933e4d7cbe6f17c6766c968f09ba4629f28402e99a6fd20751ad454eb8c1da961f54a291a79c8a46a4afec6d63fe4ae2687a8867fa670d59f166f4a1a67bfa0ed0d3be1273f795333ae795c7048fb73b9c51d1d4be2da8880ae2213b189607ca6187cba25840aad69494f1010001 \\x6b22d4292057bbac52d7636b1b900719ba7d3277f12e217fbbb2df4f1495fe5a4720d071752a41f9c38ba0e70dfc6b65df1b7148815109eee67025e07ed6c50e 1683963689000000 1684568489000000 1747640489000000 1842248489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-302 \\xbb56b43405caef005d37b677ab88fe63f78b5103ef42e6aaaebd0f5df8f6d2186e72b343a1f466d861d1c758eebd670daaa643ee25de796932fbf3d0341611e7 1 0 \\x000000010000000000800003d2a8bff0f56812d770fa547a187ff050109417f85a44906ac4b273fef9f08abb0c8e70a7c72e626069fe20b28c7ecedbba6190a469d8864305e61c9b8e3f7f842d9dff6aa4a5c2280db48b9fdaf266e9f2f9035ad0b7b99a24346345106ea37c7f5cf512e1c6548faae5b406a599cf93573e3ad4be502951a04e743ca6a8404d010001 \\xb9747f6a7867600a0808020e64a2b69aead5f39332e798711084f4229cf63b52d7b41c9fdc019ab98e2012e50f4f2cbf448bba09c17154b0aea77ecb9c77060d 1673082689000000 1673687489000000 1736759489000000 1831367489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-303 \\xbe8af5185370e67ec401b0fe66cd6fdc8e7fd7870fbe47bb52440f34a5d206d0c8692ac70e4034460eb295359a8d6d8f4aa2a5b6ff6a70130d5cb4c6ca569a87 1 0 \\x000000010000000000800003e1baffc00aab1bb2f968078bd5d3fb93b1e298f3d9b865dea253bcdb9ff4e1e33a25415506c16b91dbf146769fe78521dbf3e2ca1c440ea755b7fb721a1d3ed1cb762bd5aa39932e90155172e934a3182138e587a86b69af2e9306791c81d825c499e82fcc181ada716fc84c236aeaf738192d8a1498c8fe9eb395c3d1ff7e59010001 \\xc63d2997cc4f7a0d0ef85f1a5dd7e703d70a92d3c3c6a8e9050bab4c5c2836a4d8e904ba063dcc4fd0c17d29990a0b290d2ad50005260a80b3b72b6d981ffe0e 1673687189000000 1674291989000000 1737363989000000 1831971989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-304 \\xc4968a94cc487205d982a021c96bff734cccf79abaab4de2f60fdf6dda36ff3fe8aa33c4bc48c6daca1c95f9774094481015733925cffb873cc535f526f64322 1 0 \\x000000010000000000800003f1663adda88b962b1ec10591767aa36dacf9f593952e398997a1efb54cd8a73567b55d7ef9fc008a3ecbf2b94862bdad8babe955443a07bdaad20cf0f46ea3ac77448d5caa3f351f1f166837426a138ad29f1a553fd5eebe988fa19b2739c663bbd895bc485b4a8ceda3c4579d006ca3b5509b37ec5fa03ce3a80ec00e4dc3b5010001 \\x189874f2b0211af558498dcce5bfd558e020ef471444be79a3823e93b4f75121e7c370890b98518b0720b87b131e654f4fc36e6836fe3d3faba004f62abce003 1665224189000000 1665828989000000 1728900989000000 1823508989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-305 \\xc74a88ae24a65e15298eaa87a35c1b87ed2256d3372afadce6d6d7024e86cdc0deac532f029c32f064fd34620c6bc5489cd886960e18f1e0cff23ab2de2e64d6 1 0 \\x000000010000000000800003bfd407af2a54c5ba0813fb64ebac8460ea93e7cb73a7e2a3404db764f2b2321839d2b49d83ef21645e50effab45e2e8f66a081724dcc28b61b77716deec816c4d9a04e3032acaf8a0d263664d368776f4d4864ead116b0a47bf9adae58402b751f28e50e6fc1e5b2e73bbe33062f95b20b6397063b77bc654d9fb2f2bab9b415010001 \\xa8e543adebaaa7050532652543307ff442b9b02edf75c6d569542b5a0602eacf3495008d298ef9e6f497a749f89b36a44840caee64fd8404f43dfbdb9f4bcb07 1686986189000000 1687590989000000 1750662989000000 1845270989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-306 \\xc7ee550ee6237ff0a2f89d94346b92a9d28a296dc0aef0d43857eb071c72229587c7f48eec907676f9b2ce2660e08fd7e8b53250de8696e8fe43e07a5163a4f4 1 0 \\x000000010000000000800003ab67719c857ee4400110c7283555bbcb89aa4807c54bf7d716790fd2ea92b10651f00de1e1d74f6e519ccc85a6964c230ed5ddadd98eb75b6bf3e395841f825037ad1abd3298a4c023a44a72c1aec06d6ce742ada08dc59623542c438c1c54992481b628bf9392281bd9e5a794af9e594b86ba2c90df7e2cce534a4371d43d0f010001 \\x3e899ea5ebcd46f0f46ced03ff2df692d233a34b39fb3e0e329468fd7d2da24e027a48030d56104407957cd29722385d990ef5a9c07546841b78aad66a07290b 1668851189000000 1669455989000000 1732527989000000 1827135989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-307 \\xca82b06b3ba7f2aba3ec04581492b575cedbac2587cf8dc574eeab4e0f8901ba76cb99a00d8d089db979c723b51e6fc5083164fb3d04feaa5fda7584e7c1100c 1 0 \\x000000010000000000800003c555c89b4e154cda7bf34ac7da457c611fdce21a1b6bcbcd26b555bdba0c4e1abcc3c352808dd82c6e4ca7f3765319512417d6e18db34fc305a9a836d7893664308567ceb470a6fa1fd6675fdb489c3a173db34965d0dbdaabb5d963337c683fbcb929024568954b1c114a9bfe0375315a92096b392f8d0f142a43f79a03269f010001 \\xc3a51a6c23b39fd1d77faf79cc99d60057be1b8b87534eb3dd147123aec7a508c89ddb89b70637ee77f00c2a9636414a47df834dad1ccae89fcca97d20af1106 1662806189000000 1663410989000000 1726482989000000 1821090989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-308 \\xca12b8dae251ecd6fa018665c152aa2787d129bf752dd375613838b0bc1010932906213e31bb25f638d935b321fdd2c0ad98346bee39e1a8c32a691de6bfd1b8 1 0 \\x000000010000000000800003abdc9d8e80652d51459131126a35d6dc8201125cd420809ae0c5f768f69e5bd2ee5ced84a4a09b482f0e11a206c8d12b1142467c1779765be1359613e68733e5af80406fac64e2e7583de61d51ea09d9cd7a425e91f65659d196f31e52caa114311c38122df0911471affb60cd41a7463790c479ea55517b7400d893147937d7010001 \\x85f3be9fb627c5c263d6aba4b56346caa37784d98c167481a53183a769d098f8003bdf170dbb056deb8e368862fd276d08672ebabef0933bab9559f141ea3a0c 1665828689000000 1666433489000000 1729505489000000 1824113489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-309 \\xcb0afdec773f7914ef677ffcd0f4bbd900652f4d2b7c71d12e1eaa50ad37e32b0522b294106c8627c66b45807fe860cbc4ed86877e069acac20d4f2424e08b47 1 0 \\x000000010000000000800003f8630d53aa2739b7ecb6569abaf7fb0045bedb8bd031e1356f2b040cc98b7275706445d559071d0ca42b3ce75d9df259f4d3a0a6e7b26674e8d69c5020e9a0d89d205530ace14b6f48b479a5fc083da070734c3bca82466d3b136eea693a2ac084125911da295d00f8077a49d3d00668ffdc8f9980b73acbd28a8611dff2fe37010001 \\x5956178a56419c944284690b02e5cd45272ef9f229a0430c52aa516067fa91ceac137f29818b16a907a2bdc889460e808989a420258633a0e126da772db12904 1692426689000000 1693031489000000 1756103489000000 1850711489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-310 \\xcf9afe89adee124dca14334c9f4f86a8dbf00b627571857377ba4f7bac8d327b68531159b02040a1fc8633708d823eca716ba185ae329cd9b2c549e231c56893 1 0 \\x000000010000000000800003c4f64f4a195b9142554590f449729cc3fb0cf0c1af1eff001f88b7569178ea249eab2303c746943757db94ad45443be26929a434108007346d724d5505aed62558e4692252a287283de2edd9de87766160db0f4d4e7025c6c0600e140dfa7758b2b8e7cf15167762c1e26f0ac3a9288c1d34a51081bec3ec17cd8da154689fd3010001 \\xfbb4da062753f471a213d515c919545947774c26834b172a1da77c5268c6c3d6043598e056d8ef32e8b57500ea7a22348224abcef6b5b3d03c9147dfea643805 1660992689000000 1661597489000000 1724669489000000 1819277489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-311 \\xd15acd56b56bb67ef1a821cdf68761ee289545947f6bff6296ab43daa7df3128d1bc1dc45ac7c4adaf2ed5e319a21e854d1854a0815fbf7c4ff2feb3386f3cdf 1 0 \\x000000010000000000800003f170efe380beaaf9bbda51fc58a298ac28df0fd844a2c8a9d2fb29468516c4b493d73de5e721be3f14354791288d2134238f872200c185022dbca4674dcc7fff744e60326027d90dfb4e1a05783f7ce7d81b4c9c5aaac5612cab276561f8cd80d0ec59f0d97f9b8fe7e367d095ac1e88d7016474b7c2dcbfa578e21dfa3420af010001 \\xb2e6102c301b70a8404484424568eeea42f52a06b6693c96bb39683624d1f8feed8eaa27e6db9f7f474e0a5c1ea77a0c6f61bddd4a8abcff7f78aa425906a406 1670060189000000 1670664989000000 1733736989000000 1828344989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-312 \\xd96608e96180432716421c16d92a90d5087378266755d478c6682cef0663d886d164ff6136e2abfddacae557d4c4b4011579cce6d6f1f0ddc3fd57d8135d7c38 1 0 \\x000000010000000000800003dfa50dc7105c5b7860058b53eaed55ef843fa9a8c2d4e37f9ba9006212c330402dc38344e2ab2b74262c0550b4cdb00446194becc991d97b4b53426be0ecbeb8cef28efd09c67bb9f8419c6067011382495ccfb8c340dd324325b921e64e4cd4b9913f83122ba098d31b0bc7d8a616cf684496bf34c530bbf7787068ce4951f5010001 \\xc0bf830b4c34a9b45d3c61747d407a4fa3bcf61869ede052db8079fe494ca6d6f89be63373e0bde9abc007d120eca7940f8065e8fcd562257707d14c908e1a0d 1672478189000000 1673082989000000 1736154989000000 1830762989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-313 \\xdb1632390ed56c222d100238421638dc371b771f4183fb132c8276cb7614e02857f5508880e286ade14bbfd0a6cf33f3e17ed4d2f288958b63f9d99954a7f427 1 0 \\x000000010000000000800003b908a20fe656b8279e35d2e270df06d933db632a6a1b23688f83f5027dc4c27e04d8c14ddb471084e98f808986b1d9f272243f4989f04bc5c1dc304ce3b7bd04c506f74013cfad931854b5929c2ba0399009c719f99d3e1ec788e06d07d28211ddb136399d12441b50f62723364083e048a6bb4cebc274ee7f9adfded265aa7b010001 \\xfe9b23081bc0c46c1f61b98269aae5fdfeb887758c8a0a1a1d08e0f16bf679733cc32ecdc35d1a25011ea2d16aee5c16d9dbdaecb637af1858ddcc2eed89e204 1681545689000000 1682150489000000 1745222489000000 1839830489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-314 \\xe3a2e20ec0468b952fbe2d8fb36059ed71caf5cdd26b7eaa63b1bc0633a97f66020358ea421e23a8eea820e176f22e0b7b5ef0c92e199da7a6e8779201795e43 1 0 \\x000000010000000000800003bdfbd88662f9f5492ec5c98a547f73c09a6c256340822c9c054257eb6bdf13ae731a79720061da80852216ff31186bcd2b98e7f78e060fac9177b0ee142ff4e67f9fcce9dc85e525fec6e3098c7e329bb6fec42db45f12b8342b02d504a718c73151bac95dc7adfa51e2ad97c518a3f59a62746a550fdb13822cfa1e42e201d1010001 \\xf3238c89e48dfda5aeb941e7b87d8a521135c8d929d531aa46acec7ae1fa48b3c70429c700e9e238a993ca0a7f7771c7fee056ee9924e1c34d998a017ece2e00 1688195189000000 1688799989000000 1751871989000000 1846479989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-315 \\xe45e1b821b1f479b9a84e3b671b2acc613d225125041316a062f317a902fdc133b88b49aa3af249ee7d210f84862be3e03c5612cc2aedf35eee9792c3f96ddab 1 0 \\x000000010000000000800003e021c9b5db411f880afd547261af57afe31fa5f5c6d9b89fa79acbcf9d2f51d1e86049090dd04afd54f766f2c717b8012f163e7ae8d1f34db377ce115dd191097fe4ab00a3541db25e1c59e542118b3f47cf99f3463b7f44e5fee2644403448ad2c0cd188942765001fc5c206f512c65a5328b3ab356eb4f68ba96baa0b4d6af010001 \\x2b13775f0defd5dad50278d8455891d2dbc1dd2f9a2c0b00337a5d54af99ddb3d6feda5a404a37df091a535373f1f5708e19ba1165d476e7de975fd1953fa206 1665828689000000 1666433489000000 1729505489000000 1824113489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-316 \\xe85a43f287a9fc1496f878581a25337ca2dcdc3289d37e4aaa95ddea4018cadadfbf7010f2f37c7770cf8aba44e5309b82f69fe8a2b481372f08b69b5d677b55 1 0 \\x000000010000000000800003bef0b7f6ad05e47a84f74586bb3eaf2cc05f3b189acd7fd9a23e8a1464bebd85c488db142b42aa9a8bd300382dd7ff54b104a294ab7fbc75fa6562b514926abdaf6e34de961130b0f4bf479d5c88eeb7522ccd717b57f7cc672fd9f7ce9818c31444c3346768c58f55f2a945cf05017e21ba6cd354a71f4e98407423b433a9d7010001 \\xe1362dab7172ee351bd79cb005d7e8fa3c6f01a8afeac8cc50b6109ba8841a291f017d6203589d228c4d2c8f5dff08cd27a006e84d6d44a49bf4aefb33f6370d 1681545689000000 1682150489000000 1745222489000000 1839830489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-317 \\xefbed685aa3be42e8270b38928ec81ecbd349ad9611295be286b71c727c2a8cca3906985226629c6c188273fd9547588f27f8017ff286e80666fe259de512313 1 0 \\x000000010000000000800003bd65ea1d2798452bb5bf769b4c9eecc25eeb03a036162ad5d06d7b9356500afddaebed9157a9b6b92faaad77e030ed73d028cdd17dcd332848f3cb4c69ff7ce4d97889f7d007baa9d64844c29c69fd5b11f940c89c4c5dc7b550d2cfcedf6dc6e4576d8e6548916c871afe70622b508f01a69aed2f3afaf69732ce94ed8b3ac5010001 \\x4813f8af5e43d19a6c014de5ce569a8dbd1bec8a73442830415779badad52df302de2c754239f4bf1bcc0790349d6845b0ab7b626dcfcad0be4563b2af8d7200 1672478189000000 1673082989000000 1736154989000000 1830762989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-318 \\xf05ac686fd387e062796a4b33930474c8ae42a1a187bab04328ee21121dd76343bbb442b9972b9b022af85b6f1cae2528da1949966aadb419b3b1909204e8d7b 1 0 \\x000000010000000000800003bbb1da3f4239b5d71a0f20270fcaf4a32badba8720d7873ef1dc4c8925710ea7bd58ad1143f056c96d91f9aa0d180bfb44d045f4c8a3d72e22a2f588a48ab50ee76e6851547c217e28784b731ca776c5d2f49ba39104be8affdf97477e82ae0ad498275a702939059e033b7ccb0f50b73cfbd33d6be73ce3798dc67570fa1535010001 \\x8d0bd8fb7286a2d36a6eb0c99ac5f9b7074679171869e240c9d367e04fa9d4db4a9a08a678ef73402eb52771f57f87f9fdbb39aebf3cb1a108ec5e1a6110f80a 1679127689000000 1679732489000000 1742804489000000 1837412489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-319 \\xf21a28f7bbb91e1b83bdfad760d8155037fd16d2b284e42e6cc51fc32fd38d37cc7f1c6d0d80734b414123fc2f6db5a51f6f3cd80efcdf09a880073514ffbc43 1 0 \\x000000010000000000800003bcfc3524c0af191511d65a407cf5fdccd4ba2dadbbfafd92cdbe9678229535b798afcf8990592d2be57a2b32140e7847da4fe5a8ac7950b84d276d9de8184b57b8b221a17d9596f81d42b241dacc5d477d46d2e803c47d8ba6673fdeea19ffa94426eff6a7d53b52eab3d229cf88401cab07a40e23948700fe9fede2cefbb021010001 \\xb03bf3b93256253cc51f637149221d4a364a4a5c79d8624c1ba81f495b51a3d379eef2322ccfa1e80ab48211f1b84cbcf9f49394d1a3b02e8324deb629c36e0a 1688195189000000 1688799989000000 1751871989000000 1846479989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-320 \\xf6e22801d3733103477b8fdb538f8e99883dcf5a40e2d66d35d70567365ba06cf140ae71870049bba78450af7290adf15c164173e4396ef6a267184caa4445fe 1 0 \\x000000010000000000800003cdcd13adf73168dd73e797d4b80150734c1f3eebbb2a6a68cfdde9adad458a60a9cdc33cca1a2da3f2bc18901dcf0f1b6b80db0d4ed120e5c1a22dcc5db04f22ce304baa365102bddb77bc2afcfbb327db8fee09fb79212f699d8f0a8e0a1f51c487b1fa05e56a039ee5e1b57f5e3e91732d66b9505b13d5d769f0fad18fdc07010001 \\xaa612673e40352af2b97e67e0f348a7bb69727fa0667b297770faf75aa07536b1e0c9bee3ad189f43b5a3df03834f4cb952f46deb74c332c8679351ac189e808 1676105189000000 1676709989000000 1739781989000000 1834389989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-321 \\xf83aba2922fe86b7345656155b8e0daeac4bafd7420539c8f1552ceb80a9c5562dbee22b424f7bfe9785e3bf90737ba2b99fb415a363bcce8a51a0d1043618a5 1 0 \\x000000010000000000800003d9302fc6fc86efb65b6f54609aca45f0cb99d60c02ce387c969dd668ef34fef353471594f81e1dd05a6323b568de408d261aece103b44f768153a34a4ff529322cc3c012ffa27ea67f8161096ddbd737c849b24d92e1cdabe39f3b7ce430269c8dfc41409200fa5402649ee734c5495b2555c8b8fbdf3ce83768b2dfc2fec6f7010001 \\x0e8af01119f5769f99d79ded34b57d202a75227f3c99fe22c7942a7f8ce93e1e500aac99ea1c3123208cfc4b0d89b7474a6375ea93e51bec693f67874d5a230a 1687590689000000 1688195489000000 1751267489000000 1845875489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-322 \\xf9a2e87d77edaeaeb1e441e3706254a4d1ac11d848fd90a85649900bafde86e8af761b3ccb63eb678faf42f7323060bf19302484d945a8150e1b733c12af0f53 1 0 \\x000000010000000000800003e8e142572bb704a00b2cb043ca3482f3d4e73080f966fc409b72c26c09427391b166c0b94b51e5ba2822084d4d4a40dc0f26a470df54e2ddf9c9eb489e61c81ff90444a82fd077816dd93cf07b176104ec1390656fe890b3986c71a4e372c459a4ed1ea3068bdb800da8160539d194c50e274f92f760c1db35e29eba17a25f71010001 \\x451cf713873219a3e1dcdb906731873aa1c154353de0d601c162696b8edc3ed991c9f0a2b642a600685d3e02bff1216083cbcf44cb8150e5206ab587c1b7da0b 1686381689000000 1686986489000000 1750058489000000 1844666489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-323 \\xf92e86e74c23c07910439063ef61bf7ec171469c0e6ac83794ec1b71d6e3805b6f41c1c13b326f17c6e3901ff4b9f368218e11c8b52822b6571c2d7b80fe7212 1 0 \\x000000010000000000800003eb26bf82178fc19ec20562489e6f1eb9e5b38c075521cf27b7c39b3b5b54f5fa879cdba5ae7ab50295a2f3391236a35335ce654d46824c509e55b8b1415022ec15e56396e3773e33c5e6d393c6fad8272c925a65bb1055fcf569bf29edc796eea2ae120bf7064b241664a8611bab7ed2be2840cbeb440217e393d81b8e81d613010001 \\x6d858a6e08df1a9ff5d015f48bfc7828b2e8fc93c157d8115036573bc9d7866c2e22027981f2afe57897c9c794d4b97fbc5d28a812e11ae598b0d19e8e8df70e 1680336689000000 1680941489000000 1744013489000000 1838621489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-324 \\xfe4ad602cc6e0bfa4e93e0482e7aae1cd0f26bd34cc89eb32264823d582762d56903c1bf6049578a695cb79132c29cc0b46568db9bdafa5c1d22dce380f4c29c 1 0 \\x000000010000000000800003d668d82da6c5a10c0ccd9408b26786d39d7ba289070e345dff9359f57d6ce24affcff26fd1c90921481b97fab767664c797d44e32b2528122fce75ccecaf91668e33e067d55020508fd93c81735bedd9282348bc4e8f055c379d71b20bace165c5b73f3e4b5f02d79f13a95172b0b57b14401c5e4c42eb2075e0575b94433189010001 \\xc6df526c4ad1af894a0ad7162af7c4852e199f279a164a80fb40db7d7412f4114e881345fc4ff4f966a7f192749b6889efd1c6b51b45e5b4498ead43d199e108 1689404189000000 1690008989000000 1753080989000000 1847688989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-325 \\xfe5a1e0b79ec967aee4fcba7fbab8066a3b25cd3efa24408c10f425d8ef6cffdf3f72a0c338775debf980855fae94b182bd9373dc3b0dfac1597cb09bab61bf6 1 0 \\x000000010000000000800003ccd29681beb38f67e12cdac7b0fec6b431a14cd223ea6322e4c7ab1533ca7ee0a3835bd5f73d1be0ffbe482b36119e64abe7df105071b6474079cab343217e13f5c1efa803cb4376b2732379e46c4a7fc948e01f52dac6e1df4480ddc5c05b558404a0645d2dcd14b1bbdb9ba421a4b9b3b74c59981acfeebe415ee36e7943df010001 \\xe8a77cf05053445961835c16e2430eced717c69fd17b407fced3999b7c63e24bfea53d0328e436bda9b5f3d5cfc81be2421b5a38eaaa4ca7d0d1905c1a6e1a06 1686986189000000 1687590989000000 1750662989000000 1845270989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-326 \\xffb2dbf3991f66d17af512ae3dad712460ceb26d1e309b821e911dce00510704c767995cb70f95574f827edc04346d5597464641c705c45c8404d1fe57e1cca9 1 0 \\x000000010000000000800003c95d1fb54fc65f4bcfccab0c16ee7c6464ec4e391b7d43e85abce3e415cec8a2573df050b2e3b335f140074ab90d1b5358913d9e2f093834d8132bb1c494ccd588a1287dd54e7c1997eadbb3486979f55db7a085f89b983d2e79942c74d4efd5850239e4b6aacdf9271cb0007aa725b9f063694245ca568820ac3c54cdf596b9010001 \\x32978ef14967e0680b26a5d3b23c149e87eca9791534b23225ab54cc635773489f0cad15a2cd99e1b1f3c873311fbf1c6b3d78914099e39eca7d90b58916da0e 1689404189000000 1690008989000000 1753080989000000 1847688989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-327 \\x0373e0c75c86e03b3320239b29d0a8de4705f478d2cf0b6eeef13cb45239482cc8b4380a8cac1d4d47ed9494d74133e7b683b592ada0d735eac8d26eda37e1e2 1 0 \\x000000010000000000800003c570ca44568451f31100658575a91c87260fb668695f630b716a22a6cc148891f90962b3bb0f3c66cd9f1707beeb9ca2738608d29ec904148ce1bc7a057c1add74d0be0dd0152b0a156dc1a4753c53101ee53ff85e5061ea18e85afcb077c7bfa286624159c8450c9b4c996328a4cf2fa989a76ad5b3d4cfb2b765aff5d667f9010001 \\x3695a5a6810de48a4224631dea8a1ea6b9f33cb2b7de6da9a777cc735548771994c7e8731759405a3eef03c5e8147122c929fb277534bc1b89c6f139c1190600 1692426689000000 1693031489000000 1756103489000000 1850711489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-328 \\x06effc311698f93cbcb34efd6acd9a303f45bf2012c2bf0e233e60083e8e3ebd8442e60129ec44fb0a4747a185ac3a19f8e36182cc92a74d2517875e01cb6846 1 0 \\x000000010000000000800003ce0dcd6791a22b8af6264ef47398dccbfa0dae3bd9db97188da6d7bd01890f4c4db9c330611773ae69ca16f3bb7cf2a9256fa4756590d9dcef63010eebb2940fd3fa729f36ef63af5b0a8d28ef6700608014f9a7ed4abe81cfbab8942eb34a29b702ec9b8b577dcabbf461dc8e58eb6e3f6be2180ddb271d1d21e698a1d634eb010001 \\x216564547aad5cc735351dea5e05fddeccff37ec08838254fc423932abde4ba3832ee3243a136766e7acf50cad7d4b0885f6854c55eea26282838a9be701bf03 1670664689000000 1671269489000000 1734341489000000 1828949489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-329 \\x08bb4558469e996ad4d7a2237a9131b172075329811509f51c8130093aad5b33c2b8dc0c2ae0f3d02d45171963817ade1a884dd5ef4d22aaba57282e4fd36ca6 1 0 \\x000000010000000000800003b6ca4b84a934e3bb1659bb1ece2f6e290aed0b9e8cfe179dce9d26140cc9d2ab5324af0a9c361964fed85f81d5e1cf6d380d55fc891f8857a266d193cb7cff6c4278c5a1a667ca6b9414a5bfbbeb88bfb41cbb09cc0bb67865063a86d154c2a2e0e815ae66b25e344f01bbe0fe252977d0abe7662986e06192cd448602477593010001 \\x8b9125df11412a9d8ece674b26d447211e0b04224abbabc5807f49173ed18749b0737a0e68517e4622cb32423e4b120c56733a964e2e91cfc04de805f20a560a 1688195189000000 1688799989000000 1751871989000000 1846479989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-330 \\x0a370d3304f474b8a25452ae81c98ff35fe0ce0df1525dcfea89585347e1077c885e6224086ff1567857b2f89941c3d3f8d998628a0196cd0533060217c02799 1 0 \\x000000010000000000800003dc1ec4c05bdcae9cb6757539a0f213617b69e09836665c41df508bd8753f07244e6d247a3720588f9818f1c26c50262326839ca23a292f0bf184f16715483f08853b6302d047e096f8fa1e44412f65e66289f69224d3a37dee8044b82212897017f9ecf25f46fd327dfa383a9fc6088f423c0f56c5af3128fd4a702a7faea80b010001 \\x840646150787de72815a00b287d4c2ef1b8f2cd7356704be3f3bdce5bfdc9f4ba99408b48791cedf6f4227c35941ee90e5b14b4a8573ccb14d9b789078491d00 1685172689000000 1685777489000000 1748849489000000 1843457489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-331 \\x0a3fb6b141684751d6a8096b3e734156fa767206149b18f3a2cc997248d20e096ad63995d58da87147d759b68227c054c4a4801688c439bfd7b0b15e9045235f 1 0 \\x000000010000000000800003e0ba570776054e646fea1121cf83f538be450251d8137c32388fcb32b6923b9fb200a6a8634752c094026f70bf4b47a0f98ad02d1c75defb8080459c3f2be52466503f044412297b249e6c19e47707c30e5a3b721400e001ea0efffa5f90b3bad98bb78f84040e3758c15ec16c5f5a2c3b9ebcba4cd92d932fb834bb6e313883010001 \\xa0af2dcc9e8c754558f492fb9b5ae20e242ef36590ea1f4aa48293d4308f7b2681db3f5e36ed51e5ed54ce3357de186f1968f9ccc293b807183fe6fce1b34c09 1675500689000000 1676105489000000 1739177489000000 1833785489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-332 \\x0adb523b594bb4f7595e7e769997c377b152456ea5c8ef18fc224ab9a88c9acd4541e490b2f09f6e3f0e16aa594641a36f4c232834561dde903af5dc971772f1 1 0 \\x000000010000000000800003b09064ca3232a06f8cb90a856a99581241e207ffb5a9311d740a2f6c1ee44d2fcf21615162325c99170c796bfb2d3771b79b8d47b84817b4dc5d90b78e250ff8973b081d4017cb21b37388ab71f5394e412685954c758ee80852c062650dd506b0680ef6432abea9980b20e5b100221a0fd03304a4ccf78bb0c977953081329d010001 \\x4d5f1153f128474da30a6e864f43147ac522bdd0e123b1e02ebf2adab4930b89dce5c44d3554b497f1f4e3dd366df966112041842f79e24e4b6c14dd637c9502 1665828689000000 1666433489000000 1729505489000000 1824113489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-333 \\x14af71ee505ecf88925d96f822f8335ab99917682bb58a72c735510907774a9cccb6b7e147dcd2c4894b8632bf0c9dba44eaa61b54b6cb4457292b2cc2c4bdd4 1 0 \\x000000010000000000800003b7820bc97489869f6ca765bdcf4e2c410c479d6f853a3d74cc7782c04195094e1158107b61b78b0548323c0e45f97716e8209584ab4caa7f96afad89212bee33401c726add85a58bbcf0f2225ca97ab449997c8c7dfbd8526973f0a2e957dde8eba285f45c80d4aee5f15e78b10a2d8a4556b3b6f56c142da3d161333f72efc9010001 \\x0dd84b2a4e37c79fbe069ef3ef2bbf31f7394cd9793a575465322bbdf71fa5351f03d14fec7497cc3017921e1954e1bd58187163b116e1a9b27c105e6475a002 1671873689000000 1672478489000000 1735550489000000 1830158489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-334 \\x1747aa63192c4c0226ef2bee7013bd7106d8ff94d14d2403f39dfc5cf8f3775bae5fb6f885369694ebc64a6317c4a7b460cb92ac1309e1d8186f8f683fb3ac27 1 0 \\x000000010000000000800003bcedae3cfa31cd22e77a00480b3cc8c9d7c32d5820fd65d7054a457b03f61479fdb1ad93ea05c9d5ab5f1a3f15332e761c9c56ed2a7b31afe187a831a0b80c14ea6c292922b3df5f363cab2cc3943af6f1af69bb5dba309c2fb452e5b09f6874c50bc9ecbe1c1eeebaec0bf117124214a512bc9bd7ff60ec792b8a6f44ae41b5010001 \\xe32c278962e73e39d4224490e4b81ca856d356a4ba0e89a7bdecb91e137676f91ce7a12e2a02553c6804c60c09488af52849a7a82bde8a1d3ecff617b794ca05 1683963689000000 1684568489000000 1747640489000000 1842248489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-335 \\x17d3192cc351fdf7a82b52e2d575d99e161aea5cc7d3c566c41684717abd94d208abcbc5ca25a8ad5f61c819451ce514c802ca468206d3268933ee776b10284e 1 0 \\x000000010000000000800003e7085835651b79a3e05d38c5d92a8e21daa730bc26303febc9d9db63af35e0da19073f5b437c6dfe010b472c1a1c2f5a5e1b6a51ba676cca2160ec5cbacff085c2584c85e2a99f0a1b4051f994f919df1be905c9e1ac68aa9de936adc8c97602296786e5f849f0d145795c66710535ffbdf9a06f69dbb94bb9a0779dda1c3655010001 \\x6ea6e3dd7dac6d325928472de36443561dae3c37bfb085b49d1bb3854d269789d9747d490958c4f2e2bf311015ec77991fcea8519c7a318b802fefe6b6068801 1661597189000000 1662201989000000 1725273989000000 1819881989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-336 \\x19732b1274fc939318309cfa988638e630f63b8bf7a48df8c0848be0a1814cbfa3805caa75ced0d30356d95f6e1b0b18c9fbfe7a6b25a0d38bd7b249e2e934c4 1 0 \\x000000010000000000800003a3e88387ba58c2d9d447efd2fb790b8cac2e61e2e1846bcd6c18e34375bad6570ab3b06ad69afc0dd752288072fda3f85ce1a0fa3773b1b29312938912e1e663396a1ffe1be2e8073d8d8686eba48f1367d2207a7fd6312c41886343514751a161de62561ace28cebb9fe6bededc2fb23c4a2eab0d32aaa8c085df04a20d1e15010001 \\xc3f959b36dba049692378d3b942db852e693547d7a4b8123cb69cdb85583a07485aafe4686eeb6363849880a80fbfdb29c83ec7ea133a15e48488ef66b871b04 1667642189000000 1668246989000000 1731318989000000 1825926989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-337 \\x21e397982ff158ea4a194f3361d7618ef05bdbf4bae3a75afbc7c2e8b27804650f44244e4ae8743d9e4015485f7f09a62117ce3e73af26fdc192d2ffa9164aff 1 0 \\x0000000100000000008000039e95f735db8dfc051729fad2c0e84dcc38345af7764d22bd87547150bef1b6e5807b1fd730ba97d13aa9824e2424b4e1f91269654f1086d2c6fc6fe8919e301c965fcef5fc64d5dfbe72b7da4c6bfea0d7aad5e67e5b258b6bc6754446177b038e0c070ebc421b95aa9e11bb29b174d50b15e5860d4e35ffec5d0f3cd63dd9ab010001 \\x197ed208ecdf4fecb911d0db4710572bf4f1989354e33aa0d9a53554fee63760127e50a4a8cf0d3a268636d2a9fe05acb81a13cfa2766a48b1301a3d4051590e 1676105189000000 1676709989000000 1739781989000000 1834389989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-338 \\x218b72083c58758c4199ff1c3cd5359ea8694e9c3b00edfd06ed616fee483d85fb322abe848d109fe0c857a2a4a5fd3f41caeb21be423ea85a6728b5cd37f26b 1 0 \\x000000010000000000800003bd54f937f3a680ff2284292c5ec7ac11168db12a7a4a310de7e1420975491b29bc61f0a260c2bbc4679de89e611f9baab34da936b292d589ef21b61e98204304b8603a1ecb2e7d0a401f1b7886d9fd2d99a69100d97a99d0f54e63024293853e6557035ec32191464baa8861e7981cec7eb89b150936a70258187ba1c32b73bd010001 \\x34e8e40fcd9b981ff1352201afc1ac907fb24dcfabc702590f9b3846e66fd347d94868a8f1f7c6bcf30991cbce8384755fa9c03fe2ac6039beb01892bf69fb04 1687590689000000 1688195489000000 1751267489000000 1845875489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-339 \\x22bbf665d98f55cd93971d530f37d2574c0371c09d8d431f3c48a0c17b48c0718a1b9b55bccf59fe021665bc124859ef778d9385f8f7638bf12489fbe0aad2ac 1 0 \\x000000010000000000800003d2f3c7ef1106fd1db90e2947cb33bef36ac1b39bf457cc9b53ab5f604f70771da5b3063475685763460bae5d63e80f70557a8592975a0ab8d5221c1b9674a3d08061c7be9e6c779d6df5f752f4010f76ed8bd58f6518f5fbdd1aad974998e4c6c65575cf99cfdccd7f40fb99b25fda3f10cbdd967ef50e42f03da35075c2a1ad010001 \\x4858c95969e44c8d3bafbb91032649343e28e2017750828385ecc7a46c79526313b8015b5a072ad2e93c69b4a4cec882dec16edf444a25b82ba41a0e0ea6aa0f 1666433189000000 1667037989000000 1730109989000000 1824717989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-340 \\x2427ae81d1563e2988a7f63dc940a50c618b7c85ccb18723858431c4747288d0cb8cad90b5e5b035c6557350b09d4c099f27b5c52165da0a2b921237fb421ebe 1 0 \\x000000010000000000800003bde6b5d5351a215316c1681d031f56ada3f954153f741170169b4c4429f3ba59fd90906e894041d917871c60e3303b03681e5cb95f3887b7ff8e97795dbd6469d93a89400d369bbcf167f6ef1303d7e5c3788aad5251283f610031d5fa46aaa50c6978249b0c728c0314c53510646a8decaec1e39bbdcd97d495439f7f717305010001 \\x62f1b98dfeec9469252c9bc133d55d9dc8e564fa282a546c71359d99f320fc88beaa0ec1d11158f2c4012162723dcef8f22d098f043fedf5117d18904fbee203 1688195189000000 1688799989000000 1751871989000000 1846479989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-341 \\x2aafb8fcd18fe2ef25523912e7368fe65451a1534d04b2f5dd836defbf18d2630409f94ed749b74934c0c0968738475df1f984eb84e46224270741b95009415a 1 0 \\x000000010000000000800003c60b43a431f562f04c7b6f63fe51e51707e732dcd9cc22ced7210572ab230f167aa210dee586ee6b266f876ac3434c3b5ad159b3daa08741b88b4ac97899e062c1c6343654b9b0e0b1fd4b372467ffd097dfe6783f48b5184897ca077b8b92af01962dc27d5d96598e5ca49074a607db39e5352405e97b237ca2d6aca0b563f5010001 \\xbb3252f43aace78864d3abdb499a9e993af7417a0f7bbaa14ecd5d665070b69baf4ae026e7efb9f95cf19589e248a6085627f53d40c8082d953a94b2caa70b0c 1671873689000000 1672478489000000 1735550489000000 1830158489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-342 \\x2ec329d41d7da343d7184e34ce0cc83228502d69bd94a5ed3954d024cb4f9da195a2bd1fccb1f36bd62b9cc20d9438c2f69a4f5826810ad6f25ff40d7284f9bd 1 0 \\x000000010000000000800003bbdb31dc408da5477e9077755e668655fb51b37a67c6b2daf3b61e1e5b955b7a1b8d804cc89b0281733bc4d532635719525935cf5d81c2129d3e373ddc92064ea6e861041e5dea571e4f083c1511cb3b4e9a2fb7aeb36ae37664161f21943c7ea2a5404443a176135e04557f69930c9d9403eee272a6f6667147ba0ecb75fc2d010001 \\x5bcdd990a8062f043ceea1a44c19a5b85faa884c5524ee2d9c9bc50f3cf5cc3320df80cf5850e6654a62a22788faf7a7bbe414e234f8b12c264c7648b0a8290e 1673687189000000 1674291989000000 1737363989000000 1831971989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-343 \\x2ee3929587c71b9c5371ae6cadffa0d8fc2fe2aa1656492fb3cc9eaedfb537e895004f17918e7905b8abb7c70dbc8c5f43d144db6bfed5ee889f80db539709a6 1 0 \\x000000010000000000800003d2143d52ea8e788397c7e177cb7da476e37feb4ae39be2c4101a111f2e49917ba66a32c0cb442b0df50ba1b6dd477ed6b490525ecd56a9bcadbe1480f0d7bf9cd901b52c13aa2592bebfc35c9fce3b3afb100d0756e334eb57a7cde6ca1c542109e5093be4823875ab51181d12173c1043287c3003b8ba072ca03c133ecdcd83010001 \\xc5f8a84c3ff8001f3e8d3b2c248982adf471543848821b4aac2f8ad0a980c5d217b7c8946ef691b34308ea641ff0541e648d969b09aa640a0b0b8861491e4c03 1681545689000000 1682150489000000 1745222489000000 1839830489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-344 \\x33ab747c4c24c7db3b4da252940f4876b647f4c529000e96e21691294d4f57e4d4e681afd091cdb94036cf26f7e56cbd96ceb3d388dff6a40f29617ac47e9d44 1 0 \\x000000010000000000800003c8ac53e0a8f73a89df71489584cc6a13b5356ccc91ce7c2c667d666a943049f69c881199bf52bf411411f8f8f936e8912316d97ab7003414a264153011f500a62de195f0d4490100434602ecddb8a59b5236f0fe4c8cc4ad24eb9d4205c78224f9e728384ae5d533653aa0a8bb25293938f7b682884140094b55fe36a904d565010001 \\x5a221d98748bcb29cb493ae8a754d435828536732afe5698554840aa3958f1098ebe55627d182bc938ac867a7ec8737071898f75f57324fc015bf9d101d2d70f 1691217689000000 1691822489000000 1754894489000000 1849502489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-345 \\x346baac3da8b4a61c923b6855a7924e393a85ef9c5fdbc5b4e9314dcc2eecba002730a640d398c9fda0a7539203268644587ea76788f114be4b828ed465eae00 1 0 \\x000000010000000000800003d55e2a06596e76b28baa0b304951e0fb49c0ada224b41fa2cb45f3e84d94b689cf6567acf1e41bc545251a5aaeaa2bd543711dbcbafcd7dc19b7fbed4c621ae320f1ad9ccfe20aaf09552ad39f9930759a4f0130e88608ab026bee7202613f9a4f9d3066cea56db760f1ec5051aab001efa28e909b11f5f86d8d3ad564d4bb1f010001 \\xa6d4d7c1ec7f41bc21a2331e19cdc27805c8ad5778d6aaf2f9321b21e5a05ce8b8c2bcd3fe136fb91224ba901e48a6f5b6e776c3c610afcd6d09d0f1f5c31600 1673687189000000 1674291989000000 1737363989000000 1831971989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-346 \\x352ffe1405ab352c111ae0c3789aa0e397a308eb4443773c93071ce515bf4340e60d229b6e2b6798744cdfd3804dd72bde2ccf6e62f933c6c87b31c49cdfc248 1 0 \\x000000010000000000800003df8adcc1c46275ddcb135359be5aafb650e5f315b252d6e06995fb28fe6b76b6831153dcd582cf0f912ff5fdad442352e9c761dd93e4ed5c6266b388c2ee9cffe94dacee2b3ac6a41de08b945f4cf9205dbb4f7b4f291af4cda3e8d223e09dff3b7856be1c4f4eb36915c12ea2fa3a55bddd34158d39675a03b374865de8a0d5010001 \\x4a1d32f6ec7981d1a891e66de983b080e4d8f3f1a5e45be3da371e99cc4cff061639a20484e52387d94c3072796c334ef087ad6aeb1e89bc7a5e936ad459cb05 1667642189000000 1668246989000000 1731318989000000 1825926989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-347 \\x389f8a19f97a9fa89b5e38e31e45c78ea3b1bcb17476793dfb086eae348035aa058cd6088e1e73444d81ec19f5f8865b9551043036033ee8eb416a5d886baa7a 1 0 \\x000000010000000000800003c7083966f7f99fe69a955b3d3b98fa0c98256a05da0a94a151bb90399437c541d7a95336971a4ab8f4e5ec3ded6eb1608c41c307c467f8c93b47a3ad545ca4d6ff9140bdab1b4bf176a8872242b2cc175eff52403950cfc79f4a14cfe7c7110ab881ae8cdf5617b8cb0977fff24c74e071ab21a2723e5acc5d55a2df5eb0a9b9010001 \\x86e493c289c1636df3f88b41a7997f6e4f6ea46e76ed7ba2a61b6570e5b3437e33885b057107d78f3f24528c2759001b54b2fc14aeab743f016102673ab5d90f 1686381689000000 1686986489000000 1750058489000000 1844666489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-348 \\x39cf933676a156d319cc2bc51abc5437ee860d80d9cba206ee11597207fa43a085607e648947b816673fdddb660611260fc94aebe9ca61e925db178688af6d2e 1 0 \\x000000010000000000800003aeb7802a83bbc8b9a20a325b68ce16c73e05254bcc7ff09c327c334012d62a4454765646c26bbc3d5f3fe5887820afe02e716484f483383bb4837132fc00c4641c277bd93d7a8b292a31478e3cb961103d8f4ebaf6f329cff311ff9b02d3d0f08228e488ad39357ebf7768c534d6b2c76142b503dab0b271ea23c06cf8c184b7010001 \\x2aa544a6edf2cdf9523e1b5a2e89217184b0688a9244b95802f0ab4ec782ff375bff58dc987e06e22266f16c1a5c83ab83aa09947ba84aa2edccb93c0078090b 1668851189000000 1669455989000000 1732527989000000 1827135989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-349 \\x3feb50de48b75c2b34c871a14eb9cac0a109635b6c5a90b9b5a0150913372b5f084a50fa50cddc5a8f96a326a5babfbb5703ff0bdf146c971dea42cdaab2fbc1 1 0 \\x0000000100000000008000039881d258caa8950134477e7dd6db253a4aa2cbd5fad078f614ff30674f71f5d1040d3a77dfc4ff93ddb63b1c30e57778e69875be2999830c219abcc90e6872e37f23d1e8037585d05269d48ac6d7eaef6975657c62f8de4f1896a194a56cf5f6734798e20f19e79e9eb7bacf2c109cfc2010872108d2bda55897ebc461d76ba7010001 \\xa0b273a8e14ff08d284242b4eadf7f6a630fc175570de9454954534428506db292568702c50d15fd40e30f5b26dc1e7ab549fac39e3e4b10c3b62877dea1190c 1663410689000000 1664015489000000 1727087489000000 1821695489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-350 \\x428b8c64fe9ce4e7682e9cd1805f5485e0f0e6c205fb16cb60d6d0966ecded3f92667ab0930e95599f9410b074fd8307fd18e1a57d1a40be9e7ea001b2ed9007 1 0 \\x00000001000000000080000392a0ff5de7e6512faad3a9abb2daea9e8a94935e5a70b77a532b8836ded0e5871764c9c5fed1c7a52d95997cca636e505abafb5a1fd7567f30034770ce22eb2a51cabd452ee98a66a4da15576a4561e348bf3e5a983294413dd88fa1a796995cd919a4afaa2260461b7ea1070b5b268bd9772839d041c364678b7e510a02698b010001 \\x811ec40640b0357809584ac8d7a1a37f304dc3e49f87ff82cf88459544494945f9aeb8c2cd789d52d8df4ae0173d03c339bf5f65a8b3cf667a361904c108e508 1682150189000000 1682754989000000 1745826989000000 1840434989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-351 \\x428780e9c1e56815d2648f89cee305edaa528ae31d16664887695abe28c5c1791813ac2bede82e45b375af430068f63683ac7c6c2dc8c46fe1496a90bc637dfb 1 0 \\x000000010000000000800003a7d02d35be810a546ffe20ae42398c9a4f2d456607318189f78e24a53eb65a3e134b4a853a7d18373ad355dc15122349bf3aab31b62e20eb63090d03375e751319ea6e52198829010c3926b208c57cb7a008c06e2c025bb5634418dc9158b2d97edc745dca88d4a4248b75c75f40680786142a00d30d6d0b7f7bbbea98d37cad010001 \\x658b7d7665d3284381cc68d170f1249fc4164537681f21e8f8d9fbf1a1ccbb006381912180530eaaed932024c7737bf8d09297865939ebae6e290a72ac3fd909 1670664689000000 1671269489000000 1734341489000000 1828949489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-352 \\x48dfd87eb91aa769b3e02b1e360694d202c7cf1dd3a36a3be4c970185c3b214ae295267b35003f6c470c4a8d309da4a651a8bb25e226d1ba685cde6597e2f63c 1 0 \\x000000010000000000800003e11b5326401b5a71174f7e78d33e552dd5d5b5e62b0fdd566f82f8bfb82f2bb92d65e22141739b70a9c4904f606f9e5ddb9f6a44a4db1702d3ebd34a2a3a8b0ee149eae543b8603a60ce555cecf0aeb03bd4eceaf0460da248a3223b305d936579d91a5108e8a6d9da6d094de5476a29ff28445d8e482ebc7738924c8951f239010001 \\xfaa7f82eeae922f93ec78ac2deb36ed84e57c5b8f0d995abefe9eaff16d2226c1e9e9bdee0be511c9e53a284a03e2041ac5e4d02b8c46c8659fc40c529267003 1663410689000000 1664015489000000 1727087489000000 1821695489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-353 \\x4857de6b966197be5fccd1c776a6d771681083f65d7a9abe51aecfa133ea8e95c5bafa20a3bcf724f7a9424b21bf80b5830ba1f6bbb6696e4bf11afeaadd4eee 1 0 \\x000000010000000000800003b52f3fb1d94e4e5b8bac1ab3c73a8d10c8608a5a44863af1599c1b3d61a4e76b8a869898197b7d31135a32a36ee61248c7c5cfade4da85d6ce60078d86c22157fddaeae33420b9bd3a6d94ff313f4f45688171df44444db774204c2402f6aacb97b5e2100bfceb4cb3492d32d58f350b648300a2d9f6be02e5e678756e532123010001 \\xf1ccd580cd09f00b177a3f9a152dac3d226d39b7acb493df7d470b35a55e035839424b76b6b88e178b34bba92b2b320b76bcdf80d50f09360ac745467384f20d 1670060189000000 1670664989000000 1733736989000000 1828344989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-354 \\x489b015b46d4f5b0499a717e7e923b28e716a763910fdcb87058644bea6936ae45fa4fe111303fbdb41cd68d4cfc36474f713d480134d56818f043b66e400b69 1 0 \\x000000010000000000800003dc1b85d49d15ddd30a9ecf2dc56e77af42e5019c3ccf0c38c02014fc69e021fce32d9f8afd79681aece22de460a7f68f80ef662bf62bbeba4082a37f7536793a17472cf67e75c1f6dab2766a95d252be18d2a6f2c0756c286c7a55af109ecc4581077ad1cc94acddb6b3aecb0fb14915bd61ef79fac1eaf9a7c670709ebf5471010001 \\x5ca076d4bbb69938f3ff30478b16893851630cef96739e25e66bd4484de531d26048aa1375b16ddff35cb31ba6b3f10477ba2e4803e1a2fda9b0e6cbfa97c601 1663410689000000 1664015489000000 1727087489000000 1821695489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-355 \\x5503c52d107c4ebba2568d923c46ea0b299668aa504ab79b3c1688482c03b89d5c1893944f6cbe7c1f5ad0aaa7ef2ade8dbf2a3a490bc6d697803dd02ff1e76a 1 0 \\x000000010000000000800003d09bc3ce4e28a54d43cd1b033dec80457070f0719116bd675072d9d0008be8f71c0b25165ffea2d23ba0c8459ef5c051e3a66e57f7af41d16919954ce202ab7f9197e2d96f8edb9eb2671d1ace3610cfb96b17f236d321ce615460214138e0a4fd5e96f281df0162af1f86aeedafbc0d8b9fc1e8384d24bc275b68ac692c86f7010001 \\x6c7c695950dce55ba0a5c998f6f4ca94de271de15e3d5853ba11c9ce6b570fd7cbaaa386dcb444ec73fb8ea59c6cea9fc06da4860ad5ad5f6507d35a86719c07 1664015189000000 1664619989000000 1727691989000000 1822299989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-356 \\x56af6cc5254f3c474c1d7ff328333d422426d1f9355e9c4ca5fdb2ffd9ea9f9960b0f91ae4afe9a380eb44237560a241533eaa877565001668bc26ea7f2cfd2e 1 0 \\x000000010000000000800003b728b9bb9a2a43a18f8b08ba42d8178006625c268e9beacbf6d44eb7d595af0d6d8fdc36008443505559f97f46f16a0704ae5c3571bc4f5d905e1887869cb327312cbddba6b2e225a4eb88f9e40219a5409c2d56ff02a46dc8d01a2f161072e4e23c969dd85b67bfd4fd27ca6c3b74fa3723f361021de7e373995b91c39c3c71010001 \\xf58a18996d54ba9f4dfe3d6a12b1dd33e13263735189f9e3f82cec00f0d1a0146ae6813792758fb25b81cd88e84820412c880de90b42c728440d24345b8f3e0e 1664015189000000 1664619989000000 1727691989000000 1822299989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-357 \\x56b72be982ffcbf43020c0135b7730164beb8918ad7fa49f392fcb18d6305aaa770f3cfef373e1b940068460ef7c754ec1188f4af480b4cc2b0af5f2ee1bea53 1 0 \\x000000010000000000800003c650064b5ead51195e4ae970ca4f93cec3309298068503cf6d9594eefd8376e49847f73dcb00c307abe49f9bc2aa09737711bc97f76ef1c7c5a9c2c9324effb128f69151431ba8854a9dca4dfe4757b3013909f2b96ae221a2d9940e630a510320b845b934eac81f752afeb61fbb5e5e1f1c68a5ab7b7e1d410b3095a2bf84cd010001 \\xcca4b5e91c27ddaa8fc1649cd83eb81602aed6e1144a7e42613ce28c547888c4458ba73e49ca18602f690ef359d98441bdf2f7406184d7ac59e3dd9bbb7cdc09 1677918689000000 1678523489000000 1741595489000000 1836203489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-358 \\x5717e7572c22df67657ce8d3f2b329bd99ac3a9b761b0a23ae08a0322b26d909ef61030f6509cf58b8fc7e8b121b650e0407c474bc5cbc4f6573b12fdcd933ca 1 0 \\x000000010000000000800003ae4796ca3671578d857467b8ba9847b623bcca61718fd026b5e5fe09f4ca3ff32ee3786d15030362d8be333813029f4ecf874df3c5ddc1ca3127cf930dd500bf5146d330a42764c8a7dae59f29af06c355cd5d0978393c506bc333a493abcb6df7548d87641d03aa80c743f9abaa87ffae6f14864ad1e961aeea3739d33cf6e7010001 \\xaff747b59ff8caf8606665104d8eae81afccc67243f26d783415c6138687df8c8c177f082d9ba7bbc3cf3374189d2e3a3030bb3f6289a2e76e8955a94afc2f0d 1674896189000000 1675500989000000 1738572989000000 1833180989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-359 \\x575b92fbba5b51894d9d96cb591088ce0397549a1a0cfc0ee06751c9d3c49f2baa5c2d47b389197a64ae7556a8e8d9982f9e50a07bb0199f0c7b19883a443eb7 1 0 \\x000000010000000000800003a308bb99b539a6c6c03b68ede7a85ed73c8562970f8e244bdae94cbbf31c25f2df74dd5b6598de02a28c528f16e64be0567afad283f784a2e05d90b8fd291985406975285d44083ef1539678c775fef0784d589d144842931b5e17d3970881fcb928a6df75d5b49d573bf22defd02864c2ca1f8f90da808798d18ea99f89540d010001 \\xd613a2e4084f53ccf322adc414b04f5313680c42dc29553ae8344ff44cb8d1a5a57e4c2f087acdd5233daa28981eaab3ee2034547d54ad75049d7bca20e1f10d 1664619689000000 1665224489000000 1728296489000000 1822904489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-360 \\x58873023b47ca8e937d49fd064f4d2e3525aa7c3979aa0e5b452983f0c7e38ce4e6b0e5510af67c0a75f7ad1c2ca5ce7f9bbe6a810c7587ce55eb7c665052105 1 0 \\x000000010000000000800003c12941bc41daa83adeb2a79f6a685dfec274a1aa8c9896c774621ab06d18b225cdecd5f6d347416acaa80bc188cb61368d488c818f1985be85a7978813c9771df6971077064de97a04d15f719229eba525002fa837ce4a7794c90e12a9011c1f3f79c509f17549724a417eb7aed5343e4d15125180f7de202c72a9148accc7a5010001 \\x083d21252d06947beafd7721fec95efe8d9a6c0f608c45b09c25664faa8789cc020af17d6708c51e4a467373dd4bdd2a55039f15b51767258e022b828bb18a06 1690008689000000 1690613489000000 1753685489000000 1848293489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-361 \\x5843a6b9375d7467ff684eeeca7de99e3d7faf0596bc2ffc2cc94008228706ae3516d20671b4bb70d0b33983c50c8d1fc539f750da5c52e941a608fc5c48087c 1 0 \\x000000010000000000800003d1080a2e751352002bb7b1c34de155192ec9c6314dcba56c0622341f58cdc15d989ac46d062998c0c14481fa25361990639d92136613f9e299a3963641056e976c295c05fb42b6431d55b27fc476f16d2df7c35a1647820786a508064f07fcf9dff24a8df9703f1aa8faae42739fa4e30b471c227db0c3f85c8fcc422ec887ad010001 \\x64d4fe6279bf78a18b85dab096b53ae7acbaa4e2236d00e732d24d0863f29fffec7de03da0504e8f64bfe6ab9920851e9a1c1ce0bf8d693d03d82d81c987ce07 1665828689000000 1666433489000000 1729505489000000 1824113489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-362 \\x59f390b45b63b4266af3ebebff76fb33d105963c72603dced28aab9301307255aa73307c04eefe513f8ecc5c385f8191a70644657ebc6dd75b5f094e2e6aa170 1 0 \\x000000010000000000800003d3c597a13e11faf5e44c4f5c0628ccb28737ef47e387918080ea92b5ddc19f85929df3aa5fd53d67d40fd615e78b25ddb4f267f7ab0888809459cec6e99f695f8bd624e2fa4829aad8f79af97e94fb3f3c2fa265b7250f5c1e1b9197e3fc0503cd77513885189247c09e462d73ccb77f19ccb3f0d0a4a33824f93f197550a3b5010001 \\x39f7cc7c12709a442a7d0e9960c9e9f52bf6dcf5c4c63bb0fb84fd7983bd46f8174f6a5b5e9d01163f00a088ee34514f725a8443a6aafbfafdaad2cccb799b08 1662806189000000 1663410989000000 1726482989000000 1821090989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-363 \\x5aaf91c5133d536f5bec43c517d714c365b62384df5279b561c33f1a10fb3db7e0f6bec9e06499c9b3a8daf7bca52d81f06a9b1692812c2fc4f119863fb112fa 1 0 \\x000000010000000000800003ea7e97f6b8d5c0e01034fa14ea8288ba1ca16a6a42ed7b1c72f517adba1de69e3a62bbd883ae165b9894c10c3fa6f8ae331cbc9137c2c1588c8a4cbf3a7c362aa4f162c1d24bd8d08106061ec3e36efbb63e4ae0fdb2c310c1b0a6c211e3506fd0f064333f20052a3a77728f971a72474b5de6c0c53e3adfc061de16cbc8e7d7010001 \\x3d13c1f10917e8a3faca5c9e94c091e12fd68b66d495cc3f60407540ead91bc3f42814f5988f3a3138ce9436a80076231f414eeaf87622a28d2479763340630b 1679732189000000 1680336989000000 1743408989000000 1838016989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-364 \\x5c633d89626371362ddf7dfd6ac2e97516cef862cb106fb58821a18818008944d3cc9ac1c9c3991c3559ab7741d0cc13a198b0490239bdc97494802a666c2801 1 0 \\x000000010000000000800003c108c58b68aa182a280f2a30b584056ef9ead8038e688f06aba579cfe15ed9389416433e96666313d1d40bfe7a3f05316460edbdf5f28bd2d8c2ec1785f1e15d9c55d9385556efe89a7692d5e53e6a2ad929e549b77777a0aa77ea62703606db16500d9901a4a35ee8ebd10c18ce6104d1e72291b91fd9f19e0f38048e507701010001 \\x3bbce5aab96cfe135bca33883ac0a776e4d006ed79fe7ff5dbd81ca9194b8fea8000d507d4766adff2384276a3d30097db554fe137a11e8ab0124a89b344a602 1671269189000000 1671873989000000 1734945989000000 1829553989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-365 \\x5d2b41e0ba58905fd4cf33532408a8414b2dfefde209505dcf4c253b4f0c621402b58f70ec51910d85793f7c8ef321e472a690bbaefaa9b3284d6fdff1b6bb3d 1 0 \\x000000010000000000800003a8343a52e84d0a4451b6c352a84972446554a3a590e3ff7583bd90815b4149c408c3040693fee5e95327c36c22488beab4085db750278b3094ec5cdd81c540f47052ba3d7c9c7d7cbb83ef1eeda9e056450a9d485c2d02fd4bbf6cfe79c1db5afba5618c9eb9d41b1bdc775fa6feedb4add0318f8b61decd74baf003dfff2bf7010001 \\x81b9ecb75830809b1ae2bc4638647664e326b0c20b6dc6b011c81f985f971271e5275aef72c36c52258d1ec257f885d7a30124953612c0378d0f07d83553e303 1687590689000000 1688195489000000 1751267489000000 1845875489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-366 \\x5d1be08d76d764154ae6254bfe6df87937d85613a1b134d1b8db2c1283e2c87c994e12b4d60ad2ff1ede17f918853e5c434d678e7488bd8a5ba052ad2f9a67e4 1 0 \\x000000010000000000800003da60e93ce6de441280283a06cd6b4d7dcbe62f996e394134f1d4229c7a9476d612c498d888c390b7f3cd625b71a66e81fbffe5e7e679dd8bd0b71c33db677ebc9017c63fa463764cca22e768c074775b084712eab74d39308c0d435107f66037b3ca482f272f9102f55d5f96197508042178a7ec0867fd7d283d2c0711441005010001 \\x2c2f490abb6017d06ad66c5e3a83dd6fdce852aae3f6a8155fc17e5bd81ea32def14965548e2da099f0107bbb3c59c626d028ab442a68ae528546ac9998c4b08 1665828689000000 1666433489000000 1729505489000000 1824113489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-367 \\x6253935c6da7cab65154813e1d4f8580fca96e13cf0e4efb63602c10730fbeb9333b11230924bfcf19dc99b9de958ee4e91d54d8a82172aca725457db3f670ff 1 0 \\x000000010000000000800003efb9eb5a172b9d16593dc3121f6455378af5a9ce184a32dfa33a32ab0be7ffa264ea35a6aa829d2da90b93c5b6bf7ea04508a5968a962c8000ee8582feff517d688c7106752670cdcae894afc20987ea64693466d036cd749bb71bfd6ee5e2591263926687698e5c846c59e1d2227aa3f34a8d6214dd98d1ea2fe78fde04490f010001 \\xd57a8753caf3d80791d5681944d97dd275fadd6990a9a7729e10f11fb1062b9f5ce8822edd9b1922dfd9adb93359e1636e884cd60e1f24fe36ee08b30709900c 1682150189000000 1682754989000000 1745826989000000 1840434989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-368 \\x637f22ca800bd70d450177e961aae78a76304563fdde6e6277e6dd59dbf87e65d251b3328a0a1d02ebb150ab21b33a7d36eaa5cc86bbf516c89a326ca4f803e9 1 0 \\x000000010000000000800003a23ab64a131b3e9b6e9db4eeba79429458d3fa9f81283426446927c007055de9eec91d93e87ffa3a58c5f111fe0fc7b92c10e5a1d71a35d098fbd832a8924e162f4ab631be154bbd4b6b0e1b491187e6869bd02463bfffb8c21ac456ae524582d74b0315a3e2d190cb6050330d0d60960d6a4f0691d1f7f91baa93e2f31f6faf010001 \\x9f7e43a9521dac03028751da46ed146716dfd3345f262a4bd7d377bbee0014fbcb67062e088179e5c30f70bc6cfd849005a5c056bdda7cd1e31d877c16dcd40c 1677314189000000 1677918989000000 1740990989000000 1835598989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-369 \\x6507936adeaaba4e67ec65a982f3a866cbf9eb76e64cff35f344bcf710bbdba79f37fb017586dab0e8d9861c8cca24f3773f1cefd0a4ea678a48e6e524b9523b 1 0 \\x000000010000000000800003c5607f2d86f93b917d2b4daa2615fdc3e8ef004eeec82cfe2d58483ad9d83f47cbafd34b34378ed99da93080a55352a3b6cfeb217a48983436b70cf35e300b2b1c31d93ffe4f0dbdf53add23a9ca4d98cbdb337383d9b5ef9ce918064a7de12ae02f9a2708389dc9f7c50cf8249acace45411dbd5c573a3b63ffc9994c60cbaf010001 \\x33c179bcdbb2b0ca9ce302b9d90b382501710e3c17d0e6fd9ee282bef78e55f072fbe7fb3644d7773a122cfba4e3415ac3f48074f2b6a2e42544378f02e4de04 1671873689000000 1672478489000000 1735550489000000 1830158489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-370 \\x667343e27762dd683f95eb5ee18f77f4e564aba2a99f78859d60c9183d1fb4c15149ffe9c4e8875ce9be1e8c544c04162840e333cbc283b2d7bab2104ae95d71 1 0 \\x000000010000000000800003c1104ae2359f15083f8c1ac3b4d0fcd932bcce833b3eaddb1c990128767ef54ba9c94442dc1a3280b30b1aa8773e1b70e44eee9aab8f124cd1c380ffeae872b76bc5ed5569e35cced71073cc8aca70189430885ee422d0b1f9c4bc3a36d5ee88482c7d1a2777863c36162bb8659a38f7f659b960ebe433b8f34270b0ef05de83010001 \\x3dfb3d0e308784b717fa5596d6ed366f960a8b973cd52a20899c2d39034baf6ff920f6c911e4d5d889a577f82a9054b77b99d19780c0ead03f00b73b2ea9010e 1664619689000000 1665224489000000 1728296489000000 1822904489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-371 \\x6a13a956701a855c03cbb733d46d38fd98ea88aec2c8eabe7008302849024a0c040abbf0110ac945b750db56734fb9be0c8bec0e78d13dffedde0416360f60d0 1 0 \\x000000010000000000800003bd61d7f188054e499b898ba303b50920dc41045e3368cc0e2bc3ddec6f1d0ef0d2c4be6fce252ee54b8ecfddbd45bcbc086f1cdd7e3e1d764024073937b0d473fcf40a0b7d74536f6f4bd271fd7d682931977b4176f3fc3412d587ac160da5102ad5d3c87c77fff6bb25767d86f4e1824a06c6f230bb669538b68392b80a7fa7010001 \\xcedc559979c7f725961862110a152f5927e8f4518a2442c08a83984347e62e054ce39db2fbcfe714f1122629ea92f3671bcf2c8bbc39bf2e59a0e4d026878900 1678523189000000 1679127989000000 1742199989000000 1836807989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-372 \\x6d4b76bea97f41a3116e0d61d0300aab79ca1080ae53b2013ada3c26d2e48ac7f4568cbc6861195f098d515a43cf5458d923d03eedd3f5eec9508d63ccedf4a7 1 0 \\x000000010000000000800003c6fb38815efb4efecd3efb42fb820944e4f1eb6a535bba9115b75ae84d0616e295e6e888c6f4cc69bb20ce8faa92bdc69bb62bb62fdb63725bd21d88ade95932fbca84f48bac1aeaecf2ce1105cbc2943b98697bcd734f3c456331851afd086298c1072c1836faecdccdb801fbc9fd3a9d0c02ff0b8caad0139cd3e6cc1bba15010001 \\x79d328f3c9a2305d5c84e43a1ba0a8f6bb6456970bb58d85fee256c055ed6f1e482457e4f8b204f38a0ba6c5b3f9e4df835b534d270dcb54e7e3b7308834b10f 1691217689000000 1691822489000000 1754894489000000 1849502489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-373 \\x7343ac49f87337e8139990159ec5c11e0da11b795528e155c1b4d46f28564942481c966681b106908f70769960dc220b571a74b68bb5e49c6f4498129ab79ce1 1 0 \\x000000010000000000800003c2c913c4f0ba93ef660a95eee9233dbf63ddcb041b4821e3e30593a86313606c25638b2eda383fc4310657eb17bad737ac545498170fb6afd4188873323a8374b90114e39fa1525aed5f50928818e30913b8ec54b6c4fa458955a385e028509e6c7d58c4be318fd03683a939018695274d43fac606c788c6fc4853712d866551010001 \\x5bfc6f0e999407406587e37fcee0ee53e35e15508ab32a4b2b151548e371a191c1bf87a48bf542da8ee4e657c3bab8feb9cc4f0f1e27db1654347bb0d2cf5308 1688799689000000 1689404489000000 1752476489000000 1847084489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-374 \\x765ff6c6941294a58079fdb0f7553a3d4626e218d0fd680a85faa0986f208b6f73c539d1bcf7d1dd52df813d95ba695e5fabb0efca807291bd0d871dc01cfe15 1 0 \\x000000010000000000800003c64f2076740668032f0bb2a0707f2658be71a5459fe84d173c0e65e094a991640696fc207c1aa179b5143c1af769a70eccf875d7fa043bdd1ed7003299b2aa10eb7c82ed9e1e285bfe48f2a12b02f3bffc2f4472c429c6b1a00fb1de20de13277e8c66719ef468e0baf07818d237aeae53e86a1e04d3e0106e3b68f013315f79010001 \\x079cac0f5c250b3357e96acec211e7053e11cab53ef322691da25df6b19963020e0962a4d41680e07432492f3013571b417bd6aeca93705a773a0b45d708ec05 1671873689000000 1672478489000000 1735550489000000 1830158489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-375 \\x7817803164db7b0506824ae267264fb4d1760cf39f98e16dbf7317a39b2d52883f8813f9f56107fde5a8b558a1f1f0428636b34b79caf47593e371b822adbb8c 1 0 \\x000000010000000000800003d070755211fe6235262cd1c90d933b4271486783bf521c80af73c5ee0aa54828a7d038190ff280ab2c6ad72b90cff12df5dffe144e30cd5b9bc6401795e36075ee2a2b5ee65a6e20ddd359190091b5a05705d30880855d199281f19d0a7507fc6134185cfa66eb1da7a9ab4eef6b65a1d9208a57623c725038404580ebe6f539010001 \\xb35747fa930f562c2f6924a993bde9d0a2a2c1d0a091c14cc7a35260c053a8904a874861f6171b480a3930dee6351f84f862db2abbe2939e8e9fd745d04f5303 1672478189000000 1673082989000000 1736154989000000 1830762989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-376 \\x790bb5d0135c9016d6007bf18d97a215472a4303a077eddc896df8f362e11615263a83e1a3c72b96d22ac966c0c911a88fb07479439f636fb403e471d070ed12 1 0 \\x000000010000000000800003aa074cbf480078bb0eb020f51310acb920ee2ab7b966ecf287903c0a23a92417914d370db4f3742c18c0c9f9641615a5f12f231ed101c93037efc9a5dee0ad10dcbe5462071b52078bc3e74890f24417c64d9d040f558705477db5e910281fd10c74533a9f706f7c33dabf07083c55cf92ec903f2228bfb1adfda3e1082a5f4d010001 \\x7ad689e840eb759ff6f03b566b0f4636bea3f76f3104f98c5721b9abbdce21b0311a38903a1339102c36c6f07de179036e5b4208ef0e9e24a7331a23c9beb907 1674896189000000 1675500989000000 1738572989000000 1833180989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-377 \\x84238a0ab02d44a4a9678b0ffb722d6d5a13bb02cb5b8a85a6165c6d8c9bce972dd195e89d63d95d2907d41e4fb2448cca596ae4c04121c13eb4c38164604a14 1 0 \\x000000010000000000800003dcf98d0f6c20efcf51bc027b0a2b2447f54c89058186c5061b6cb8e40d98536b8896d4fafe2719c172463ca1e4c83e7607ad4af136f8503891659407fad00bf444b6b840993a301bd90ff83625d90abfd6648541a8fb0822e2e0bd97b0946d32f60981243a4f1a78dbeaa1a28156af562e4accf92e43a072c54a2a5329f85f95010001 \\xefc5b1a6a58f012a56ca5dcdc336de8a2c3c39ee94ef4ac59a8cdf25da6a82d367ba0b005d59e50e103a8dbd2750f5ad8ff11c44d684825f4b0e30ea2424b003 1671873689000000 1672478489000000 1735550489000000 1830158489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-378 \\x855b4f37930b01b5cc76b6070c3a9929d8e3135cf5aa75c7518c6c9814d0d31b5b3e97248a752c6486fff1f98572fa8422a94700342ffeb7a32ecc5bc837055f 1 0 \\x000000010000000000800003e3b6f43c5c9de6f5af3433e931d164b2221bc8bca99f28b991646d9f20822463d5a89175c3020e5637664647a44aa4c9f78567762f8dab1c15f77d6758568a6f4901724a441cc590467d931811eb4c66887d31f5ceac6ef56bbb059f0e3aa27a115c357068d75a439c4c259a44b4774b752e2db26b1a3bce55e01039705185fd010001 \\x32d9d4c0341cab97cd953e1ee5207e8e883ea5b6332875cbbeb3967aa0bc28da246b9e08b6234ef5ef18e0d2586ab891d5b29f294829c1a8b952fe63267b1a06 1666433189000000 1667037989000000 1730109989000000 1824717989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-379 \\x88ebf12430b93afd603321394142ca3dd11604e0b963d77c279235b785c7aa75ec7c418b99f35ece2da0cd40d8f1b9284dc6c8e60dd3729256496ada3194f9b2 1 0 \\x000000010000000000800003af1c543444f36530412e2ddff6a4419f306828e43ea2e4669ef8681786c0d3e9c461605767bb4714c96f2e3e973e292fb0638779e847649c8c208e78d83c0fcc52bfe3a8c39b74af981d6923fc0f461a0b8c3a78506522f56980860a1c3979f61866fd720dc9dd2de2eb496102ff57b89ecfe003bbd03f88bda430f45e520703010001 \\xb908cc0586f1d9ed1c9e1b6a0de6ea3498fab2075b3c1f4d28aa4f260db726c9e62755631f7935e7728991fed3d70fc6a29fad90b7b7606010638844b7b60e0d 1679732189000000 1680336989000000 1743408989000000 1838016989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-380 \\x8a07c79f738f7e4ca6f51f7300b0f0c6d6f6c23c9369f397548e22efa62fd68fe44757f858208e670a3440d8e45e89c2712f02bcb4d25a201ebb3b70759af58b 1 0 \\x000000010000000000800003e2aca4643604fc98e5aafb548d6a36a936c18454521ffbe135cfe09857c0e497a519e2ec690a32ede8c8c5821aa7f4f7ccd63e6cee92863aba62e30596f420e9b1fc103ce33183030728dee492cc33b4cd6b702aff6c3da2adc286b3fb1fef4b0ed38ec0ea2492fd2648b8356d9184bcb38076861ab673d7b6df584e0ab2e991010001 \\x4d94ceff320842aff79b6787312621ba8a73ff6062c2e5dabe3b8a53eb7eaca3ca3fd481967a136c297c26a8cf55f791e15e6e9bfbd8b4ca32906a28d10c3701 1665224189000000 1665828989000000 1728900989000000 1823508989000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-381 \\x8b036c00380731bfc0c88274cee7e72107a2106d0a716acf05e36199c1f6fd22aea6e4daa655add3a9876a9646685d124d7f1eaa4da353b1234efaff0865fa53 1 0 \\x000000010000000000800003a95fda1baa7faeabad10eab0aaf993cc3c63297f487f223087b13ec70a34e6ddbbfd4e9c8ff95a12c5c8671b1a1ea9c666aab5b1bdac54d1eecfdfee949b29d969f9a57f1631405d19c4ea6cc9405ee2c2588aa1b3c94c8fe6097749fe62316aace69d375a7f0e7b67d46e22709d45e3f98a19dd4b9e1f73d84b2acfcff08dd3010001 \\x5b6e1c5b34cc00f7a57502a62c4e16bded99d68ea862e6534d8325a50d7e27cd7d5de6f69231ce097a105b817451ebaaff1fa0f7fcaa3cf35a41124e8b3f2408 1681545689000000 1682150489000000 1745222489000000 1839830489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-382 \\x8b33e652e5286155caa78df6f99cfed7c88d72d71435bee5cb965df56990700aff87d5f301eb466920de8df62950b106c633ad9f400145595163da2961a3ca2b 1 0 \\x000000010000000000800003af47eea5362ae19d4f91a4c1c4257a1574482c8bd9be400595c0b77f51c56304d479c111979fd189e53dc2326a6555cbb6cbd448f040da3ef833ef23fc5d0294dd3e068c25edd61640f2293517e03dd7ba5e561bd456d2d8616f439e53fda6ddd9f1f7501a5dffb0f2e184cd1ae8b6e4a39bfc780e5724a606505cff9f5dde4b010001 \\x746ce41f7521a03870f143f689aefbfc208d0f4306a17c1e6fb2e62529d7cbf5872fb91bdfa4d7c12ca48794a607720d0fe48df76a251976e63f9df2ea424507 1680941189000000 1681545989000000 1744617989000000 1839225989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-383 \\x8b673c30b35f68c6a4c407ed48dddb940bda2b84e6abfe991f703d43bc04be3ab00737883d8ed8ba1849fb8fcb35f93a47b991be99cca6f7bf83d88d40ca4319 1 0 \\x000000010000000000800003a1a1c28f438e2b96257c7d4010160b7359819d4e6f373790eb926efdabd8e23ea5fdfe51efb82f5d57f8a7f3c2a3fb598863f0ea16e44de86c196d047da4094c8e6adb5fafe8482471db24a2045261d42cf0d0b911693ee148aa87f8ab5b0fe57222a307631f1cf0f6b7fff0f3fab152a7b8ec25091111f657595ce3f3ec94bb010001 \\xad2bde775f4e03399724babe5924c284d9db9b5cb6a6a3700952c8b9044492b8da952c70026d462503dcacafe3db1616076d46c714eff42f1b84edd3aea94200 1688195189000000 1688799989000000 1751871989000000 1846479989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-384 \\x8bb3ca9bca30cdd99ca923b0eebba9c9ad8cb616d34b5e4583a3c0f4ff61cdc63f9b3a866975185ad6290b1d3050be1970db6fe9c528c7d63f3f15119b336d38 1 0 \\x000000010000000000800003dfbfdc0d1754087165df076efdcf8271dad6d777d923fdc28ed1be99f7cbdac096b0bffad1def862638569ecc2eeed586733eddfa5a679f7fa692b90295ace26819f8c95fb13e50b9d7dea8c76328d15be17d043d8a9be7f5afaa4180bf59da3f46e33e428412d5e903f8d4ca4f3ce7921af93a49c8c7a25941bee9872ad7a01010001 \\xdf29d228bcc526d3071ebf570443112ad66c38d608fc38b41a3205333bc2d702994c9a0034edc3f4c4597792cbe6b569ac3b1d0c6658b8e135ef6c276b3ea903 1679127689000000 1679732489000000 1742804489000000 1837412489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-385 \\x8db3465b2af9aaffdbe50d07cf13e32c515045810eedffd9a6f9eb11487f95098144bec84eb1b98e432df720d0aeba81c368e05384ee731ae6015be25063e207 1 0 \\x000000010000000000800003d6e0844c9c0f1c14a1228c9283b0e3e8baf0dc814c3631b48c06e67da95c8b4232d199fda43dbede71d97f7a374c18e3ac7c0ff0d830f9dfaae672dd1925b103f9295e5fec960cdb4e2a616259e8462f66b3ebb9fce482ef2651dbb414b03d1cbb2ad5c895b8aa9774fe82a6cb5ad7699ae01aad9d05db569696715da61633fb010001 \\x2da13e9d6e04919f984525652bb01ae228774eb0e58322631f8437d2bed8f7b8023278d4ec9b0751e8c21486a46f64711c453b35132f4b5792df2d5369c85c0b 1687590689000000 1688195489000000 1751267489000000 1845875489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-386 \\x8f0b2a9201081183cbc455099617f57ce035b4cbb74d451546a61b86e17d2016e046d2203d2a18857dba58b51af84568c36bd4e8f92679b0cb6e8bed57191581 1 0 \\x000000010000000000800003afad7b8566f22a76e25aad6738caa79d68efae310e01b73955b1455995012725d904c386295f6896bc0a7835c8ef5e4ac34b13ff5538ca8fcd9a135c0158f275113f5541d6f6a025fecdf50a07e33673293918f617d57d74e16892c6dc3b04171b03ac1354be4a0b94464f6598c2669a746b9c5d7e8b517b754ea65bbd5a7b2d010001 \\x1d4fe07e12a2a41d138d6c9a825d33b8c2b48a57db84b3cf0e5e9a32fce4c7e6d99afc6488edde7959158f273b6c0b2dc2bb8c3e4d79dd2ba5693862039e0b04 1677314189000000 1677918989000000 1740990989000000 1835598989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-387 \\x8fcf4694fc2d5f76fb10f454f2ebd5fb799a7661a15a650da91d30bf877a7bc94f3e4f9eba285126dbcf8dca5de23f85f222462d10cfd2b82cfc96dad0e2a5ce 1 0 \\x000000010000000000800003d1eda1cfcc5ff24363de1b2def8d66c3dfefe3b7096feb6bbea687c4f11ea1e0ea1d053a297ded931d4e4ff261d8530b18872d5d6c10040d1ad125b2394c547ef94bf0f150a765ecc90471de8a0693b9b69df70246f5edd12f7b787c0a95ad6bcea29de4ceaf59821f1ae0be19b27cba0b5361c4bd0e030889c48a55dc7e60eb010001 \\x003d8db903f1fcd1cd45d5be6da821d61cd2ad6345ee75b61ce82a21e8fc2e0c75421fe8922f51f122dca4813580581b4a2eddeee3bbd04079edcdb87fbdb80e 1686986189000000 1687590989000000 1750662989000000 1845270989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-388 \\x90f306144235cbe09c502b28f1ac4d1094c14a15de74b31431cf61e57c56ef09d2216e18296b9d298f8784366c72f7a77b50de06b79b56e86d293ec22a8981ca 1 0 \\x000000010000000000800003d056709199083af0f5dfd514f8ced92bebc305ce7f82d5fec64a21c279148a37b12f58deb42aef462995db5b1d5fd07102984d8eaf9c4b86ff39789065845c67a63c571c025ac0cd71db0c131e8b1c4ece3cd1a67a4a8ff523867f0a80253a150c930a48a935d799a2905ed6f91af57da8643809243603b5a8d997a282eac445010001 \\x3b36145e32274cde321b81c6e3f35fbc58fe22ff9508fba932857798d8054c74bff2080c431858e1b4291de6cbae07c63693c806a7135e618568ecd9f50a9a05 1685777189000000 1686381989000000 1749453989000000 1844061989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-389 \\x9423d501e27f2bca51435227e319fc1fafc485e1bf26f635c5eed48f41bd8c319a54b65069ea47e69fee338043ed4d4c0bb5411d2b8db7eb12a2592ed6611758 1 0 \\x000000010000000000800003dfbc76b5f03568e00505d3216e6a4fd40053bb6507310bc4891d9f00b305e7724fb08783d0ad6c0c8b32e9f241e044b40f38764123eed60b03b4b2749cf1bed242438827c42514dba6cf5111619bc769539af428fa2c087c7699b8854068cdd6eaf06a858ac3bdd9a7aba195b7a59991911cad86a6e6d628fbab38f0d32d8791010001 \\x92d519152ac867940da1a8a0befb6963bcfb4fa6c5c74d048440430571a3d2bedab7f9ae9e595f81b20f51e6b10e0b2bc9fc76fefa1b69163b4da6ede628650a 1677918689000000 1678523489000000 1741595489000000 1836203489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-390 \\x9e576581b4fbc34ef0bcc283a943dc0a5bec36da33eaca4568c2ea089c389abee22ca055827eee9bef0cf78282606de31a1f29799d17579ffca6205c6bcba537 1 0 \\x000000010000000000800003b487db184ed37cb49fd6c0747dafa54878c4ac64fa36b4fdc74f38b361e143620c04b05ead9d18e05a6f669fd94a5a4b7cf8e6a782038768a8ac2cf85d06ce1c0c3db0baf3ab8748b8cec2eab281c71ce494053f2351e4c30a12b92a3b8f35be392482d8d69c633a8b4159fa006ffae701e3c8e78f17f46188fa408db2bef4c3010001 \\xc8ca7aa45b078e44af603d6117bc839f4955226f69c17fc95579f8b93dac73bb123ec51d722c94ba289d6f88670dece531f57861b4c33918cc85bbcd79343f02 1674896189000000 1675500989000000 1738572989000000 1833180989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-391 \\xa25b2fde9d321fb9ecd1d5d342775c4bc1cbad387f5900b100a4c0d3b19e288e96f0f009f0b5b89bb7197b065f42c9c1e224b48cbf4a52b6ff671bc09bad8536 1 0 \\x000000010000000000800003a39a9d6121f16f19f65d91b249e730c0953cdce301cc81df0257bb185711295de51f6cc7654aa70ee7725d5f9a4ad8e4d63ec363fc0834ec10d059ec4e1e5f5331b10c462196e66df9e0da9f1e3a86aac96640e12904b5a36d782a029e60285ce739adaac02828ef115095d9cfbb649582b06b8571b5a6c64cc4395c05f95b9f010001 \\x84a44b864418c19117e47b1bb7a8cb937ab5a256bb5a6eba6005bf511df97fd51fc4dd46b82af7870c48448e14ac80fdc17ad06f4739e617d1b48691824ca706 1677314189000000 1677918989000000 1740990989000000 1835598989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-392 \\xa4d71ae6bd687f31bc83d6f40a5ed3490a84aff745bc251382bceb4291a3634ae7a50fc487f9d10ed2fb7786e04945a9fc09a67b4ac940a452ab2471a311fda1 1 0 \\x000000010000000000800003b191efb4f45c437561efaa31b4367a70ace48b8b8bcba56d36c75d3bb54378bb67148840cdd01250c3b42ea984d42d098f9c97c8dde507b2fe7167a95559702dbc91915d0a742b4a313884558353035fb0029cf9e0b243bb3ece73f3a4a357d528195b526529e1427e2d3e00a267e22d50c933b5826ab2555d69eeeca36d7e91010001 \\x1c3b502b7cf90eab561c98b9179da22a4a5335efbe29f8db15ac35cb8ba908379a91e82e629c972069565c24603c848bf4bf0cf740c7a8894b0909e9b3c4dc06 1676709689000000 1677314489000000 1740386489000000 1834994489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-393 \\xa88beda5831b347433ee341ac64f84441620e381ca0d75b041ee245b8388ca99af8d883f47b504e234885340bbeedb9821b2e515a034d87759f4b5796be4833c 1 0 \\x000000010000000000800003dd793895c47704da331e0708fd40ef0d814b7f447f71b5e1ae0cc86abe137d90e4b7fda97a3d7b0596d857559e76b66fc7a907bb69d170b3ba883077d45f47ffa3ea8b09dbc20d80a7b25315c3214075ffa85eaee17d17faaa02352847cb25456b0f4875865d0501bd5b6f9fb694f05c084e57e0f769e8cb37485012d89d5bc1010001 \\x67b50e357c3d76a827e8dc903efec37f1e589abb077885a17d1bd4c556d8f3aace8a755114912daa7eed725262bf5c1f293f9fe99a656fec3ac5b99e7156d606 1660992689000000 1661597489000000 1724669489000000 1819277489000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-394 \\xa91bd139e504173279061f7b0a301b9b0a2b323a8e6b383d5632f4f13621c069f55066480cad04e42e973a323761e0a278cbb1b8273bb7be8fbe4c9c31a904b3 1 0 \\x000000010000000000800003e25851b28e5d16c881044d32849f66d132e32a9043e6009e573e969a34ceadeab0ca4878653c71ec16344b1530d6ab0c0e8450f5808c3ec0ed506b0b588e724e5107ed84d344a519125475b7be23da668352ce1c96f70cc91b695dc9ac14dd6d3f38a3d6e49c09f213e1ced3ad9c9b8660f9bbf132bcccf1a5ab727d3ea191c9010001 \\xdaae9decbdf92f14a531ba822263cf84dae3ab28d169a703fba082074abfd8e1dd8c3984997186ce06a5ff8768b77e83142ad67fa78e855bb619c6e19bf4c30f 1682150189000000 1682754989000000 1745826989000000 1840434989000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-395 \\xb2a3648b57b943b1275632da6c43f0de6a577546591b3ffe5459a9cb59f6fb7c5d78e35fced80246f727abfcd054fa8b395dde64a23983fe9b209c6c6c57f941 1 0 \\x000000010000000000800003e38e4edc3343d7c13d8f2c681333341ced5846ff2f9eb2eb5bae837dfdfdedb23a918ed809fa4d662e6fd93587f928ad9077bcfe13519f7838271c1bb9fcfe01f6274fc625b9a34356b2e441f5a49a476e17484a442c0b0765ade9e788c65fc499ff5eaf80ecaa60dab97f4a758622bc7d57141ea52b6f64f5449cb963732d07010001 \\x5829fd2f62908c4f244fe0280455ff5e7e783a8f3b4eca99430bbd52a9ab28e095cb19798eed709d9f8daaaf2e6053e8b46c7ebddf320d3a4fb65fdf38bc4703 1670664689000000 1671269489000000 1734341489000000 1828949489000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-396 \\xb37bb1b95763425713de84bb82bea92d7790f67f976a34dd14042863ad9b36ed5313fc61ec2722cd935cd31e5d61f4d6c3c1718dcfccc174d4c2d26671c53338 1 0 \\x000000010000000000800003bdca2e815738b59cec02fd9e353516b94a8613469ed8c6af3b627e2e0a1ce609a1e1a9011c12eae6ab1fe9c13e57a05aaf8ee76aaa94e3c9ad8d765c42451f0f1a8c2d89fc97433204ca4944c959adc5d3518b66261a3ad18471bc113d490fdd8f79b55a566eef03b6310b94787a668db8468b51b6d9d9c433525e0eaa017b7d010001 \\x6e1df6d9be582a63be4a607d94d53ba8d6127f79c07e8bba05e38a6686661836973957cbec1e6725e4582132f7cc6652b19a34abd71a750add3b3571e330c40e 1692426689000000 1693031489000000 1756103489000000 1850711489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-397 \\xb76721d2b78cd71074b8e8373f0f85b6018bcc768fcbdba8bce98dfa66a8ea869e0b97121763eaffad70aa32ce52d00a85a9daeeab95893ccbc1a90408f36dc7 1 0 \\x000000010000000000800003ecb5fb88900a8ab710ba096adf124b9c2d90c40d6a382d63d93b5544e63f972fb3afbf768ac3df9bc4d4c02bc68fe95a32093c0e3ef8bc0fe029255ca4fcc5fe16fb72b84a8d5aa9bc01336d1437f7541c18dc5ea6b85ca7ae676b89b6ea64040e7a7755ef8fad566d58837b6970521af8e8fbd39ac1947fe26efa2143f3053d010001 \\xe77439c5c4cdcae6d4ac8dabae50c3cfdf0c05a428e2bd13f47c7d13ddadf7f5c28265945428c439ca002471261d317ecb0a33dda96cc18bece18ee14fa29d0a 1662806189000000 1663410989000000 1726482989000000 1821090989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-398 \\xb8f7a8f479f2de9c21d2ddc725837502dfdd0d522118b5fc31be243f1cda869144397a88d99dca275172e5ccbb1079327f2b878a06818f7216f1e4fe7c78e7bb 1 0 \\x000000010000000000800003b7e937d989a573f5b0521bfe55ea9e30e4e1cbfe5030fad21fff10389e73aa847384c3343f3fe4fecd907b51b94c1da950dc817ada2f4cce15af6690b3e23b4dcc0bc5ea9399a4fd654ac70953f27c7002174f91eef806750a3caffa9df4144915990fecf778cf2d225969fafa0a0d989c6ec0da71f20967811056dbee4167db010001 \\xa0f53f2fdac4911101687e58d54cb7dfceda039a3bf0a145d51af98b06cb7722f5b61f39759fbe5b49643e5f39e6dcfa70ee1454152a232b79a9df7f94e95d04 1671873689000000 1672478489000000 1735550489000000 1830158489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-399 \\xba531a979ae4991fd4fde93af00f92f145477a62033cb3a99c57dca6d58d1601b725d0f8fda1d31f3e056913452140c9cf18c1ddf0fb57a7b466175679264573 1 0 \\x000000010000000000800003b426a0f1c8b4ad718e81d5e4a3dc5b4da021ee9eaed1bad0171123e85646601b936c689420f9558db63690fa06f997cc7ebe6a5fb7f1b1f4af84df5e482c16587badef5744e3ef1c88b56546012229953f85879e9673897ff45682a3963a22cbe9ccc0afd90642d8e07920995a1cf0d8bbc622048907bcdc259970c6f5ca95ad010001 \\x15b5a6bae0f74220356601da5661d7b69a8cafed01f40a00ab86caf87930d40e65213a8bef757f6e3e52166c5732f0fcbf36c871522e16d613a373b98b51e901 1668246689000000 1668851489000000 1731923489000000 1826531489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-400 \\xbaeb747a194330cc0e0d5da97a20bb150f25757d0dded870916cfe11dae65529fba9fb52864b01244900c59757a963cba0784cf19796509b33fe359c01e12fb2 1 0 \\x000000010000000000800003bcd5829b324f58ac933d7edc4f79d184c554548e84f3f500dba9e7cbccd30e7e72d0b41f3eef81a90dfd9747ddc6ae82353c14a23890e5b0bbc799cf3eb68e733f9672403c1906677255af804dd3cd7cf180ee0ae8957d7655ab89dc3bd9f3833f7539f43673da3320b88247f647495ba28bb549f625bf2183c4ea57dcd48b93010001 \\xb6de96237221f8524cbb37b6c0a95775e302ccfc233717f21db223594a7bad991a27c72c935f9b7ef96084791b4f5e205fd911fc351dd594702c47d1bb96200b 1665224189000000 1665828989000000 1728900989000000 1823508989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-401 \\xbce773e26e8b0cb2c31154343cf9364d963143e5efb92698b3c391cfee06430b2ebd2e678dbf6a04ad2efe19b164e45c9954284ea250c8f808e2819d98e07dfd 1 0 \\x000000010000000000800003ce3f6a1e5a5354bb85c711e13b0810b5abc7b29f10f3e553eb42e184d66dcbefb3975f00f2edb795f90709877d7c9b4ef3f659693be6e3cbd2b386a1da66e6e82f28faf61074b92e0ed2394716507051400f98100f318c4ca5aeacb549914dc39cfb14d9cfdf0f4b4b46938c57b64aa17cbf02ae3d4d0d42cc3c4c7e79b35439010001 \\x17b42ca5ef9bd7fc13ffdd09c6dbe8d46e5fe123e9c7897a831805b2a58e6ab0e9b80d62ec51e0fcf91d2a5946f1d99627c7a32802d8e0a560315aa76b8a700d 1690008689000000 1690613489000000 1753685489000000 1848293489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-402 \\xbeef3fd95b6d0d5369bf4677678b8145d17db97914c75af9c2aa276d2517bfbd4021ef16ea04553893ab047207abad83a0f61fa6db533bc064652f9c1e748ff5 1 0 \\x000000010000000000800003e9b1ef54c5ab7b3c0d576708dd2a8201003fb161ab29e8e2edac2f41315549126b044c6af9491df4e227ed900d1668b527868de771483bbec93a27f230a6172519abbf42c3184fe4e2076b5d0e51749f33fda10e7f89bf22929254025352226db61d456d121cd177a8ad4abb25d86e12f69813fc7b70fdd17089df235e48aff7010001 \\x460f353d5d3505457a97a7927aa7fe7d55ce33ca8c4fe36af55e9a626666c96c2e5f205fdc23d360387a428ccd90682ab2beec115a8a844c055ddc0ac1b5a603 1690008689000000 1690613489000000 1753685489000000 1848293489000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-403 \\xc46b1b79ca2bc62db7ffacf9e6b77a45e1b1d3afb616508200c36f21b76d7ba3afb668dd832e797fd50193b479436def8eaaf7e5f2c71d517b737859d23ac93e 1 0 \\x000000010000000000800003ab9f6c28ac7e238bf8eb911c48769866a1682c9ce3b34ff759b169c3976c76ee53323015ca8e33cfe6d1b558f677d50c0b0a276504acf71f1b4639676feb9b70927684d15f5c8a7309e482985955298134ca5178c883cbe5f264060d0f9c973d693586ba02ff6a9ff11fe25a5dc344d00e646935466407f720ece0227e8487cf010001 \\x8170c07895a79e1dbec9b509d7fced183ce5f82727ecc8d6fb1d41c7556cb716a8b04b0d47718fcbde6a6b2e42b07525c00dad2a6bca47c98a6d6a49ae965b08 1676105189000000 1676709989000000 1739781989000000 1834389989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-404 \\xc9d303bc62d5809f1168d6fbf5102b610232b5fa03c5bbb337cafaa06cbbbe132703e65ea976b5097b26d350dbc0ef92e6151c0438508840a3e690cd50319d2e 1 0 \\x000000010000000000800003e57f53635958238a6c76ce321927c699cec24276f4a6093332d7f29936deb2285609a8496290a24925ec974165c6fe1e816de39d2f79d69ed1ae8c83c87f5af75c46446dba364c84b94a379b60f4546c611f44b51898c0b6647471a8c816bda10a642d9cdd984c358267c6fec60a575ca6f94188c97e989445975cd305c36697010001 \\x44b8744111dd7bb1edc49caf72fb9df2b443d422ce1c647d40a654a1ce9a6e62236166bb9a55b1e0daa5cb65e3fa641582da0fa04d38138d0a9c3e69900b480d 1674896189000000 1675500989000000 1738572989000000 1833180989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-405 \\xcd9f084f52cf8f2d57be8cd83052cc9074329890a8f140a7fd0e1f8d64b55d91dcd6202c92b9b092c92a960829d0d151fb9683681cf69b73d0bc0c855ab54178 1 0 \\x000000010000000000800003c723bd54a3740bf71ee6e7ff7fa561ab2b4787e51a34df0c4bdb046f0061eb30239d41320609a8a88fae51c9a59d38cfa81b52a1f553b09ab4bf6d6e6de0d035d7f3b5bfdafe8f39bbacff9c450673524e9c28088e8dcb9be9bf930cadad2ce89d5411f4ebd2a525ff836f3eff88ad69b35d40186800d2b849c4fca7e6893b59010001 \\x9fbcb77e3a4d72247fba760d023a441c72c6e87afcbf092cc2da63a753716d082b457f1b7706217a7cefd4fc5f0aa3aea0d5db031826297d1c5440c193637d08 1677918689000000 1678523489000000 1741595489000000 1836203489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-406 \\xcf6bf04b668b782dc9e3fa2b1bddc0632d61336472cbba5c6d94d65cd1d7290e911cbb988d5f66286eb94f6427d7573853a9f9800acfbea65e27a062699ff1e9 1 0 \\x000000010000000000800003e4179e53d0ffa5fc8ecb8e1f4b2ac6cd0af487fa808688f714a08c9bcdb95cdddf80c3809801226c28af5d15766dc07848132e991ae0c526e5e85984038e66c991aaacb8f4f3311222a5632ab6e82afdf8d0450ede04febd76d58e3571da341eee9b522b8f9836fc24f75288eb48b6bb9aa299135c7caa527f88dcb993ce26df010001 \\xa9c5af9258a7fe346d5f76177879e33f3464bcea520ee3c02e21c5536fda0d5a4d279d13c9b0249a9f923934cdd72f7ff67f4d78c2e215d73a77ef5cd0763d0d 1664619689000000 1665224489000000 1728296489000000 1822904489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-407 \\xd02b02f0de1cfa82a014a79f64c49e8a9bf053a8436be5ef7ff20dc6a715a38e9694488c2cc7758607f0dab5456fb7f8a40030ea9ef37dec35cbcf582418dc48 1 0 \\x000000010000000000800003bd9f1b996f2eaf6e26d32f1326b469691f0f4f42ca99b9b1a20d456519418ae0c162acd340a0aa025fe7087f17362cc18f652e61025c6e1a54eb773d8f354ae279b7c42e1b2246d85ddfa5662998098d4c1d09fd84b3a021cf0f41bd80ceb71e8f421d071e939ee823615efcb97c3c47237d3951d3863f07d06bb5f0dbdcdae3010001 \\x8f7f82ff5ae6088309d2e899c45be4b982032780e1c7be9c974fd73915a95a376971327bb517df5d035ac1fa707ecaabb41d2af3724cf70be869bce52dc9d505 1670060189000000 1670664989000000 1733736989000000 1828344989000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-408 \\xd343d7cdddf5a762e7a783e5061ca662cd2aa8adc6d6899ed8e20b8912c5580b15e39343e6468193da17b83e8f1003bfb1065c296b125e529db9f4d74bc85f74 1 0 \\x000000010000000000800003dffbf347787ee10db44ab1ecd3d880a428bd28ad3a703fe5b56130dcdbb2811f5703a94f3d145a9b872c971e076d62522a3ea0b6b7b26db7bdfea10a5295c262fd2e14e0b24c6a8d0d967599ed72340370aafaeeb51d6b9d77832a4d573a427a996133a5d3645e714cd273e5aef52ab6ca3a343156807d85f512eb5f895761c1010001 \\xe05ae1bce7aea630c500da8c8fd48a68e20f88d8999f604e89cb97519b7e30a9ad7687d54e349d2795b377f42d57119db983bcfd1fe3843858740bf5158acc0d 1670060189000000 1670664989000000 1733736989000000 1828344989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-409 \\xd8ffa4f7eebb44c051546e80b99e7572f500a4127c17fa5a1956eeb652a72ee69d06052e2ecc0e17458f1b3b0d16b38e79bab53f57e1fb61d0a6c98d3804bf32 1 0 \\x000000010000000000800003baf278deb10096efc982446d802b9b945b34a45099657245e22b5162235c9ffd201be8a1b4cd7a3bbe8ceb79876530b9d73fe3ca0b5b509971e1058a53995a44bb6aa2d5d0a843ac2ba025fdad1e33e1c1197f575fe3060efbe4d4b31b45ac0095ef3b02b15291c34134abe7c2a4a3c05adf1280c99f70fcc787af28a685937b010001 \\x5673351fa5c43a067d14d4fee8f186c591ed594b2e4816d6c6fcf75f7ea0b5a0c8984aaab1da96ed0653c2c8533c6e1abd1037897b26d389c9dd3eed5b728100 1676709689000000 1677314489000000 1740386489000000 1834994489000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-410 \\xda3bebfa9b45bbc0dd0eb9099d05a1635533ed77d099dbc8709ddccd81a8f267e5087cd166093e883ddaf048a22ca5374260446dab704ad5dcc1036ecfbcdf38 1 0 \\x000000010000000000800003b0803398dfdfae2d48cbcc735c89c753b658d46dbdeaef6254901de5d66f7e2c6f09edb4723a04e436184cf11fcc7e048e7cbd9e431fcf541eb20118739958464e7cd125555f646aa81f4f1c47447d0a73ca02e69bb0694918d8cdcc189d82c853df660339dc50bb77f95f35cd57587068a5a6373a6b4f07a255d2f748f4d3c3010001 \\x2fc0ee147ba830723a3c600ff479320e967fc18dbeeac7ae1da13ad733541afd6a3f685616bbdd3c24bf960a9300aad1e133a5913de46bd0739cf414bdaa800e 1689404189000000 1690008989000000 1753080989000000 1847688989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-411 \\xe25fdbe80bd3c07a5b85e7edae6ca9eceedf33bb7077d89a07a1d5ed1e787a8979fe5e2149caf4e8610c3cd51b7b94bc524e03b8abcafb24c1d1737e69f7a23e 1 0 \\x0000000100000000008000039b79f225fe48ccf36d02b00d3c85d86d99a0157672993a9d72f40bb092c5703a2d357b4f5f2511dfd568cfb3d75aea3b0584f99788ef7e02f29af4745494b6bd2515dda2162ac173abc89eef7aa4c22819fa6fe94cca01822c09635d73ffbe322ee4f8697b7830d2f5cd11773ae38583de2c6848a11de947899134bd10f70bcb010001 \\x53de89307edb37de2eb7f6e48aae67d543bd734bd01a326187d54be2566c82853d12facabddb9153d05267ca29bfd2b2dc102bbab6af1713cf8ade1db05ab10f 1669455689000000 1670060489000000 1733132489000000 1827740489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-412 \\xe6f753ad8310df7863ee8330605c2be1224dd4562e584fb262856893213d62c43b2b2217d0419c81acdb0032144dec5f219499f9b1ffb0245202296d2590a569 1 0 \\x000000010000000000800003b3269691a89aabaaeccc07e377b2aeffd56e54a318e000590ff29c4ada828c9b19862e562098b037f452e65d7f1fd26e900a6424b7e81f08659f7cf95500ff0328ba04b21075d18f5c886994be1e782eb04c375e27819d3a0917f51b84978434cea348ebee966ba67287d486076d1672e5fe1ab44f7775f1ba328722594366ef010001 \\x1cadc44287669f6d210cfe11570b09c6cd7411c3d965b81579f3ce76226001a67e9b79ada973954d658cee871ab4917ea37d5103bb4d53b20ef8d66bfba4df0c 1682150189000000 1682754989000000 1745826989000000 1840434989000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-413 \\xeceb0f5dc93e1891c1a01a9f5628105c568bdca34eaf7fa027b69957f55fc8e146ad81fcff1f851ff03672c4223dc0c12a574dc83a8080ab0b5a2eff30608aee 1 0 \\x000000010000000000800003b8b9c1857d63c42ca676076749a8bdd8077969bc436c1fb7fe66beb99ae0de12514e6a2beff8e2ee94c615c26a07d1036bac256ee32f68d2b021773619a9003f03d16ae7f1c24db1f59c7345b7a28ac585107ef71292d30499fc7d04edce4884187c27aacbef66ca09efb599acd2c14054599ba538b1442570af9697ce598bcd010001 \\x356123142c881937cbca65af589eeba4e94884a183949bbaff13cb60941181a49e78e9e13a615e13f2e2d4a124810a6fb3cbb1b7c4481e4d7e192c82fac81f0a 1683963689000000 1684568489000000 1747640489000000 1842248489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-414 \\xef23c34e7669218d57c1c1f9d01040f36ef782bcd670dd29c0a3e2de561849d624e8be5ec0e85ec70609e9423c1a1d712658b8ebeb4a86dddff32d08e64f1f0f 1 0 \\x000000010000000000800003c906f54f1d218cdfe3da9d115903959ffa42b8577a2409cd72bbabbf4391cc402e9f8748416a7e87781324f377857a494abe42532ff00f13c5abe654faf9d61a220e3f0d912bb1b946a189fa7b5c5ef9595e804f0f65c823de55ad2cf5e089a3af23cef05c709a30be571adde8c3b171cc9cf3a2a5f98c658cee5b47d6f2d293010001 \\xcd581ec692d24f8b4fd109fec810017a020c72d4c7b67d19e58de059e75c29c16f3d11644cf4b6b362a7615fa41612467cb95a85837b937a6eab6c7a2cd9cc09 1670664689000000 1671269489000000 1734341489000000 1828949489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-415 \\xf01b1e16973fc48a9b266cb238e59086c6407bfdc978b86324b689d94fb01bbda3ca3920cdc3cfaf614343762b5309075afc4794268d04026aab9606e5e9efa3 1 0 \\x000000010000000000800003a1813384b6d43d2e19f513e68992d82412fdf287bfef9c5d03c52997e074018e8cc8958aef42b429a2cc02b2e0758dd8d27afa37d828b773e1276726bb26af27ebaac0247938a30fbe9a9fefc88d1dd2210fa062a35703e87a5f201b06db17f5a07dbbb6fa0a2feac45b07f4ecffad2d2ba46e89c45d0fa586a9a9df028c75cd010001 \\xe5aff6e3f2208c4f6366045bafe485dad2e7853eaceb7eb9235d4af03127a397250839fc7e4c3ad2ac6ecee64c04012a2503aceb18f6f63d78d23ae7a255d501 1678523189000000 1679127989000000 1742199989000000 1836807989000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-416 \\xf16b8d24037371c786f4c3c5b80407b7e5044321041728a11122c7fc2225ee914312f6b29ae33556206509ecb756fe10b125c09a7c48275bebaa7be652701d6b 1 0 \\x000000010000000000800003b688cc69fd638cee9b3f11721d6c63c564a74cccddc3ca5082b32e27ce3e4f9a06ab17fe4ac28e203b083376e3811669f339c9ba3756ed8eb788daf068cd5cbe794d442b7b9943e109a46421f0773a47615bb04f7def95f57c2d738a27910f84ab49c7668013d350068775a9f5d83565c71d87b6d1fbd447ea0c139bd496e4bd010001 \\x5bedb4cc5663dfceb00baddd8d466130a1e9e19f5fb4401c8bad8a256b565cf3da614e593cf3c400b51f243e13beedc433ee0d2cae5e02e9fc1a96e935b87309 1680941189000000 1681545989000000 1744617989000000 1839225989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-417 \\xf72b0215eb1fc965b9ecf50304e8a7cd8e74ff53347bff2902e810edf73edb068fec66b78a4c3cd34e31035ced77f4d09648f7916ede87356014a1ada4f6ec34 1 0 \\x000000010000000000800003c1f989c42c9ab56672c016932f9e3d3731d6341a798ae5fd7c745f34dd575e4c6979979cc4ed8d8662c51403f1b4a988fdf3048bae16bf1c00bed3d813459389f1d40af5edeb7f72939a486e4cce6c6a6550f3f91285c9b18ffbdb0bbd2bf8be6d381bae660a0c821652e7c7b5e9ef5ed469576a74fcf37aac23f7ada5a368f3010001 \\xe9b544b0c43e2f5c77d4725fa4bbed830fa8eddd2e44b69bdc165929544c099bfc6fc0d32ff64e671793a591066a8eac810b41daf522f8aadd467a92e17c9a03 1670664689000000 1671269489000000 1734341489000000 1828949489000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-418 \\xfa3b606fc91a5503027376c1bf62acbc06a58737965b42b2553f1286514a3cf001544428439af446e9f54ce899fa825c468cfd849e842293879407b74aa4ddc3 1 0 \\x000000010000000000800003d2b987858ff2364ce237356b698282341f852a0d5998737647b9921da85417ce6f455330087fbbf2c4de5081db22a528007da142b351451aa9e455c8fc107e8b1fdae4238ac3ee199d0a00bc3eaaf5aa54b3294f4b5ff1ac35bccda1e1ac353f9d62c5b561ff3fba1c575e02cf0f9af9e982ff60f64409df90b526fcb6fabb65010001 \\xe1a7dff12b418d93a9e82cbbaa52a09667c716ade833f7ea8737815adc6a1ba38e9fdb518487207993fe81bb43e8bf6c7fc96513b8d6051e2eb3879ea87d930e 1673687189000000 1674291989000000 1737363989000000 1831971989000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-419 \\xfa6377caa03933dd30342eb1eca405ad543027c92e145dc019ea96b886ac6a3a649fa5d15a2324459f95b652851baf1dd33aeec40008c476ed45a05b72b027e1 1 0 \\x000000010000000000800003d0c7e19c8c3cf7798efb78e6ea5bb1fb57e761e819f7e2aed56392bc18ca5f47ad542a3b77e514e93f2eca40662ada02fc828b9d3dbbc6983765c553d0c0f804a5f94246281391b7d982a7cf1bedfb36583636fa186ed2c77080876f25bb0d55db34e2314111363463733a57b6976eb5f078cb2c6df91fff9142ac772185b919010001 \\xa5fb6aac2ddd14912c8a866e774faac818e502a8f29333cde20d40dbd18abdb9f9a91656324f6e0c528d277f6368e383dfd1671390b78ba526362720ca8c9f09 1664015189000000 1664619989000000 1727691989000000 1822299989000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-420 \\xfa0faf0400338614f185cf76eaf471ca5182c5c4cce93cc0d8717c1b0e5b6163e1123cd75ef21323d664080491cd063ce1bd34de50a2589dcd80aa55ac882600 1 0 \\x000000010000000000800003dbe2bf6b932f38b567d18837f5f9b8db2a6d4884da45a40a9dba5665fc1a0ec574c841a505e3196f6e457a46ba2c7c9c8b1a7e22881e871b4a657749a898364e96e613439ed724b3ff6932dd78bf825aa8de62ac0f715ed0af873c0d1d5ccc941cc2322e8824bd554aea36b193cd024979ad890dd5520f98c3501f52d0025b6d010001 \\x315f36f8ae4c7bc6c515bfb3c70d8172a1b589e7ef420a80f81b55ee638ecd037cfde48535f2b359c6113f8c986aac6d5c622ae4007a3bf1be5ea63b0f4fe50e 1664619689000000 1665224489000000 1728296489000000 1822904489000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-421 \\xfb176b7c0b8e88266a5bc5f218a178a064416778ad942665f4bbeb2a6e56d03df85b7ed45fe903852d950d53788e4d857393c0a47415b88c0b3ca8bc06f8eb14 1 0 \\x000000010000000000800003f45265838a22e56fe67ac037722ff4afc21cc6790ae5736cbb9e30d9fd69262de2ead80028ba5021773400dd79b1e99f2056d9664627a08cd8628184e285e4c3d1de7f84cf69d8f7893ff0d0f1339aba5e528701040647dcb98bdec5212e41a2154219291ec2c5c6ec3b3c5f5eb1e9227e416ad7c4b477ad8667a3f14a40bae5010001 \\x9fb5f3f7523d5a168ca8c2f690f06dda1540a9b021dc77b5a27c1f49425d56e190d602a1169c3dcd94070987929ba9442e915187522cad918b6bc3b3462d7704 1685777189000000 1686381989000000 1749453989000000 1844061989000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-422 \\xfc9b7a118ef1d759c2b688f472fb8fa7f234a8fef2e0d8e7225931ff249f6807013ce50a35faf8b775b8fb9858134c2c3993f3747e29340394904e88ea492ffd 1 0 \\x000000010000000000800003bfe6e6168fde0f83d5add0fecbae378aece169443663d54eb22a9bd7d4ab749c11b326981a668d8c54d2813cce6134d9755d19e2ca6c5ce9b265092f36b55cd86cab2b55a8f5b076f0e7f23a2cdcb3cdcfb1f5aaf97d71e75f2d482bb4f3bc3b40b789611961c09ac94a99c6b7c3f52a82adebe32894be5a3ca06ca32e65aa15010001 \\x7b70a010d52173de3e5ea4cf524eebe4eb46a912aa3c2d2fae05361fa8f241f9d8e50ec4ee066705f0b7ca303645712c0850188474338cbc55ccb537a392890c 1669455689000000 1670060489000000 1733132489000000 1827740489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-423 \\xfffb9dc9d12f061c9963f8ea3dfc2f1787f1dac5cdfdd671add64b115dd0ee60907fa118afa0f65fe8dddfe910edd386f1a953c28eb135e335e13102af55a918 1 0 \\x000000010000000000800003ec10a33c33b2e9cd7e9caaee8ad26ba67d0948b50a48cbe24ea5ae85e2f344e7b45b2a8729160392584b4f823563f0902c53c1db12a9d6e186c99138d1ff0df9c3c1700cd17074f477d68ce29fe018f37baa6e062ed61357564592cb741840c9d0e4c4e4bae113fc944d7dd2c5094c513a30b6e18c3305fc22cd2e8601dcc977010001 \\x41168837218460fc2964210168da41f3c72d930ba19f4734493331fcddd7a6e4b572d23d305e0fe730621b1f75c65b0a65f5ab404893a563b814202f39ed9e0d 1685172689000000 1685777489000000 1748849489000000 1843457489000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-424 \\xffff82293eda3e42b70e344b325d06e69cae324953b917c147fb4858b67a645dc4746c74ea7a7b2d18b6e3a5984af9b74bab4cedcba1926d52c0b01ff82c545c 1 0 \\x000000010000000000800003a1bb24ec65023f942ccbd0983f0d001d9a15155cd05356849cb75666385f5212f1126c1d7838398f053fb5c129530bba67c5af186e403ec66c4fbb257c004e9ee4d2ef59007077bf377d0ed700fa212c28c5f5894b5cc4846e2c48b776489287e32ff97525dd5a1ae9455ca3b604fc05471584f9ef1b4e83e53cf7ce4315dc39010001 \\x655fb2b77ff5be20f407977f11ac4871a5682c0fc2c36746e4e69688af2f598f344eb77e50bc8933a29129608ffc39f1495d59b1d8d6616a7c2fcbfa4a2dfd0d 1691217689000000 1691822489000000 1754894489000000 1849502489000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-\.
-
-
---
--- Data for Name: deposits_by_ready_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.deposits_by_ready_default (wire_deadline, shard, coin_pub, deposit_serial_id) FROM stdin;
-1660993604000000 1056399225 \\x6adb31bd94f30695d580dc4a6c3b121a87d66f00eb90f7f355fb63dd15e97b4f 1
-1660993612000000 1056399225 \\x313b9c4a779ef6904dead059e2d10cc7c6ebd55a5da776632255b960809851dc 2
-1660993618000000 1056399225 \\xeef20d0da277529e070bdb760ce75207ac83071b72bba0ec3361cdb1c5d320e0 3
-\.
-
-
---
--- Data for Name: deposits_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.deposits_default (deposit_serial_id, shard, coin_pub, known_coin_id, amount_with_fee_val, amount_with_fee_frac, wallet_timestamp, exchange_timestamp, refund_deadline, wire_deadline, merchant_pub, h_contract_terms, coin_sig, wire_salt, wire_target_h_payto, done, extension_blocked, extension_details_serial_id) FROM stdin;
-1 1056399225 \\x6adb31bd94f30695d580dc4a6c3b121a87d66f00eb90f7f355fb63dd15e97b4f 1 4 0 1660992704000000 1660992706000000 1660993604000000 1660993604000000 \\x7afef06231aefd23c5a0bd92001f57848739aa5947de4b46cedee9f4864c52f8 \\xbf6c471c4b4cb167f7487fcf0b362e5b5e2593ff0bf18c8831e838cea19188b6f54df9f752afa00eafcd43a1f5be9b7eb069393b9a03d0372cf476f3257799e1 \\x23f98a492143f9338529295adb94de022b880f8a0e563502ff4104a57ec2a500df674d6425aa7b3205446d1a6e27a0fb8b9ea52cdb0c7e925aa069c8f47bd60b \\x43ab138760205551077a1b1d64030cff \\xd31e3f48cb5318906dbbb7948326362f41604c7a728323230ae82aa995f27400 f f \N
-2 1056399225 \\x313b9c4a779ef6904dead059e2d10cc7c6ebd55a5da776632255b960809851dc 3 7 0 1660992712000000 1660992714000000 1660993612000000 1660993612000000 \\x7afef06231aefd23c5a0bd92001f57848739aa5947de4b46cedee9f4864c52f8 \\x9fe342aa944573b76d328fdf6266c52fea74bedb2e461dc7e2066618fd2d82220c5a612cda552cb45d45de86dce66e6d441588cd9932b41463f735b5c5f647c1 \\xa49a60a0c1e9de2edfe3de80d0d86eca66e6f8d043556fe100832afa9d13eba6983448f5381d22d89319f11b0488be22fa1ae58e6bff3e80c1393051a288df0a \\x43ab138760205551077a1b1d64030cff \\xd31e3f48cb5318906dbbb7948326362f41604c7a728323230ae82aa995f27400 f f \N
-3 1056399225 \\xeef20d0da277529e070bdb760ce75207ac83071b72bba0ec3361cdb1c5d320e0 6 3 0 1660992718000000 1660992720000000 1660993618000000 1660993618000000 \\x7afef06231aefd23c5a0bd92001f57848739aa5947de4b46cedee9f4864c52f8 \\x35d4e33c0d33b399b3adf1866d5dbb17973b9e444b842de549c532e446055e1a0212eea3c6985a8a4012414d38e14ed1a308b7a5497eda32f8acb87349244b66 \\xe21cc77815254a2920158c73229bb95d5e891a8d5685dfe0db7200184ea0dda1e9268cd49daf821e2fbba7e137609dd144c0ddfe3c3ae7cd3afb887194ba1b06 \\x43ab138760205551077a1b1d64030cff \\xd31e3f48cb5318906dbbb7948326362f41604c7a728323230ae82aa995f27400 f f \N
-\.
-
-
---
--- Data for Name: deposits_for_matching_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.deposits_for_matching_default (refund_deadline, merchant_pub, coin_pub, deposit_serial_id) FROM stdin;
-1660993604000000 \\x7afef06231aefd23c5a0bd92001f57848739aa5947de4b46cedee9f4864c52f8 \\x6adb31bd94f30695d580dc4a6c3b121a87d66f00eb90f7f355fb63dd15e97b4f 1
-1660993612000000 \\x7afef06231aefd23c5a0bd92001f57848739aa5947de4b46cedee9f4864c52f8 \\x313b9c4a779ef6904dead059e2d10cc7c6ebd55a5da776632255b960809851dc 2
-1660993618000000 \\x7afef06231aefd23c5a0bd92001f57848739aa5947de4b46cedee9f4864c52f8 \\xeef20d0da277529e070bdb760ce75207ac83071b72bba0ec3361cdb1c5d320e0 3
-\.
-
-
---
--- Data for Name: exchange_sign_keys; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.exchange_sign_keys (esk_serial, exchange_pub, master_sig, valid_from, expire_sign, expire_legal) FROM stdin;
-1 \\x2747e8d76adecfc3248cc06f3e7e577f48ae9c5c0d808eabca3a573b0f095ad2 \\xe8bf9052f9c1075ab8c4bf3d757184256b640594b3af767aa39bd50c43d6011b0e1ea2479c894c6a62b6c34aa4321c094391c1c7ad878024047a40c6fe26f003 1668249989000000 1675507589000000 1677926789000000
-2 \\x2b163a9fdd5f0ca35cf0a76147e3ff593d6addeb5527f2ee36f16c8e3899e3b8 \\xc7fcf13b65d2a2a7096133bd41c531cf96234fda19dc1c5e1031dfc4005e6696d65d4cba4942c43ea485b4a7df12bfd650af1cfca027b3a12d5ce7e227e7b600 1675507289000000 1682764889000000 1685184089000000
-3 \\xcd177186b7ab0d514e78a8cd40fe94d434d6ce7c3dfe056f43992e2d2a3cf16e \\xa19628c59762ed749b7edcfa447dac56f2185181491a95d0b03258420c5a7ab497f01d55cfbfdad3d65f5c252e2654784a7239ff7bdb2cb6e329410cb5fbf20e 1682764589000000 1690022189000000 1692441389000000
-4 \\xf42008b02c9df2a62be8986ca4f6ec45c6cd64bd2437075a8acc9bc53aeaa284 \\x2fb4d4310a3b68ee76b733961e1ce6db0c38e87881cd2bfeb156fdeca4651b3b2f0db6e5c06581cd161bf45fa83b6acbce522e0a89c004660d5d2e8d869d8c0d 1690021889000000 1697279489000000 1699698689000000
-5 \\xf51f9b455918cc78cae8e6cc2ea33a1585586126d01853912b876b016346f5c1 \\xcc12f62551829820324214b98a970bb96f476ed2c973657fe76c32161ed353de762a749940cd8f45f51e7493968078584335dbc81db05068b607c1737825c80f 1660992689000000 1668250289000000 1670669489000000
-\.
-
-
---
--- Data for Name: extension_details_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.extension_details_default (extension_details_serial_id, extension_options) FROM stdin;
-\.
-
-
---
--- Data for Name: extensions; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.extensions (extension_id, name, config) FROM stdin;
-\.
-
-
---
--- Data for Name: global_fee; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.global_fee (global_fee_serial, start_date, end_date, history_fee_val, history_fee_frac, kyc_fee_val, kyc_fee_frac, account_fee_val, account_fee_frac, purse_fee_val, purse_fee_frac, purse_timeout, kyc_timeout, history_expiration, purse_account_limit, master_sig) FROM stdin;
-1 1640995200000000 1672531200000000 0 1000000 0 1000000 0 1000000 0 1000000 3600000000 3600000000 31536000000000 5 \\x56c5c3eb592f66e6cc81fa47af60314b81049e60bd9f4c6c0ef969ac2a42d43d10430187367523cd2e2384eb5391ea63519ff64e13e6613fe84e8dd895c8e202
-\.
-
-
---
--- Data for Name: history_requests_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.history_requests_default (history_request_serial_id, reserve_pub, request_timestamp, reserve_sig, history_fee_val, history_fee_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: known_coins_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.known_coins_default (known_coin_id, denominations_serial, coin_pub, age_commitment_hash, denom_sig, remaining_val, remaining_frac) FROM stdin;
-1 300 \\x6adb31bd94f30695d580dc4a6c3b121a87d66f00eb90f7f355fb63dd15e97b4f \\x0000000000000000000000000000000000000000000000000000000000000000 \\x00000001000000005e3fc75c0e99479af544214ebec5fb20778ecf166faf40654eb7fa87fdf93ebae938732d16af4574c90b48ac4e6d216de2a0d0d058589f2af3360a8f2d617f5e3f895309a5cc73ae072d30d7c908b93cde2851c1a4029d4fb1e426889e6b885a0c080e1e9185c81fed5cfe8fb38644556329bcd6b9b960db58a4d8239a93f617 0 0
-3 77 \\x313b9c4a779ef6904dead059e2d10cc7c6ebd55a5da776632255b960809851dc \\x0000000000000000000000000000000000000000000000000000000000000000 \\x000000010000000022e758dce2e4efc1f59e20e2da80e43f3ad65f6f0890495b0c2dae1b46c0a6e357ea0a413081b903ec2e54dcc3c081b66f03344320a82e95e56318b34808486494b1f2fe4c8f571c756e94ff7e3696de420cc044d86d74f073ff9254d1cc30e7985fd0b1e44e631753bbbb4b4aa0b79d0d26874a05543fabaca69d2a09196884 0 1000000
-6 116 \\xeef20d0da277529e070bdb760ce75207ac83071b72bba0ec3361cdb1c5d320e0 \\x0000000000000000000000000000000000000000000000000000000000000000 \\x00000001000000001cdf5102c3450f6a25cde868cf4cbc72f363dbeb1d466f66f871b13c27265b523913c7beea0620d4a2f3897901b0e680b46ebc9fbdca19b5b10cf1b8d3b944edc2b8b210c37d4e45a6e3aeab490399bc7399ae3d15b5bf931f8a198a42144df79f5a0fa9e82e69e99e82d8ec376cb6400d682407a15a948baf4c23d750ae0d9f 0 1000000
-\.
-
-
---
--- Data for Name: kyc_alerts; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.kyc_alerts (h_payto, trigger_type) FROM stdin;
-\.
-
-
---
--- Data for Name: legitimization_processes_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.legitimization_processes_default (legitimization_process_serial_id, h_payto, expiration_time, provider_section, provider_user_id, provider_legitimization_id) FROM stdin;
-\.
-
-
---
--- Data for Name: legitimization_requirements_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.legitimization_requirements_default (legitimization_requirement_serial_id, h_payto, required_checks) FROM stdin;
-\.
-
-
---
--- Data for Name: partner_accounts; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.partner_accounts (payto_uri, partner_serial_id, partner_master_sig, last_seen) FROM stdin;
-\.
-
-
---
--- Data for Name: partners; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.partners (partner_serial_id, partner_master_pub, start_date, end_date, next_wad, wad_frequency, wad_fee_val, wad_fee_frac, master_sig, partner_base_url) FROM stdin;
-\.
-
-
---
--- Data for Name: prewire_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.prewire_default (prewire_uuid, wire_method, finished, failed, buf) FROM stdin;
-\.
-
-
---
--- Data for Name: profit_drains; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.profit_drains (profit_drain_serial_id, wtid, account_section, payto_uri, trigger_date, amount_val, amount_frac, master_sig, executed) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_actions; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.purse_actions (purse_pub, action_date, partner_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_deposits_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.purse_deposits_default (purse_deposit_serial_id, partner_serial_id, purse_pub, coin_pub, amount_with_fee_val, amount_with_fee_frac, coin_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_merges_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.purse_merges_default (purse_merge_request_serial_id, partner_serial_id, reserve_pub, purse_pub, merge_sig, merge_timestamp) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_refunds_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.purse_refunds_default (purse_refunds_serial_id, purse_pub) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_requests_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.purse_requests_default (purse_requests_serial_id, purse_pub, merge_pub, purse_creation, purse_expiration, h_contract_terms, age_limit, flags, refunded, finished, in_reserve_quota, amount_with_fee_val, amount_with_fee_frac, purse_fee_val, purse_fee_frac, balance_val, balance_frac, purse_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: recoup_by_reserve_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.recoup_by_reserve_default (reserve_out_serial_id, coin_pub) FROM stdin;
-\.
-
-
---
--- Data for Name: recoup_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.recoup_default (recoup_uuid, coin_pub, coin_sig, coin_blind, amount_val, amount_frac, recoup_timestamp, reserve_out_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: recoup_refresh_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.recoup_refresh_default (recoup_refresh_uuid, coin_pub, known_coin_id, coin_sig, coin_blind, amount_val, amount_frac, recoup_timestamp, rrc_serial) FROM stdin;
-\.
-
-
---
--- Data for Name: refresh_commitments_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.refresh_commitments_default (melt_serial_id, rc, old_coin_pub, old_coin_sig, amount_with_fee_val, amount_with_fee_frac, noreveal_index) FROM stdin;
-1 \\xaf9033bba1d6b92e878743820d8e04d0066159516157e53e55fbfd501c41169a63427a7f0c3987b9a9fdc0a8e29d50609edfe7cabde30a710b8e083fa3f6ee4a \\x6adb31bd94f30695d580dc4a6c3b121a87d66f00eb90f7f355fb63dd15e97b4f \\x6e08dec22b3fa894beaceefb93e6a4539dc86d548f72469cbc43e2a9c7a9582471f7f37f5b220507b20957d2d1b13d6be2aaa5f2c80777982cfc6d2db323f702 4 0 0
-2 \\x8418886710cc921d9f25fa10946ed4ba03bf2af8cf7352c656ca95f8af57992353aef103f5f80e55fd43983eafdb73d4b710615ee1be34657030dde7e0733973 \\x313b9c4a779ef6904dead059e2d10cc7c6ebd55a5da776632255b960809851dc \\xd36305c122cb84ed6a0e2391672bb2d297db275017871532fce9227e046ab789b723d29dce71a528d98f4176eb43ee5bca942ffd5652a59ae76dcd1d34e0c404 3 0 2
-3 \\xa1b4329422f2ebd842e72b2bafa599ef269895d79ae7835bcf61faf5be96bec58ddf8840dd0ed458a74b8301f2470e910b720f8c76661465e00c53a75aab532f \\x313b9c4a779ef6904dead059e2d10cc7c6ebd55a5da776632255b960809851dc \\xc22e2f413eb662afcf3a5e3964db1677a4a0c1050bac091e87131bf6d99efa5973324ebdd96f04f341ee0822ffa54d7748c682424a57b10f41c8181e46839a01 5 98000000 1
-4 \\xa0c824546444a2607faaca20cda5e3fa20a4535d075684ddc44d5370fc259cb699205d884a59e5f4375e22e656168a7991b86df0757f4e8887628e0e81a577d0 \\xeef20d0da277529e070bdb760ce75207ac83071b72bba0ec3361cdb1c5d320e0 \\x61aa15125a1b3272027b54354c217409b83870485dd349dfffb1dee4950e4b36bce236cc8f458ed73a273d543bc8d68365b51757270eaf9e006423bb99b63906 1 99000000 2
-\.
-
-
---
--- Data for Name: refresh_revealed_coins_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.refresh_revealed_coins_default (rrc_serial, melt_serial_id, freshcoin_index, link_sig, denominations_serial, coin_ev, h_coin_ev, ev_sig, ewv) FROM stdin;
-1 1 0 \\x52d108ad8717e08ea146c24769e52aa586f71315db7b285f10277a8ec7e3a6c7f6c5f84e323f7a6023691360bcf19dd50a12ac6d4cf540c69e977a27987f1b0e 196 \\x00000001000001003608ef53d6c7025abedf2ef08503afb5afb4c4647d45b33d944b68060de6499c2c95de615258c4d83364837555dd2b05ce3ddb49f64274f12c0f5d75eb326527d2ba2cf7d01ea065822010303291afc66448441ae7441d2d90bac0be1d29fdae74fde92fe6a9bfd036a79630bb227974a67404060c9a2ad2401330930074279d \\x68b15ea5a988f2427f40e51b2ed669c484c8d6df9d7847b2c82cd3a41793cd768ec6f545ddd7b621721c0b0a2f5aaa9ee104eaeed6c9c0eba9afff1ebc4e1268 \\x00000001000000014fe69b6b156af171a6d3a7300ad071f90090960dc0635493ecf56d0beae78cf7887cb6fbb33a24e388e2031970241f76dd7d5753f435a950af3a55ef9a00ea09c120cc7e1f23e7558559549c11e760d5d09e9231ef195c58a5ffb4ef523ba4bbbb28a45342843df803aebaca2b9705cfe1e8153cffce95dddd2c760333223907 \\x0000000100010000
-2 1 1 \\x25cf21afc1ec058737a8c938a22e0a8cfccb71eac811536c5dcc4def26ada3b3062c146d7f4849c4c1da4f7b9a7f61cc3c3b06028d029e532cafd5ba20c45303 310 \\x000000010000010049dc99391674b3ba136a5229ed6701fe6363374d7257fee006f144d9fefe3f3165b6c131d59043580de75b0922004910b44da2876810cb8c4c0ee4120b6b0da1d4d1067cf60ae9e908b492c46cbe177779e72f6b83768ba46a14a642f0cee10ddd98b61b5c712ce8b037d99a8812f7bbfd87459864271557164199c5f49c2791 \\x63d7d3f0607dde4c4450e2baf8df37ab475b0d99cd2f1f3f9c774063f84e13f524dcb99feb45301154670b41302574b792d9132c37c22ce1ceb3d6cd919970bd \\x000000010000000157765b7f28f13a0b614e6ab2f1575791905aedc64f3bc9de085937226fa46fcd18aae3a093452a4b88fd0d2bb93277256b6cb12fa6dcb7389a74d8c0f4384f8fba257619ec28527a9169ee6f0becb0afcaeb918ad2fd70840a56d7ba64febc93def745498ab24adb7b35bd80d66cf5140ac3fba5936e5ce2bc98b86e79e23b7b \\x0000000100010000
-3 1 2 \\xd62e7b61c969592d51a5bc8334246532e36888dafe41f3ec6e7f1d74af4a698ec143eda573e9a9063011e9e33dbc2e7fb5ffba7346cdbca5fa55ed25cae9db06 154 \\x0000000100000100b0bd65cae08a6afcb25cae4c2bf7375d38a819ee09bd289a92c20af38b4eb57a213abcaa6f113223a96becc82c8361ea6e554e38ca89eeacc61c78c4d7285c4f1ee59fce009786fdb943d9111362c5855164b6bae6ab6ca5221ba4129b346a82631f9f914d0a87828375d1e9051c339b318285049c03d886d8501cf804803696 \\x9ae56c64429b6cb3141abff8d49a56f17803bcb354113462f8d459e362b59472aa37ea18681c70058994cf2a183c7a3be25ee74a82507a199455d071bb59dd5b \\x0000000100000001435b09d38fe8f1633dbde387c9dab0133ecd451815a7c97dee032c9aa4796153a92c8234eec075a82f55deef6dae939f1796ecc8cf6dd62aba63009b5195709ceb07b9a78b31aa055902e172bf6286ab90c0278a1401d097c4c126482d8d9dbb8e9d258635ba972630c9dc9509f7be60a8146388eeb28935b1962f0482be64b0 \\x0000000100010000
-4 1 3 \\x1fcae04fb822dd9c2c5bcb3858a72b5a0656ab0e4b6405007bfe397208912d98c005cc83820ef8670c998c55a96d88a1941c1dacd07aa8aef274f2a6b9450f0b 154 \\x0000000100000100b0652256eb4b9b425a112eed76e926ccdad14a66e866724c5302d12be59089c6b295321c37c2938ede633f49bc4a3aaa505af90b346786934f2fbd66b5df8d813d36d3a5e0c1c90ba1e93e72db655a65749395805e7e548dc586d7fe7731d8836365c64cbfed5ff831348ecd3f4fbf7a430435b59f300d9c69bbb3acd8b2d316 \\xf843f3105b5d92f5cda1dcc24384acc94f377af8b210261057b559d0cd94c3ac40831c7bcdd1aec21e4851bb922edb2c60ebd9266bf8887eb91d1a5bfd741745 \\x0000000100000001127bb0027e3291426aa06f9bcc0787bc03db25c60e6e74c0cd402d7774b0715dbe0c4749dd4659a2fc17441a8d1cf2f8f2c1c3c02e60e28c61a7e7b49f7cf495fc60eea3a4c70402129f18bcd0b87f75b202c7cba8815d6c2e2b1c57175eb7fc24c49d4498d819ea0e30b8d0a563dc8c294b1656026a1061411c19aa741cd595 \\x0000000100010000
-5 1 4 \\x6409da7f2e9fee00fce55751149c6746be66b5651fb62c8204821de73930c726d20d0af916e6361554546f8a75bf1485c6eba2d5f185710576ed2a0c98a96505 154 \\x0000000100000100bcc5eafca23f4ed6de4b143afad00d2dea14900e965f8bc0ba761a5cebea202d9b868dafdfd62c81e8742f921a8743101af1714223a5693f49ce0562317295ce9f7f26b704cbe340162ab1ad8b9b71e63b84c68f9b27aa5aec1d397a1f3954c4ccb8e88285f6b07fb5cc9861b43d002fda23e1e7f9107119b23b05b4d0b7c557 \\x37c052575050a1eee36470f96b7115586a6655e337efcc29964617195177373e10fa153984815b99096488dc5cfb67d7d3f430f2de29c9b70582290b8c572816 \\x00000001000000019a9ed6ac3c9827e5caaef1adafb84d0f96114f618c0231d4bf55fdbdd8314f3e03ecca78efc00407542d1ccaed5a47dc550964af7407d7cd7d47db882c4b892c80a41f5c1ef4c6619df4f7ac2b9eeaec4368b007887bb683c4a49707820663b26c08127f50fde5bb734dd9535a54006e2d34e808d27f48f082191ce641485380 \\x0000000100010000
-6 1 5 \\xdd189833c7beb78cffbc22086a0c1a8728271f5b6f2e354d85555f7570b9b9a60ccdbe5008d39999a8d34c4eac12968555c99f8afaffd5b274e6fe5cf0124605 154 \\x0000000100000100a28f9fbe0a7af393696c11594bf9f419ac1b27513e44bc03dd4b598120424e251325bc765a61e2f5db71606cd944e6487343d7ce82e1f816a86d760914db132b27a6714b49f2e54fd8421de91c3d83ba922e55c5eef9b7a0ddb9c66c3b2ddee7c05d78c6d45f96a9f92469ae57fa5f63e14f79e47437dad7df7289eaf88348bc \\x7db48dd5a7810b431b6d4cb3ef307094fd0459823c5818389763db31535a10edf3a0e905a617eb14ac451965a2f8e386bdd7ea207f3c3950b7de446e2dc495ce \\x00000001000000017852bbcc99079e1dedc8adb51cc2ff877f5712f56a2b659f05c72bac4ceaeab13a1e009c3f3ca7b23a1902b93e47e37d1f5143d06ee02b176f2fc72c38b4f1d5740fd4207ce976c987dcdeb3746ca380b76acdb91e6d7fbe91bf62ff65591d1589c5a0d787efe78c8f88fca87e940493ede41ddd2919fe22712153f1f74de5d2 \\x0000000100010000
-7 1 6 \\xed2c2a0f63dc968838577afbd99266c08764d5a9e995fd3b82eb2dceacf3e4a27dfc2710bbcc24f464d47d95d25337a806b0241e2e1cfe60c4c56665d8b42d0e 154 \\x00000001000001007e74cac58fb81cae7793f1bbfe51d6eacb30c81a6dc85279fa7942e9e854756ccecfa683fe4b33fa297329d5d14138e6f35db1b9fea9cc0f2d9cc90c30822a238978a1c8c56b2390527a59b852e62c8e3641ee5d220e757706abbd5fb004fdb2003630e565cbe504c2e358da134ed4b032278dd2f11e5d4792652896b5367739 \\xe698541bc19da552cf706c76ee16ba9b6d6cf3db5da516bdbe03b8d5a720bce9a98b7a8bc13a7b0649c12d867b3033de24a3028bcb98b6ea578ffa46e992f2ce \\x00000001000000013696dd466eb0087fbfbda823773881d4522e6ba8c5dff10c7588a0f3eeff1f2953073c8c8e3131d8561bd5e577a49d449c865aee02b41f22b8ce834f1b4ec3c54e94f1cdadd611ab8562baeeb7fb8d6268c8dc690a91adb9f96693a8e694caf509323e19fb083ce6a2e958a5cda8578672eebbc4942288227aa824116ca47cdf \\x0000000100010000
-8 1 7 \\x1429fdb84180475d6910bb16ec8b196f3d4a17e3008795fce195de3b1f7a3a476fe8a0b31019f4bba7925c5a8b2fc776c5a8a05c07ae476825eacecbcc04330a 154 \\x00000001000001002ed3c81b21297dddf9e65af5d6f5f3d8fd98eb34942d3be41332b3fd7ba8f3a7fa0e36673ce71f5356fbe049100925609fed787269f2ab43c87b5a0f1f8dc7e6df2b9c6650c2e3abec58eeadc94613fae0ebc2f0d85046eb6bc085dac37800baa94e6f322ebe3589fff0a844c3260c424ac027e007308a245567572cf7036d69 \\xd21feb5be7125dcea9a9817ef6adddc3b6c2056edd557854011fd78212556241cd12e7541b51f2d7d6b92b88e442fe149d6024f18b2f940e10b9fb8aa685461d \\x000000010000000143e0b1bd80b5373f41ee51ff5151ededd5afcc809c4733de5fcceade51da91a2b47289b24db3014f446b37310a8c98724fe84a97b2e5603b9e3d94d3080a505325c765fbaabf555a90e7a6d708f2f9775b7e9b740d18a99a0ab46b570936aa0b75986347a7682620a9f875216a753afdc4afab1db3b24e6f95dd30273c8904f7 \\x0000000100010000
-9 1 8 \\x53fc4df192573ea4aff79464d8425504a70583ca2f8e0168e5cb3847a4ad776dcba5ec1406de0ca7c92bb5fb59687153838c48d58bf3219d539fb56cab628f0e 154 \\x000000010000010065505d180dc7bc325c929015b95db939a3d5a92963ab71336bfd8933eba2cee129cd61507349683ca1e8855f1023ea8c94df4feb6b863f1f128691cdf3b8bb7ce874737121add4961940ea1f27c673e1295ac6f2da165067b280f07584e0ca2b4ac4a743f1b02f0dc28cc3d4c9a126c0cd30dd8d746fb194f397b094e9eaccea \\xf2230aa7787ddf8d724ae6c1ea168423e110747c863e9ebe68369d4e5f66399d297f8edd3a3ccce8e2561d03b456cf8bf79ceeaf093b514ee30ebc2a753641a9 \\x00000001000000015a3fc67b85e4085a9a9d0ecdfdb74a0802e4bd26c6e40ed8a11add86d86d00b810fd083383b325901e6ac0773ecb2abefeebe99653611a1896604513e1cd777140b03635d194488d5b6e6c4ba3dcca3f75bb9d4cfc6d40e4d2a4ba480fa53d19e00126874eedcd1e1ad18aa228146141b96c2fd1aa886ab78eb5e9b4f55bfee6 \\x0000000100010000
-10 1 9 \\xf1e1cfb11d5ff61460a63a925c4fa8718c21d1fcfb10841d46ffff29493700ab5f8ef9f757ffbe71ed4c48b12c83fcfae253d18816a9ddd6baf4e2603d7ae603 154 \\x00000001000001007037503e3062f87cbd763fc29a7ab97253d349d59c331e2eedffe43ce6cc5e2dfafd23b459965b172c4c2a33075d03cb9d11639bfa69fae75306a4987ebd68f22430cf152efa59bc89e881877c4c189f4cb466a2c2bb4f47f4e2b0b48a3c7dd745e71bde14fddb7f909bb386748f5986624d469515fda3aa69293bec409d6e28 \\x10fd4f4f022d1b4a54d9b7d0b045952de27430779f858b30a1a0b76569ffa932c9178018ab0876e99c25b6922994c2d44238d0f678d6eca3597f0dca02be549e \\x0000000100000001393c130ac5594e38ab22e9785425b50737b26d48963daaff26625e972cc319f8d8103b3c7792e077f9a0a5055a3c4d3016b27eb5e74ed522ed1b81a784ab3abae35c5a3f9816ac453fccd587ddb63959d04a13e25a64c7d3afdaf0181429fa54565a380119cf076b5807cab8f497c464be2f5dab3f63c01885459e2943cf6712 \\x0000000100010000
-11 1 10 \\x5a57af95e3f47477301af91a85d86dc17a1b0b66f7b342d521889daf97b3669eebda2e28d5d3e51bcc459c0f32d87d5746d1a0dc43beb903c896a7acb192e808 174 \\x000000010000010041ba0ebb594ad677de9068debe0e180b9fb1bf47fe8a570173824ec8b57f0f9b47e72c70e7edc39db634c9628fc8b3061cbe0fb7060bd18da5af0e3f9d56b1ba25cd83403d06e742ceb42971105663e264f0d481baffa7aecc4b64c56a4c44f92643c870aefa654c4f83d056a5a3fb575cac324c83013c32e6476aca3ed879ca \\x6397461e8c5547a5b0e4b9d8852f6ca8119683819c01184a12fc0ef0084450381b4a156738940ab57528a61cdfc38abba909e3e9f7aa14dd1d1d4627b4e933c7 \\x0000000100000001861442e8a31e8bf42ce7950ba69008a00d02b9f727417cceaccf83388edefed57b99dcbcb60283f316b1738071f49a141027c6e2fd40c6c93f22014a62c312e75cf730090060049550750c7cc37c4c3d81eb1570c58d8cf9a64d5a6ac9b86688aaec21ea6ce3e072785da423672eee6da2b4c1c1508fb4148d05c977e13d149f \\x0000000100010000
-12 1 11 \\x43dbea97c02775fa078f2b9cc1eb66258ba80a6569acfd5c62068e67afcf8880e2c08c6fcee81f2c3e339f8e641dd991226224d4ec1e2f1a0731433803b53603 174 \\x000000010000010062f8d2771921583b392afcdf4dc702d72c4adc0e18b08c150b8216af23195a2c5810b16e7136cf6ad61ed9c93a52f0c6ed558601523273c2ef9beb69b5e115c5d9720d2c3078b4c7fc539b8545d2d6046234b5edb09f80721798f42221c002cac24bbbacd22182d624a398bf62b6f020a5be2e19d1e0380c68d22d036d8c1bdb \\x306a33103d75ac0c92208dcb408773ca5f5cd135bc8d118a76b5596eaf03495f03bf8b89ace1eca40572877557d56b6049fb22e4b666ae098e711479b84b61a6 \\x00000001000000017af86556624b6059e191dfdb42fca82f6f7241b3ad13a9eb009e2902419b5cebc2b036988b86e21aa85917940fa49cb76ef3ad8beb1b1fc86c39ec060ab7982a753b04be4f312a13f90a0fa5205f982a30e1a7f8bdb32d1079be15c98f04996c99f93527add4fb69b474323f5f21f7de1cd4fa8b55a393256cfaec177f3afc \\x0000000100010000
-13 2 0 \\xebba54dd64eeeb13b793fd77f4ba1b30e208c954aa4b583c3a8476e37fb98b71f1e4732079d4e7fff21dbd9a22c83661f916ac285d4195e240277cb21c55c405 196 \\x00000001000001001725e4aeff39269e4bf2a6aafc3944cc6a4b29d5f11e04e3b2d453f993c9fafc9924cfae93c92ea9fe8fd801d2d471ccf0b2b4aecd7aa57a9c6111f80e4c28baf0775628d3bfcc35ad3a9123c1d0bf8383dacc98d266cc7366454d5acd41b50abbb7bf89a9d6daac7658eba0d3ce6210c8a50e6449ce831a0e9eed52e3aca244 \\xf8c85b8b2eea44f1f91ae3f7babe872b2a0f46a7328d151deee35d98f421f1ca7f802c9e96b4aed9aa195d4f2578195dea280b2800b8191600d2810013bbfc51 \\x000000010000000151de44f6e808b20f7debfbe1538156b2d51b2bd06d684bd592e5098b76a7fb5ff9ba9d0a3c47be2df05aa71cfb981160ade8166b4fa7b24206649dec2237b2ce42e2805646f49c43d4edcea0f9aebc8dd7708852b4379f8be91b065daa66942f232bd1ffc34fa25c84d66fc3bfd6a12dbd29c133138ed3333bbabc213b07eabb \\x0000000100010000
-14 2 1 \\x7684b0118be6e8d99d8857338ec4b51d4b60b429273ac27c63a46e085ca0d517e451c318036f0e70d493fc3b858dba951cad842c6b47f0e6845b019f66fda40d 154 \\x000000010000010062ead2e2ef48908322718f4cf9cdb54d5568c32981741f970e913e7d514c405391b7472ae28f4a20ae68b6bafa3f2913fe0ce78559f62f607b657dab2e4487cc6fe5e7d0a1e647b842c18f1c83b5a3b86c79abf357f14647e324207e8b55cd3909b77cc8081f33c6b2d88745ae9a7b5c04557fda54aef42c8e80721fc50ee0cb \\xf874ca2bcc91ad4630077f7181dd39c9b7e18f7b6c06eb63bc011d966eb4a6eb584101c71a4f916b0710aa6323bacf3ae535372a159185dc6945602bb0dcbf9d \\x00000001000000010508537049bb0b006ab59c61f7cd211f31abf756f4ece5f0ffdf89c3e43991edfd4a0148e28ff44cceeca3ad4d31d7d2e8001eddea5e84966f645d0cceec3b4a9d8b16f4fd72a19ff3bbdc2435672d4b30438e80716d03a7eb27d43aacdc8f137b3f7eac34d25c607babba3ae6c5ca84ed58f86349883e87941fb98c9f30a72b \\x0000000100010000
-15 2 2 \\xd8bcce39b7aec436617ddd5ab2a56823371f82c953caaed4780e3d9d1324e7c6cc6165a7dc3a31dd49378e5d6d829fc3db886be5cce1e255141f265fbed79c02 154 \\x000000010000010060028c35454b988ff4ac21ebc5f46f46c50b6133d573ec4f08ea9b7fc1bcd742f264f306dcbccfc2344f0fecfd84cc42d84cf286e02418899d905fd7d6e4503e65c1e50b2abe0aab38a1af2888952829e5a1654a6855c3bcb26daf1479b6ecf1e81f7a0072b21dd463370ca06d61712a2c735ce18a62b2ea05b3b383ec47fe27 \\x681699b6dabdd1379cdf13d5d4055c079e768d5f5e0868c396c16ca82a2bde53001eca7da2c0802ec8acebaebb0915fab906499c4077797d64efc9a494ac0c3c \\x0000000100000001ab36f0f2ad28b5beb5ec288b5a10ffd1c19738a611cce2cb8a65f69ecc8c61943958d3ed1522dc650d6b7f2cf76bb45cefc6b93e9bd7ae3def7c4f33509699c7ecbe3ac4b6ef0c96205db5c13d2b5307b14b604ae0e261179841f35591413db6c9ddd6883064906a69276bb211d260694370f953e23dd5a3dd1e72c0af9ac76a \\x0000000100010000
-16 2 3 \\x6827b3872d90d769f62693a37695a40ca53f9f5e3190cbcd1384e408b4477211ae52426373ca808f040e0c503d04ecd806787c31a6a3108463c6b1b8ba30f80f 154 \\x00000001000001007d41dd28da7e1a6a28cfd2cc9ba176b2a796e03115243cbf14512c156b1abd0c3cafaea3c15b98b3387e24e0ba3fc72af8fa2cff6d80e7330797cb60418b27c82c680c9a9311d88af5abe63a97aac78bf59170529b5427ff8e302064c05e576d2542a4813ca25a3859bd28fc7f51d0112c02f48bc63a371df411c37c22e7bfd0 \\x03487016a6a38f1e36880fa55b2bd37213000d551552c413251b7b6c20ce824a65b2373ade558486c959f14162dae6fbe0ed1f3a9e08c334957252bd86fa992d \\x00000001000000010a40c71e9ba262f85fb8a7bceb644333a6d35b18225649527a420e5d462035fb5cf54ae561c0d424bb0fd8e3b04f5dbb275e0e4f6e23621f7fdc1d6f326604df3ad33d5b3d914e329ed9da6fdcd63dd8142332f31efaf6c86f1fef76ddbc9a920c87cda533f5757015c848f0327f6be07c21120873f35ed1b25e8a92076b9208 \\x0000000100010000
-17 2 4 \\x1892066a77bafec9819dbd47dc3a929e2e963d7f1e7bf261bf8408b53cf1a690948f03faeaca407a9bb51e8727f96c081daf11409c97821cfb4c522363e82207 154 \\x000000010000010009fd2add1643067e0a2024460227a261daf183a473b3395c9e6f38e9501f4645e8c5d1a2d53fd9780746a44e5b40ad5e6c0093a128c396256d74c4f04f8b972fc839cd5a65b31b33c4d7d510a32e88885c34dc69a88c62f3c255e1bfba32977ae60172235077646ee073f3de736c6caff4fadec21d159ba547b09379c8283d38 \\xcd6ed2039fdb5831882b9181885df35ad54815a643bdf5fad4b67a23e988421a64cf47a8ccc9c41900f68ed9a3326b85df574b9ad3ee06136fd801053e26ec85 \\x00000001000000014c5281880d383136cb1cd0d20fe48572d448f529995f001f065c25591adf1bf969c553fa75d07906999b26496fa82fa9fc1fa4c40f1da7a6bf5d8374842cb008de90b57960e59d5c35f7073b86e17e0e62b1c81956f9766fb5ecb2b03a87829f6abc6bac579ab10bd27eafa88a96618b8c9586b3374a0b1821d6c6aa1de5ff20 \\x0000000100010000
-18 2 5 \\x8d483d761e989106f039a5c7df27378c0eb30f6df7623e52323675749949d2e692b17eeaa2d03b676682dfee84ea7929dd68d7cd9ff438df9dac1d8a83289207 154 \\x0000000100000100b628bd792c7720449c13561ba4cc801e34999a222649a5dd0f2a7a6b5f553394c9636466cf5324f76b3defd7ecbb14e3807152decfda5cd9d717400f2838fc8ec0a74f07458c83dd61065ad7e0feb0fea752e4e0ef42b67e6628f714a9ae3c6159e969d31ce91f70b5e351c4df29afcb60a21cb3a5c738d5fee8e753455f8b20 \\x72f152bf572623b4d17c1e9db92daafc2ad5e5dab81665cfdd9d65d032d65f729b2d8858b52a4b7a040ca39325d50904e0eba87996580c18615aae84334ea56e \\x00000001000000014c81ef8aa68e30de8f493740fc0228d011b437a8027f9ca03d04e56fb372951fa28e8432b9cfcb6e24933bbefcb6f6960596920aa0584a13419d5d197ab39774a0f91ec4c354b61edfc993a0b2d957bdd465dca0a0b429b9aeef41121005bdf47b547e4a5ead9f2f0b23f6f724262f7b311e30ce8720f8f3f38a552319518faf \\x0000000100010000
-19 2 6 \\x744f759cca1732f50f97544a7d28cb845545f0afe0d19881ef43d12d9290727919b2bdd2c32929c0d94f17618a70a2146c627a05df1ba3f2d6a486759ad97f06 154 \\x000000010000010064974d1e5cd49316d1df764070400459dfe1f64a558f721313bdb38dbe765c53717287e4076635506663b0b83d57e46954357b6bfef50cbf77d879b14ce0135f390eb2c3e863a4134609da8842db04f37cdeadb598bee7dc574879609e81ac2642b1b0802a2405b346cd0851928df461db10bb55599cad568a6e2ed25213b6ad \\x46c16cbd24864323b316cc4705a1eec22c4731995d8dcf5232e69299829b779ae5c9e76ffa1843b63d2dd8356cfacf4f482ab0fde5a1798f55e5f14cacc7db9e \\x000000010000000128c7ca33fabaab12c92e44fb746a170c5ad61f0eead2ebbceff871608bb79bc30677e45303497fac1fe6791791bd5540804664810de5bc45b2e43229bb1d8a27cb87542755d2bc949e44e0ae8ab1020926a8f3c45dd4f364c64459442dd0f64f67ec1ef43a710995cf462d425ff137219b4f3db7099945ceef1eda32112acd56 \\x0000000100010000
-20 2 7 \\xf737608f40d782745e99ab5de022b292240cf36d7025c3943e0f6adeaace4cc9dedf1175fd2e587c954522971c226d7429014bf0a7917cc068dffaec0663f609 154 \\x0000000100000100a93d5010035b57f78fa6772cfb51e806f47298c55214dc97c31a8b76e9c325d7049c1f1a6498dfb6a72dcca22f952c7cde70a564f70e6ae00b43d850551f8e3f8351fefd7445e7e6e7f6f623ea484bf76be9fc23a8f1477a8146e48116c58e771f936f52ab8387912fcb934ccf1a9627ea12ce39d457b1a80803a2e730c1d165 \\x74cd290fb00df7d48b1460fe9d441aa5f47125e74bfa906aa24c1d8b2266bfd8a44c22e882020255a0f438389047532ebd444828ac10621b8764a5aa89575eb7 \\x00000001000000017f8c068e16458a14146ea159eb6209f889d225c2e3cd0c17021f28107843e69c77b82d4926f2cf86f4c0f2f2f3620925fa5fd36fcefefe4c70272cd0690adf8081bdfcb880a63584e8d8de91515830e4228d58b5ee3dfeb7c81ea2107d1bb7c5411d3012c6cf1b372149bf9e4d53b44deb10dda40ece59601bbe3a17cd1ba38e \\x0000000100010000
-21 2 8 \\xa1144ab0ae0899d72680289b5b78052bbfd217b087dacfce6ad4c4da015cef9156e342a9548d8b4c228cd594a2e019f50934f042d0f07d828fd3d501760f5901 154 \\x00000001000001007c1d775d4b9c41843bedfda090cdbbf27a86846b7dcf39afcda456f77d0e8bd0c2a6a510974118512180ca55f822669a04232b31605e305d231451f663160b0b9df1676915b06b945d070763dafc39662a7dd51daf7d0bf210b0478ea32be10c149814ce5aa59c93ed0a17180af5d989b480387422f9f3f0f1657248d5a17ef7 \\x012b35a91424375c2764137ccf358eba4bfd468222023565d8805319aca50e9e8150c7224d3862a1c33ed01cd4cf2f59fcfd20af5020ce99a3fd27c7eaa19965 \\x00000001000000010beba0e730b28a9f13c25a8d45be09ae4989a1885090865684decccefb6293626a4b9ce66ddbf2860f6dbb38356b965ae058fc4984e8058efa7cb2aaab48675dcd2c0c7bc39df8871da83b305281ba55a1ee82b68af551ed4561804e548566406636de9da7ace09ab7cf50e3724186f137f2c5bafa1b593fceda605addf5efb8 \\x0000000100010000
-22 2 9 \\x3b4a01c599b91a60e1dcbb58bfee7004c0bf0a4b9ca8fa25c6adf973c1b63706f69eccb45ca138a58b4e635054aafa9c5447e0ce18db2f578c98c7d317e57f0a 174 \\x0000000100000100093bf3939cb2b8e94279731c80457c74b5402f913dbb449df7937fa81c6fcf1e437db5acfa57d0c2aaec9bbb0680d8ce8a97943b1edbbc82a882b7d81ce9124afc45013b0c284a1776c6af775b07b71092e7464c326a9e336a322e752b47a16879eb74dd0a5e9c3c2a909e7a45930b79a4aede3ad974e35fc98328ca1700d27e \\xc038ce74e870c1a096b067fa18e0ec419bbc5856ba370dc8023bf667f35f3e6c7da17abe66fc5c595be303a4fdd67dffa7d5f2dca9b29d50e0eb7a9e5f8ae533 \\x000000010000000131e5cdc60ae88470107d6f0cedf2b569b866e466fc88fc07989f6e6ab766c0876b9c4b032f0e7c528ad63f8fbedf619df7ae349a06791407b764aa53815ea8e5d11ce4e18f48f59464e73fc93f207c4ed11a5d3f728ee6d9896067fee54984e2da9958fcbd56fcb74c685c7ba26b70ddd41577293514f37bf71fe8f7ac84378d \\x0000000100010000
-23 2 10 \\xce9072947481ab9c3bc04e82bdb0a1a11d3a2cb43c9f6f22276df9f7f68210827bd3aba96338e436ccf348cd20746a4226c8f0b222b1b680bc5a9c870e8dd10e 174 \\x000000010000010037af40f5464610c46f37daa3c0ba9d56caf76b0b7b541debb303f1c4486648946d426a22109c14c7b2eb409d005b921684563da7caa9645d57983e28bf195f87f5043e1aab42bab6a6f601482dfed83c1c89bdc4301f656147d05c876587aa7f885eacdb34af2de0cbead738cceed6046c7606a0d4f48b1cc5cf52990d87be78 \\x6f27ddd8ad4a3a246d53bae23040dce50cce8e2e47f578974fff03e0db826cb2c53ad10194b789848ecf22df339defb04b4bd8a43f5cb87b44ea77128d7b66e6 \\x000000010000000131de872962269ddbd5bd2b9fc07c3f844e948f87bc572195bdea284e7139a9ab7797f3b62d462a8fed27eae861fd9a2f2d122debbf4a113d3f21940811e98831103afe791d9666dcbf1730a566ae1a774b9ab2286c6ef78f7235726e04f91924733660ee96bcadbdecddbd6eba48e7837c4951a8d31e1a4105400a0a41fe269e \\x0000000100010000
-24 2 11 \\x96401a36c6094d47687510ed383cdf6f232306ed9ced2091b6068b6d14def3789379c82ce3ef3f7dd3d14ec98609bfdab8a3f86a2bfdd7a636bb59d2aac24b0a 174 \\x0000000100000100118b004ffebb4b2414656e304c891092b212cefd9f2f3f1146e6ae7982b195bd62240504e6e5b8fba360df8979424ba1e2118b0bf6672e239bb03ec8df2446de8a01571490cbe56d72edb9abb61ca2e1daa7d95491b2a74af776352a8d89ef35ebaba7b63da5e06da7001f8dfb6bcd90d7ba91c1c713bb40e2f73df926e16e58 \\x620dd618c7b3b45a97c4f0d30bfee7031da7ccb741eb36925a97a7cb7db2e75ee4ea878c979868c936e1428cd6b934f63f912503aabedf88efe1d72940f95590 \\x000000010000000190b252284131c5caa7cb1fa76c92a1ca27e71585df459df4209170f08cb9ece8a9a1323cfb2935b797494ce14036e76b09fb19ab922fd43256e3fa507b9cd154b8c179c03628be436bf3fb48960ffcb30aad60dcb40d6177a3f994edc34dc67fc85e58b64d092945461e0533e0fc6e342d2f7df7c34c1c0f53cfd6725bf6a26c \\x0000000100010000
-25 3 0 \\xb9c2c3a80fb471f8ca9337e2a62e4192cdaed91d6ebee73fea993732dec3cfe9f99bad3cbcc17d3dc40f7519bfa0debbdea70683743cab4254a4d88d5222e60c 116 \\x00000001000001001a3a7252a5ba94d9a476adcc95cd746b339f79a44d081585c5b90c6f2cbc7aab335b128aa003c9c935c5866439bd2c0c672064ca712e30c2df9b1c0a5c52e7c146642a905e719eeab4a66f6e29222d235b7a738423306d721924529fb81a955e2227641e181df754b6774e19131b7c45f46b26a1fa4f5fec6a70c374cba2368a \\x59869ca46bd7890e3ec01617db204e58bbc1af3a7120b27fd451e17763615ee6956d5d4bd6d26631243b82eb4af7991991ff831e6348bcccfd90428a2618768c \\x000000010000000166b9d8cc785d82f4bcbcd77e71b888235c64da2d8915d561861cb5372f6e86a2a3c0f46321e4eb259bb9357240ff66a4622f1663f9c3bf7d3a96c1a68769cdd7f16197b5df60d580bc1e66e3f7caa415a1bb2d3b81124573e8f9ecea599ac89c6ecdab22c38ea6ac60b2b31d06a67d89f2f3191a3bf55597b72ec154eb130668 \\x0000000100010000
-26 3 1 \\xb22640e09bbdc526e10633ba77ff55a27f9360727b0036db727f4af2558eb23f5425d0568b8ed79421c00f7e33058993640017eb49268e94aa60c77b78e8f80c 154 \\x00000001000001006e37dbd8335884160e00b99f8dbc47d2746068f84960fea7b9b56e8c4b4c65efafa6144a2a2c56cf72417c3251af274fc9ec97934e62f820c7da4063bff61e691888426d039bdca591cd29e81fb7b1f1c124d84675136a9cddee8ab2cb1c4df18af0027e627b99b6756cf54f69eebf0483656cacafa458dde266471ca53336fa \\xb5d779e858668434bee7201fbc1c8c260b81a0eeae3c1c521fe8407387480cf2806e7a93dcc5cd64c38acb862f4a56e8863244764151d2454497ebb332d4f206 \\x0000000100000001ce66d0acec028b4384b4bd4913add4eeb6c983438c08c666bf04b6a84aa7c9ceb30bd0e65de6a4a7605ce37653c197fbbb1172ce3d2cdd075fb32857229586415823bb9b8e59c06e980ede37a92d28b2f41bfa34c306b937cfb2eed1c1e772a3bb01f3faa5797cce4ccebb5648396d7955660cac828eb4e2f04eb2763f12b54d \\x0000000100010000
-27 3 2 \\xee770cef0ac4f048bd7b5a22d1f3ced6ee162540cc213d8bde1cc854f121c096de6f2ffc274f3a5c4d129b12cf4fb9f2e5bc6c797a1110a327156ea434438606 154 \\x000000010000010045b10e385e7553e7d069c5c55b210ab2b252873ca4f2a874bdc3370b7f357126c6e6a7e22e006f2dfab689e1367697a02883b71d484ee2c5545709ade2ff7226f6bf19ba6b0e3f23731eb4e4634a8d69104eff03248b1df49b4c074304cc9e79dcd72bfa4403e59bcbafad72e6bc69a739cb19096391a485bf4a7b01e4b041b8 \\x539e2dfeba393a3352960e65e5b67ca934da2425715cd62f26cd7c7e5875a1439a609e921646d6e6124129a4091d18fb1124e15de0f59089b485e790e6974915 \\x00000001000000017691cb254b13cbd4461448663eb5a09e54d903b09d947ac18e1ef4448c0dc8573499762126717a96e22b5fe5f043df9d61cd83eab9e7a43783eac2e5920d94d2ef7273d7e9a1134ef765453f548e91b423b13998ef8f865841c2fe013b5b738befa8453a99c2257f4051eec1242542487ede219359eca9e2ae0d704b2ad5444f \\x0000000100010000
-28 3 3 \\xccb828b4ede8aeb13abe027608a8cc355d764e15f88c658b74a94f0d8be705f5832b66775facfdceed282b4f6b64f7739abc29a94698fc1d3a5cb056344fd305 154 \\x00000001000001005ffa104e1ab890ce17342946044c139a59410a74a18c446d97c6b4557da7086c3ac4199337d6583d177dbaaca95ebf18633b59c08c7c9aba43fd452df866b0abd0b3c3c2b08bbe35d91f71321fd76a03be7c762b52f9965232cfb8744839030e0e6b79431f026697c9d4853b52bd3653e77b4337e6c05b990595f8eff62351f1 \\xa2b0bfacfba1c4872de7ee2cf32ce6596db86d4e04890aa694ea93f5a58b394541522892bee635b5091fdd9978d2e4615dfb4b28911059f693349a44c4b61c3a \\x0000000100000001a1c86674557e0b1692812eae928b4d20bbf87b16922f716ce6885f3f3aeb24e7230d2acc3507c883ea362ad5351c5869a0101e4aab73a5d75c7493f9a725c5bd18efa35602c4a63b50cb27c68f477622ee2266530f46bc45bb8de9fd730fad128d7e94470afbcbb85794438592da23fa27fd08ab2d8c650be0ef6f6480da83e8 \\x0000000100010000
-29 3 4 \\x56915390b38f002d6bfbca52dc467c040a3e2a2eec616bbaacf3fd010020ff52ce166892743e37d7f0279d092310c8cf3ed1f4ccbd1fabb9d988146bd0553a05 154 \\x0000000100000100b85fde8044801d5d2ce3daac4cf821fe38fb7c7b173acdeaecb7a172117391aabc074ddadb7a4a92ffe6cc33b3bdfebb4271dba53159e163a373e4ed148d53d9d0d9e42f33ddd8e4ca1fc4098b1d0bf0641506d9e7c9da0bcf9a98a5782a87bd801412173fa5c219ccea92586d9ee719bc85e08eb9611d951f847b882100f3b1 \\x7af7783c27b7721b2afcc5620b56f3f978172a474cbcf2cee8d3abdae1b7cc7900487cc35cc6bfea8ce8a0073a51f63d87ceca009c64fc8e168b29f26ebfc2b4 \\x0000000100000001139d2c20ab4aa3a77e8625472ed2ef9c7617b42d52d8d570502af476b686e0a5a0b9e2f5365ba764bfd8364195f476006fd4644513be7931547fd284b5aa6c26fd96642b7b446a35845ecd086f141ac9963bbeb3dbdfe6d316f435b03e69e4d766f1bafc22f75b5d9bb6155c019bed9744758f3cc13078c7e7aface954f7898b \\x0000000100010000
-30 3 5 \\xa30202ce20c55c0ac2624924ba5f0b6498434679e485bfdae6a970f5f53d4650440c12fd2bdcc6eacfc268881cae565ed0cef99e98e47631b7bfc6758d6da50a 154 \\x000000010000010056e17ea6adc0c4d79b42a0306d5ed31617c04473ee1531c0ce0783eacda8db4ab99e18c9f051fe21d7327a19f07a5ea3f3735ceec7b6d92abcff9715ace36d15abeee4755cd5ccde5222dddc66fdd254b33740ac0852101e909aa989430111b66d3a50223073468abc1fcf74abd892fb24f9d535135a189fe3a83ea3a7a02100 \\xfb683cb185014cd13660df1414e84f74361a8dae120693b429f99a2089ee0ec80396a5c2ba2c6e3d6263bafe7e1fe16b9af77748b864023ba337dd45d7e3af4a \\x00000001000000015b517a3786d1df05376316257143bcc34edf63b0cee48572722f85e53eb3d4bb19739ef1650494dc9e89acfb186cabd281e73626ae0a23a5aa0914cdca38547080a6926ea309848ee14aca6b8a2137bfacb228ef0e999eb21b56e8b848ca0b97ce5545221ffeb2f60c65560c93fcd61f0d3b4d51533f7c9f7da3662d3a855bc4 \\x0000000100010000
-31 3 6 \\x23eaafdf7b1e4c08bc2cd3a6f4bbb5c9be4913752dd0881dc77e24d06253b364fb3b86577dcf9122d5794265c25af48fd5f99c1554db27e9ea1004144b19cd01 154 \\x00000001000001002fbcc1d3b6c7c0b7ffff277e65e2c739c8c55d42cda0f846e59ed51b22638ec56b3af97800261a28da0875bf4658454d21c9e76d799e6eb82f7b98b20fbd3a5cd1f2bd4e6616ca4a8f6d03ad22063a3e3ce0d88462fc5a6d15ae2fc64e874a5a6e7b31128f58b54bf55645091c9150c94525577cee0a007e4852f40379946bff \\x0492eda3e6a75554de2a5382c5ca664b2b103d50bdd5e29dbcc704407d3041e12d4063db61259eec5dea589c9d10eeb34509ebedffec1577e25ad54834dceba9 \\x00000001000000015e7fe08dc3834a68ad7f1df374f5e8950bac4691b206fcab46ed550d40c1b013e7914faad3af228cf4546c3745d62b8e3dd6cc0f7c732cdc8c0ea47862ead49f621039a6909f1765af59e391fdab44fc15ba70f6b2cd620a6cd34f203297067ed76442325fc523257525add3b726b67f6d7c299101c54a2fa7082895fe68abd6 \\x0000000100010000
-32 3 7 \\x2f0714aa11446c359829ae21787b9d5d92e15ca43f887f2a6ab5d1606070d1418dc229868aa5444c1e452e33fb06039fb723d01a83df4c3d8ef76538ba6d4a09 154 \\x00000001000001009e33028558037a405edc3ecd887adf4cef5cbdcd3fbdbedd277b214e912f13f8cd18a467043e68dadff80ec5d993370dc2e20e8b2afb0ed4016a2546940c55c9e747396ba21ef65d72e18caa218d5da2002432d70e29f006e580cdf9650a0feb31cb833faf2c79b43d6016aee49b5975cb7241a0e87e4f1f53c7c09fa04b9c1d \\x713902817377b2cb9ce17b22e9ec437838c6aa9f24443981036e720ee4587a0b9bbc2696d5b9e0921034baf7373b8cc07d88f83817a60e9b08fe9793ba918618 \\x00000001000000011f789fd2eaf9145fa67e0242614ddaf017f61b9ec2b4fcfcb058a6124bd852479069f650f28cbf42a673f8364cdfbd4b3e8fbe92404fec4b6c88f3a231be122daa921d2f6b38c308d3c54d3d58192ca43df98564b94e90a87c4bd17dddaa157925eb124e489907a9be1942b4f8de3eb6738e4025268c3acf8346f07dd17c8d32 \\x0000000100010000
-33 3 8 \\x8bc5ca7008754d35bdee63325b45056ac8927b37baa295b3c0dd0f83aea4237b3ecdaaddcda61895b354b8f124f05bed07adfaaa0398ff31b2cd40cb65ce8202 154 \\x0000000100000100c4c812125e14d04fbf36c8c1ead94e91465db867af8b16835a0632ebd78eb5d0203868569a8f9cb17d9ca498e5f610997b4499aef1bfbdaf67a40f7e351f4e210faa90a46189db7680d301bc132b25011e9b1eff74d7370a3957eeb4c6337e8510538bff2ef6ccf22edbdba16d50ef51fde69d5352ba766c0c560e9c975ed0a4 \\x99d8f9153326e6fb97d0422db4949b20e178585f49e3e1501f99ae8dc7c4aac04433cda1cce1f6436883c3e47d7a2a72b8659518a3c06ccc5d64b3cd0c311e00 \\x00000001000000015823bc204568c0612c8a3e5a4be8bbb3465d72d7a248eafc23ced5a554cd66bdd6d19260449f6b23be71bc9480a356830667bc8008e3de3e07ef68ea4e9aa670c89fbcb13bb39951e0602593dad6ff8876447d74f6b719fb5a75d054145564e402527e633b43b3ed38c06da7248ea0e1ff17e95852ad93d4d69607471a3b4ae2 \\x0000000100010000
-34 3 9 \\x6c83415aac3e6a82200502594dafa0d397f530772fe9be5f0b84036dbc693192a2fd41057d198cf3c918776df14f8fc0beabc082724a28d2ef34ae36e93f330d 174 \\x0000000100000100995f6b7947a61eab1019b3913d23c0dcd2b65a68175ce5cdafca411f77bcda76d74d9dc2671d6c622b7e423c6f57687df71ab8f9f81a8eff55038491f0d8b25236708469c206b27d13f62bfec2ead10866d5d937892013652a1632123b0b1115772260931710b62b0f0bcc017b8dcdb3d84979c0b4d20fe557414c7ae49d0b91 \\x0f64155bbf637b87b160919a104fc19398ed4e559f5e104b2f56fc898a24e75d1d0ba3838f47661da9634a9e3c8c775de9935ea06b1b699dbae0a3290a347ae4 \\x0000000100000001cf709a8979d63ccbe4c36db66eef6aad1a1b1f1cb4ebb08aa51b3bc6dc2e6c33100438f13ab57e54f8837c163a7891ba28cb2969b3975dbafcfe67528349e61a05eec26c5b897e0c5412fce2fd86da0166233b7487d7401293ba693e38725e4b95a530aec5862df7a97fa780c673b67b7d01185568e434e026d1690c4e42ae0e \\x0000000100010000
-35 3 10 \\x55e49329d769506001587a837c06710a7c1f79079ef9b10e6eda50e8e367faeb2139dcd2c9d4174a1c04533ecbce2f3dab1b1d00f869c84edcfe294e87b0a503 174 \\x0000000100000100cd3a2c2bbcd84232b43e75dbe970778cd3bf2d022bf0e6a78e44c87bf01760d04fef4fae188527ef75de6ad78548522897caec7f92d66216e291acce519ee6eb05c1bedecf67289a32a6055823a99bec1544d1ecce0f5c63aa2f95d7401cb43427ea90f24937db9dbed8c06e3fb22a2d9e7990d4b6619b0fbeb598842acc08e5 \\x128903678a407c66018d4c3c798088655dd432bb4a08d8f5d6d132ffc50d2d18a92c0315df063ddca52e5745c650b6221da12b1787798e303a92609a167dbb50 \\x00000001000000016283f3061d944b6dd2d9f2bd347fea47b6f4908e825380b8e84a1d011e08ea8618455166720091b6748ab8189376249d92ead1247d023cf678548c36a67c6d9932212b6f2246be1f19f56f8af610a33a424ed57fee6e3e15109453a277065ceda205b6df07002dde208f2fb4435a1e14a4abb4f4260aa8a98a1c2ddf7df9dd39 \\x0000000100010000
-36 3 11 \\xb855d4a687cf83fad8dbf2eeef574fe79b778a923c8438183a752ce946f7e74bc111c34f9295695dc561b7783f0e3d9db96136d458834ceb351c0df933cfbe0e 174 \\x000000010000010026b77139b61273b0c991a8ac1446b08c11cd4b5ffb36813ee506adae6084a940aa28b7440f9ae5f79b76e6274fddf9a7c88449292210a746ba32e1bc70688def7b0a30f4d8c0d59063f7aae6bd2410c2b2a332a2bb9432dc01cd491facabd1269c83757a665e45ed5f13d1385c6b02026396a081ee3c798f1f0b8c542771cc6d \\xa82d24f1a797c823a1153e6b726f5a2bec1ca3fdf2d4c4276fadfd44bddf1c8e8cd985dcc7aad215a74f06e1cc7a2a0ce0b170deb16fb18fb62b55217b4e5b6a \\x00000001000000019fecf1342345bf5aebfe413158daef3cd58d9c5abcd7b35dab6ccf1f75afe613f8b59c26d18889f75925fb5122d029d4ec8ca1f054b8d6f9757e95ede6d431145564a51f99090dc13e94cbcfb3c97a682acaf77c9ffdab23bb79e68646124b87bd9facf0cc33eb6ec9b0d4de0b04b67f559473072392a74629a87e792c342cfa \\x0000000100010000
-37 4 0 \\x24ddca69f93a982f33bc915c97cbe2fe49a319957f651fcd2df36fa28a0d365ed648a7f61c12ab14cce7f967847f1902c6338dd418ed5b15e6d275feee81b008 310 \\x000000010000010085e4c01e4631ff8fbc44a86c78f84776165f14c030fc7e54e01f38bf82d4885209f7c1bdaabe93fcd525a6d342708333615ba942bfd04fce39b987f150399b911f156d63b06b1113de3ea6816fb8e446571fd85d5d71c7d650467d98f0e80cbafa6559f327e6e18019fb2f4a99e888f24a74a2155dfcd895d82595095c034445 \\x0b8dc6829acfec0491f110f4e01e98db8a33d4c00250f4b047755d00cd062ba38e6fb204dd96e848a3de43f26710dfb0fe374e638d4ceb919f3f551e11590010 \\x000000010000000175ad21ce0d6ab90c521da62b47b17b92031e544647aeb15bf55b49e4b663cb86b5b566ab67ffbc89e7a28d220ab450cd7efe1d4fda201fc7d826d7825a35ab21301713cc3d44e9132697a09a1bd7b446b2642535e3773690d91889c1212dc4200202ed434de66a15e20e831c2c2f4cf62e863848fa4d47486582c8b857ff9a10 \\x0000000100010000
-38 4 1 \\xf85a48ecd2c4dacea0a74f24cc52a27664c572b01cca3a5fbb886e63bfa03306dfaa77d0669992d29c2aae026f5f1375b94e2dfcab2321eac5386b53e6f9210a 154 \\x000000010000010004855c2dfab0f407340d5d08628be47bb4f4e94df7f460a38b1da3fb5050019a54100328d4557fb88b7b3fdf11b0fd25343462a1003261ccd4aa2a113e2730a1d3b8c0d0862bfb5c71445604aed7e34d5bf54da99128602d00878581ed10e01f2f440614d8aeba1f4a1d115b86967e302773011d888092ecacf1cd98eac40706 \\x276c0005654a109db7f7d58b1eac00cc47d776ade37e5367a9f009ec9c7a10d476e6c34b27b72fc54882bfea31133ed44770bd462835801c31d0731acd6a18eb \\x00000001000000013d61a373d2b95e6f310ef6989483dd66b843be0c4cfad42d7744699c8e7482b5ba3b2482bee6020a35793669fda9b06e408910ce883411e3fb6a06405b09e8ce633b47a1174274e4c31041df3bf3302ed0ee914b46c94e4eb6da91937775eff501f42077e94734318056324cbb9fc767f67df2428b68799511c6f00fdebdf84f \\x0000000100010000
-39 4 2 \\xb87c1552bb8e9cc99dd896125a9611087deef64d13736f039369578444ea5aea9b63b952816b2470be69bc6dfc90a914fb604eedd64afb3bc78e69b364509803 154 \\x000000010000010040b61e145c101b0c91626817d2fef63364aa870ad5c7ea8633233e318444ec45212c10c2b438132c60529670eb21e7eff22ed7d0a9c729ccc31de150f528fe0917d1eb80253ca115dc57715b8bf8f46c7f0fa4ea78dfbb15d8e098de10d7d440fad1fb2e47ed385ed09ee543f1da5eedba2e228ffd70f9e5ee59aa29003b4a03 \\x368e6f38a410fda113171de10d53e557a2fa5c2395543e336ebdd300ee86e0d0878787bce2c7f6be8ba289f37f266f1019e851cce26d18ca0c8b21e855462360 \\x00000001000000011fbc79ebed1aae9d05ba75438e27571f06acc7fbcbd9b34c3e39033b6e91309d6852020b3424fe7f10744326bb85881231d6fa2ec1ae4b6bca152cfdffe64308f00836e6e6721b137701bad4f8fbd66c81b111001ad7c79f75c248a6423e3bc5eb27f682f0e67dd1bffa30a3ebf5a43f292091b6b19a78e89a959ea4d1890aee \\x0000000100010000
-40 4 3 \\xd7b97333a3a386142a09682f8884f8d58b3c98bbf73b9b55fed9f8951681c2cdcf04ffefbe9516c9ca22726a8e435a068c28ea3a40f7e772af02baded97c530e 154 \\x0000000100000100a5ed22e9cd63830087aacf08ad1d2fe3fe46c5af58947cbed116eada6b19af79fa8249c1801de226f55536396e10d2623883a7543dbf3d2f5fdd3efbe3e3bb2dbefa8b28f42ac5dfa3071968627733fbc6fa5184a7d529517a3fbf822d88002752e5a4897ec2cee7b200562a727309babd76c794aa23b97c36b50b8b4a63ad08 \\x34b2720a40133effff8fe5b4c144cfc6610667e683b7c64f9e56fb29070ac468dd101fe23c26c5a7feeb92945a34b07de2ab86121caa747261f0d92caf1d2e6e \\x000000010000000127e20da92a0e28ca10919fcbd54f7f23c4d886678268784b99ffe404dbd52a5e79298417834410e19162336911f85371222d717ed69f45954e2fefb8e628afabd2f690873ede2912add8f253bad15fa8ec9b8df1ee1a5749eb98123af2d98b7e0a409989be2d5e60171907c7c46daaeb710dcc9ecacbf3e7953fdd0b44bd2967 \\x0000000100010000
-41 4 4 \\x2931a9d8a8c7b481061421bdd64b21e202d4115efedf1e5cd272fcd7c3d4fdae0058b4771fa00b013d3a55cd88e97dfd49293ac4764ac501472c82364cbf7a04 154 \\x0000000100000100c960213ec4b6f0ba8382291845d23f3098d0d09f4af155e2c58944967370f746c28a3a7c00b3a180464e3439e10d99bc72d11d3f8c3b54233ef0da7bb0b70589dae16fab6b4649bc838c5898357d5612dc59e1ed6c30dadccdf76a4dee4934e13d745a2ad7f2885ff89b0b802b96b09d28f1059daa8e26fdd1c3c5143f7f136b \\x99d8db010395e3d0de910375cbc92f9fcbc472d391c5b3e1c06e4ed77f6aaff8163c76a68d0e6d4858e64f31cad0e7c804900007edf42f52810d2f08b1ad0212 \\x00000001000000018c189a1980a45bf399e1fc38d922eea6e819f7d639fa1b2048cd5436937c252b7e534cf31be49b2493a749e3f0f2cebce8bbd4f8f2c79ceffb1286c216fd4f4732f39ad74ec07b63dc7de1c01980e19212d16b9639ff56a32c2ed6322ccf09949d50fb3357a12694d597325c4c2ddeabfede09e96cca40c0157d1849be05c8a2 \\x0000000100010000
-42 4 5 \\x7a60fbba5ec529588cd5f4e5981a4a9e5860cc34419467f17257341208179313534abe0aa39e5e6b009cf458abdb4f34a1755517f3be33e5573757a0adbfe302 154 \\x0000000100000100c2a03aadf6731795fc3e7a232744c582b54d740b24af721a6948c1cb23eb9dcc275fa6299503a2cba12686b537c0cc6d6cca88f057bdf0d89a33834f0918e642d63088b87dd9f0d546eb2918f5f012288722606b030e2607fe158e2d934dde6d15767172dc7b157b1558f60000593a26f04187a6acf6fbb72a6c6ef1407eaceb \\x616429b3ace3b10672bb44596a25d6439619b078ea037251d9f97041d5e480c813ab5b38ff54df111eb9ff4c90099e4da63d12684f95de2d4686c66ca830d71c \\x0000000100000001c2e7983f8505b1a350319d2aa4f7911d4ee31915acad52fe5cf59391b64c556ec77bbd55dd15417ab2b91f9722b04ca2d2613ade2253453feaa2a1b994b09be2bff1c0b3f3e7ba2e5939b40d5dea452a98bfd2b99f46120e07ac1b2b510ebb1a12d85e5aa37a2286e1a879215a0a971a3f96a693a208c6e9b4372641a5efa574 \\x0000000100010000
-43 4 6 \\xe1a161b3cd683226cad0045dcc7043b84e5f92343736457e05e41b4f60a3c0cc8a196f0fcb7ee92837277af9ab7a07a04d24e0f8c3c9754f219c1e4f7354290f 154 \\x00000001000001007aa8342de9c08e23848b0c14a1bd7f40da5d24643cba323c8fdddd137f53fd25dffd7a530e9639d9668a11c3102579b09779661580ae3e0e461473c2106810fe37914bef2a33088d83324a57c8c5945ab52c8418353947391acd6a75d2c2f736e6dce3e3530ecc206791b16773351f312eb4e3e3154790de7735313ab9007f73 \\xd33d133ddc57428392545dbeb76234720b19eef51e27405a5e03d12197e1b553024d83b412365108ea6f4fab25c975b0ae308b77348aa9d7d890046e374fd618 \\x00000001000000016fc608f7cbad35207e7d6f28e1f05a61e3a0c0a23b3d95b2f3213de4bd6543c7b93a247978a4a23f95247c47cc28409fb4db674caf787fbef15ea4e0475ec6526bc30dd208fd77c572aaf47165949c43a3f2e971b86d8e20ed64417f319039ff871ce9de8ed45d78bebdd9d1848056e163c0d8a1692326d135111ab880c541a2 \\x0000000100010000
-44 4 7 \\x5e54d48d973b40f68c0d19f4fb47a9b375fcd14b1bc8dd3ac40f82f952a41e9d18b2f3d77199ed97ec2d4223828978d5eee2d3e6c69522b821f545207e04d70f 154 \\x00000001000001006f33c25fcf210745f111a6f94bc9d48df165e062e6c7523378328f25f7c84a171a4a80f36c80b99f58b30f0583758d2bb87f7b67232ecb43c9cde27f7a3323302428fb127a13bd1d0863baed792a4644c10b2fed02cf1eca0a59d0291d22761878ff924308b04e71f65415dc6b41116d1f0cbc8d2f8259c316507479099be026 \\x5858ed86f8c8c72867b5dfe67ec1f9fbda64191b86e98fa74d97ee02488b32371de1d350de73b8ee3afb0bb11c11f23d7448fffa10bd1cf512c02250ff797b71 \\x0000000100000001b3713d792c31caa7d92af255c28d2a405304e0c67308399b511a4ad5da4ff87025762555c5f65b1a298eada97f6e3b3560a7837f7490a1ce927f76d67c57d37a5eb5f200a2fd47087d8fff5b3ae9e93213b8afb3e1e2b23e22071c74d05a283a6604d7f7925812dc528c5d838205fb140a780c94ee947130c08a4404681dbe7e \\x0000000100010000
-45 4 8 \\x0b4e81b7450c74341984ece1a6e153a185eda4b3b876c6b2e190d2ac62a45c9cd6948f0e7a9b4b15d74e2c75e25429b2b145101cd0ad5716ea8bec39d3a7010d 154 \\x0000000100000100a1b7309f715c1fdde4e118530b66971827e1b089de789f89fbfb910644b4f9ff1f55e13118c7f8e036c66f69696b13db2db5c4a0e3db4e9d5738b1cecd1b59bd4481dee1bb628386552f26f52a69e02ca904d7dde3cb2550fc29f70780a502000f4a054fb74f5f7bc545c751ca601a4952d03e37355d34c5cd1919c14eaa702d \\x3308649ed8e6ffcfe1791dfb68be176d38ff8d0dc43efac3a83f2d776dccc907f66a3f84065459c58ffcff16cd5945cafd03843967ffd7320a505526cc662fc5 \\x0000000100000001acb0c27bec646bbd81cc0527053f3d280be335352a6d27f739d80e235575595b99d1994153d1ec6be0e684bb31999fe2efbe74b250ec55462c8dc976e0e81195767b2da205536f967c4876df723eb267c55871eb3a0d635a37ec53dda18a3baea1e0bda312ae0dd30c765746ca1ee85d719bf26b62b572c1305fbb5623ffb850 \\x0000000100010000
-46 4 9 \\x832dbcab011bfb3feb915747ea076c4916c84dae1d0e56dee8650470537aaa6a996ce559ca565d6241ca84eb1e0ea13ea299865d7cad849d035b612285dcb802 174 \\x00000001000001001a7e0d2332c5b2aa991329d1ebf422fc900d63a89d548443ff3bd985c4b6382c7286d9b912c5a4b64ee2ce8c6dcdaf6e164f81fe343e478eec40f5e5f26adf320736960ac7cb09559523a56682cb0cca8902456e0f3d4b97af6585b18f70dfa5b626767583f3c14678dd4c785ee3620e2ed5fa1683cf27c2540abb191030b74e \\x1b0075006786e5dd6b7f0a58ecbcffe9402cf78dd29e9fb8c4dfddf2283ab5b66e021c1ac363815100b097953672d18a491ac1c87de339252249ec755e613421 \\x00000001000000016d61a6013d6b87faca8a1bf96eba65fc93374394234e5fd91e8ec8a8b8e18a72090a91ef8476d81302b5668bc9441f4919e34c3c2bf9ff180423b14ff45f074c12b02986535c04210bb440f8017f015489e03d5a46f4e77bda05ae0a6478221fa0fd57a30cd8005e68644e6928a42b305327b259252968a8c740fe4bc92d08cc \\x0000000100010000
-47 4 10 \\xc9bbaccd18b403ee383f5fbc7b0148e7e4cd4edee711cdcbaf855cfbc4b4cf543120d1d202e303ee4b081a9e2433e76ca37d8f8c407860f2ec72678c6848330f 174 \\x00000001000001004744861a1c33cfe4a843c2132de09c6d394de20db3fe3049a6cb0d17159b0c9a947fdfa05976ea8deb75c294d3908f77db810855b09658224cfed931393b978f8ceb96fa03fcf432dad059a7878e2c7ee1e527bdc0a2c29a018e907e172809b9d1d8fcbd885e83e781ccfbdcc158c4ccbc837f3dcd5ecde716699b87eb285a40 \\x186683ed7cc3d5fdda39d8e30e56ecbaebced49be3b5bbe805aba2e6f220a64cf01d6cf9c2cfb26510d7c04ab6a3306ddca557c66c8a6096edfea88f2b748735 \\x0000000100000001817c114abea78895a1a4abd693609d2e498365a22ed21feea3539b01203a192080a2450e8cc73ec12bcb8786f8794baacb3f9e3cdb1c3fab03f59af5dd4e3a72d0e17a6ce76a500e91fa6a0f17a3d6abdf2d17dae25c1730126070d395a1f8b23db3129f157ce57e9a9caa19044d2e8489ba19618991164d9fc09ba09174f66e \\x0000000100010000
-48 4 11 \\x8ce132d9081a37677eee9caa4eac345aa05d7185f7b4aa16f4784073f1c217bded42f286ee0717eef4dc2c03b623b2d5abbb0ce016ec5212984c37b323f8900e 174 \\x0000000100000100a7fe96ed3708dd71b44a9c360ff5ad33bb4890bb50c2873bf4465c5d523153c38bd74a7024a90bae2c2092b26344bb58d5d834137dfa47118ef9a793ee4dedbcb8b3713aab13a028be47ab559cdb46cc6e0ac30dfab126a0a712cab88344dd4cf79bf9e5af38e30037fc43a6ecce65b435417c9cf9c7c0abaf67790f8997f525 \\x106be279f3d74fc1c961d9876a7034ae8fd619139f10ba3662dcbef741978d27f21323a02e1787fca5b5be5fe8823fb74187052a99d50bfc2ff5c73692b7572c \\x0000000100000001b4466473c24e1056a3a32117dc8cc6b0b88e126b71b859f3105a9581f7f8f6c06b411a89697586b728af7ae83cec7e32aa16b1776072a1048c49c72a7a590ffa2dec09ca1d5c21f8083f9ffb51c53677c4320a80d953925888259100a0dcc0606f73f7d5e9f6bb7c23a85051df353a85ad04edd9b3bab873e127b4104bf96fbc \\x0000000100010000
-\.
-
-
---
--- Data for Name: refresh_transfer_keys_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.refresh_transfer_keys_default (rtc_serial, melt_serial_id, transfer_pub, transfer_privs) FROM stdin;
-1 1 \\xe7aa2c687f5196e179862913451daf1de87adae85d9b760814647a253cfaae5d \\xbdeced8fa7476443a8e56e677ed71f8c5df0cd25edc35b86f63ce57b3cb9322092cc0d7feb64ea060e91d0814863d382ead525df5855a63d84e84bbb56fb04b2
-2 2 \\xe1a85d91d37ed28299ea79797b1dbc0c702553683137b2771d6a4a717bd2ad35 \\x43afdcf186bb7539f57f0e5f89e1373560dbeb27a2a496fc1e019d79a1f6694f895bc14e82a1399890071aa79a4482f5c3d92bbe0ba5c5b0181e36800ab9f5dc
-3 3 \\x2ffcbdb8d26712c9f5097a106422d6ca980c99954a8b882debeb8833a9488a16 \\x6f2b3b0ee15a171a4fefc400da9b254ca1a3f7eea33da2a08df22c16202ccdf7fa10efa0210ec89228d30c11bcbff2fc6b943210bdb6e0d506b135ce030cb3eb
-4 4 \\x7c057657f34a59dc4a9f7c49bf84963bd4bbc5bed84b592c3efd87ca18a51a08 \\xfba4680b8d8d889d9ec98fd9f90e676dcb6d893e731de647b802d996b1eff160e795516318b26a68d149760b5fc38c85a46469f0720ed45ec951d37ea2062905
-\.
-
-
---
--- Data for Name: refunds_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.refunds_default (refund_serial_id, coin_pub, deposit_serial_id, merchant_sig, rtransaction_id, amount_with_fee_val, amount_with_fee_frac) FROM stdin;
-1 \\x313b9c4a779ef6904dead059e2d10cc7c6ebd55a5da776632255b960809851dc 2 \\xaa1c3a18b4a43e40e80754783e4857629d489611419c83075848a565c5e7acde0d81dd0f9ea6a1b986e45dc5a4f4b3458aad18111688f9d261d5a69bbb2cf305 1 6 0
-\.
-
-
---
--- Data for Name: reserves_close_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.reserves_close_default (close_uuid, reserve_pub, execution_date, wtid, wire_target_h_payto, amount_val, amount_frac, closing_fee_val, closing_fee_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: reserves_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.reserves_default (reserve_uuid, reserve_pub, current_balance_val, current_balance_frac, purses_active, purses_allowed, max_age, expiration_date, gc_date) FROM stdin;
-1 \\x7d2ff72b4c4101cb0c616edfc780bd82cbaf805f06359c852e5e1227a386a3e7 0 1000000 0 0 120 1663411902000000 1881744704000000
-7 \\x5f58d30539db83464a0c5cda163d54b29df32f12af10f562db29a14d8fd40afb 0 1000000 0 0 120 1663411911000000 1881744712000000
-\.
-
-
---
--- Data for Name: reserves_in_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.reserves_in_default (reserve_in_serial_id, reserve_pub, wire_reference, credit_val, credit_frac, wire_source_h_payto, exchange_account_section, execution_date) FROM stdin;
-1 \\x7d2ff72b4c4101cb0c616edfc780bd82cbaf805f06359c852e5e1227a386a3e7 1 10 0 \\x0eb8056c99178da3545a2fdb46ffc41e51d0e67849270eaec69f011eabcc6524 exchange-account-1 1660992702000000
-7 \\x5f58d30539db83464a0c5cda163d54b29df32f12af10f562db29a14d8fd40afb 2 18 0 \\x27f98d4f08acdd658b8f16dcc1f04ee156d1ffe19ed1149880c52874b3db3361 exchange-account-1 1660992711000000
-\.
-
-
---
--- Data for Name: reserves_out_by_reserve_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.reserves_out_by_reserve_default (reserve_uuid, h_blind_ev) FROM stdin;
-1 \\x94fe87fd44d97d1ae70bf031e5d1476b7e078a832b66e0572df8e5635d4367aa14840f546e97d79eb2dc503b788f241656f7e47e7435b757ca2590aafbac3513
-1 \\x6583e3c24091219996c2f60502b79f6153d405cd1e8e12fc6e224f76c49d1984bb8d7764eda9d5eb08f14db107e334c9ac781b140c83283adeee8be9eb35aa5a
-1 \\xec8e92b5dacb92ae84386464f056f9052cf006eb021b6c7bf379a259109fe447dd964f8070acb6fcb6a101311bfef29ce0bca51a0b9a6c1952bcb3d642d58a23
-1 \\x29993e72b61f134e95aac37a985cdfac926e626dae8282d8b34254978f1ebb14e28dd8c285fcd73e3d409050f11e24f3f6ca437f484cc2dab2aaa3fe5029ba66
-1 \\x052d33529aee1faef5a204d8d1069ffb464224da1d301322f71506b556cb98eaff99aa6d6a08fdb655a20bbd6af8cc3d00b9e4b364c4700147641cd4f62ba9d8
-1 \\x6eaf405dd9aea91b3ba18e5b17a0e7d6fe6e0eff0d9888babf70bb196763cb5209fc101d044ddb92bd17c6666f1562f9e06a5b0be6167e7faecc8d73c1134bb7
-1 \\x6faca450f88f3a6f258e5be596f837fed5e6a36d6c0942ef49774894cf81e9665b47e0397c3c3335f069533c19086e556c0ade76c82ef42d82ef5351724082d8
-1 \\x297b6f96b8ea07b018618b5439b612604fe61caf3cea82f97eef32e4ca4d849008a999d876648ac977d87f42305dd1ac6911d644d270d31c60f2003d4f60b356
-1 \\x9995c4493398229bc29a7a0f290baf81064def3ef6d82fd96f7d911a51a29061bda26d3b9bad20b8698cb0b9ac9c63dbf1fa88f3938706201edde15c2cb2ce81
-1 \\xb913bae26c9c0ba8aa41d627163dae6801c71d01326c0e4f01ddee83a5498ea86495f2d6ef0c1188d1df93d3935662229cb763f7993cba9770bb54ddcf4cc252
-1 \\xe03e0066043f376cd9178c784d64db6035de4f0bfbe7b167f59ce3c6173733187daace78d83ee584a2ccbdf55e5818086495b69d4d3f85df30f86a14f4f4a4bb
-1 \\xbae5d44185ca92e093ee3abcad987a9cc1b738e4718c1d954c6bc1273ca18bf0279507f6b766970e5b69ac2338f7035781d6c8458384bae19fd8e01deb65abb8
-7 \\xe41f0bbdf5ea648bc7562a58dc4e589b64774fc4909f212e69cff392b4afe5b90289b8c40815cb5e8c1e5b3e3fea213b35dc691e96086fde3b9ffbd1cc02f028
-7 \\xd67dec4f12a5a498485e873c21a7d0fb5e096d20ae4b20d4aaca8876d3e0ca9d35ec86224e4c889afd48e148ee4a0f54f7895178122fe90490587cb20462ae5b
-7 \\x5590295f2205cfd4ebbc1871e54d54487bcec2f334f5f9275b0ef44793fe9c47f63b66972ace61db9349ee045af014115c9d12cd72b60d5742c1c1284194e7e7
-7 \\x84ee565e7ea6f29f8bbf5cc0f022a89165c4af61a026a3192f76a640614fc6a00b1195e1bfd993cdb678a0588310ebf866cbbbf226a1cd84e38057b0188e04df
-7 \\x2e3704609413280532c88a1e608925eed1c7e539c60328f4cbc1ef05303802f6d477a55a984102bb398726142cd2fdd9414ec6ee207d666586128168c699381c
-7 \\x2562b26e3c2683c809f04be8c6462955b04903adbec2378b7b70b44fc3e52411740f7fc4a208c7fa192db59b1cd04b91d5c6b316cdaaeb1c0230d63d5e6be2fe
-7 \\xf980eb78f32a93aa14e70f46fc2184752d507a3006f14b3f89cf7bd564cbedeaae79b4f9c1d3690b08f04dcad3e0bf332dfb19d0ccd9180fd3c7ebcc28e5a0ec
-7 \\x8262886bff958487013fffc579cb862dbfce7f5d5e4e16a4dce448fc7b681de37c392928efb43b6209f26743228c27419891f4fd1a2db751a71891262637ccb9
-7 \\x244b8df79a5110f3b3684423f534a9b9b5d4cdb459fcede49e6bde03058d65c7ca42454a6f8311bb52aefde3797516dcbf99b3fd34b336b2461d162322bec14c
-7 \\x6a96f3aad170a8983c565b758356d44e3a4c9d1f8a4b4a0c8e087a22b1a88e62fef8111c709d74285900cc240b0661c28622f28ca46155b687367fa5183f8e94
-7 \\xac36d702871fa820e7c9030c3e02626b1d73c45d572afb930a117da1e5fad368f84adf2511346abea62e1b76cab63dc2c97281c330404da7b2062c5711c7d1a1
-7 \\x75f123cdcc9f33c53e29d208ae574d569ca62a06e41f92071f0b319c3b72f3d88628529a232a42bcc0b6d430222789cdc8566190b55ca1a5b3ef8d2d28e14943
-7 \\x742919fd6ebcdb11710c8084ff73f1fc3de60af2914c96e4b1537e8589892637ca78356581f9b3db778e10e165deabba3b776270c346febdd92ceef445b24646
-7 \\xea144f1c55783c58b6ab4d63fe653ea12a7f1474d2e302c14d39b0b8048ffe9c56a4b96e3edb102ef7133b99efb55a763dca98e6c95aa9fe9f26c13b507bd28a
-\.
-
-
---
--- Data for Name: reserves_out_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.reserves_out_default (reserve_out_serial_id, h_blind_ev, denominations_serial, denom_sig, reserve_uuid, reserve_sig, execution_date, amount_with_fee_val, amount_with_fee_frac) FROM stdin;
-1 \\x94fe87fd44d97d1ae70bf031e5d1476b7e078a832b66e0572df8e5635d4367aa14840f546e97d79eb2dc503b788f241656f7e47e7435b757ca2590aafbac3513 300 \\x0000000100000001951b31741d52d2ce37abbafebcf26bdd1f837cd4d639951e3af3da1416788d94cf30a381182a9a9b02cd91e71b9010f81008347cac258661c3e8b881607079e9c4296af5322f510ca448bb8c58e69c9b8cf9b3dab3e54b9adeb2aa7a728b125e68a309aece8db8c23e396f0caf519b07bf549f757b355ecc3626e11b44dd5032 1 \\xb351720da9269d442dc59887b9dd20c2e8f3ec582165545228a5bbe2a5b67f154bde63e474db1f79d998f06e66ecc4f28be47e0769aff21bfe36cf3b634e7f06 1660992704000000 8 5000000
-2 \\x6583e3c24091219996c2f60502b79f6153d405cd1e8e12fc6e224f76c49d1984bb8d7764eda9d5eb08f14db107e334c9ac781b140c83283adeee8be9eb35aa5a 310 \\x00000001000000017a7eef1c996023d02c281c8476f64b93bc29b5c94d7033edaaf6840661ff377b954db8f910282fe5b4939acf62e8a12b148a887493e39a92e8ae78415060790e5be6e824e52c3981d9dbc3c7c7e226cd9a25c6e094b1cbdae3eaca2168ce3c208eb06513f0d1f8455762f2ecc1c1554fc50616a74b1329fcad17559d78c13b05 1 \\xd6ae6672ea03232c058b8faea399c8d82773f14732cf10394d71b65947659ec9cc39d51c93f2e8b41f38ebfb40df698816d9329a2feeb2461a2b3093fd91ea06 1660992704000000 1 2000000
-3 \\xec8e92b5dacb92ae84386464f056f9052cf006eb021b6c7bf379a259109fe447dd964f8070acb6fcb6a101311bfef29ce0bca51a0b9a6c1952bcb3d642d58a23 154 \\x00000001000000019a915da29587bbbeef93ef37cf9ca4741d6e3eb6e572232cefd262aa22abca9e42b73ae210bceff9b9f437cf1ef378de5da624803cbb08cb6a7408a88afaeb68c0bfe9b1669f596f52c18132f05e44ca3600a168942dacc838c7aa5762cf6a0dc5be5043c6aae3c0331f2cda53874f8ee8b3faed2f548a06d081a8c30f5a5e9b 1 \\xa21c55d46606711a135555768ae6bf94d59a12f4bb1176614562501c7e186dfbbf441b11d6de194ed923c91a7b04ca5021dbc37d300dcf72f06f20ae59960209 1660992704000000 0 11000000
-4 \\x29993e72b61f134e95aac37a985cdfac926e626dae8282d8b34254978f1ebb14e28dd8c285fcd73e3d409050f11e24f3f6ca437f484cc2dab2aaa3fe5029ba66 154 \\x000000010000000123df63adaa611ce1a2ac9a935032be7a6d44a4067aa75763e6db375da164ca006cadc875771c90ff0dd417bc8218e4051b7267c7c300bcee69457c54262dd7f40634a9233dfff7d20e672486ffcad08cc6190460bd161ddc0f4273cedc911e3ac77ff4f1420f4a70e1b59334356c4a21349508d7d6906e3ed5bf8d453fcab4e5 1 \\xd67d3ed26595a34289babb4802f393c55a28e274aacdb3e08e3fbb744cf8c5b6ff17de7ab1411328d1a946f33810fa6c6fe53d3eaaebe073120af1771ff4a707 1660992704000000 0 11000000
-5 \\x052d33529aee1faef5a204d8d1069ffb464224da1d301322f71506b556cb98eaff99aa6d6a08fdb655a20bbd6af8cc3d00b9e4b364c4700147641cd4f62ba9d8 154 \\x0000000100000001b818832524aefdc8e815e2976d7de1bb4b707ab1ade81a4313d04f94474942aa776dcb9746cbaa6f7f602195816be1aad41b20f55777d163f88498c41147cb17e97193803015e1f67dcbc0eacc8d45b71fb91b81c7e25935304155120825aa0f1d571a4abf017b8be4557804fb7cff73fdd9a4b9f603bc2c77721ab20336c6d6 1 \\x53d7f65e11385997ac5cab89d4e52149366afe0743673793cd67d3baca1947c1f1c3c44b83581143fbea72b65d5a37000e8f14ac35cd73a5447813abc361230e 1660992704000000 0 11000000
-6 \\x6eaf405dd9aea91b3ba18e5b17a0e7d6fe6e0eff0d9888babf70bb196763cb5209fc101d044ddb92bd17c6666f1562f9e06a5b0be6167e7faecc8d73c1134bb7 154 \\x00000001000000017a18eb83114b4ed38ee51558c3f1b706117751e91466c99e870e9a260f53f1e3d0caee18ff17679354f9bc748951aebc53fe25a86b85d31e64c9d086530194127576fca5fe56760e5a452e35b4679cab9de1771ec89c44e0e9ad1648ca71bfec8b41e758dd24ab3a1e14e7093ad63750c8e889d44215295302725f1c432b585e 1 \\xc8561db64ffffa89392cf739a546a038a1704d768916de1c304841a40d841796dfe5ca3ae3e2291da3181ea0c158c9b3acc7fb361e6b25da6a7a5be9da1f420f 1660992704000000 0 11000000
-7 \\x6faca450f88f3a6f258e5be596f837fed5e6a36d6c0942ef49774894cf81e9665b47e0397c3c3335f069533c19086e556c0ade76c82ef42d82ef5351724082d8 154 \\x000000010000000118f4d85117ef8239ffa0fd833366f76521dea39d65a3914da5c8af6af4ab1631cccad5891db773f1495c547431f96237f04baf78a90bd12e72f1abcb1255688f01f17df932f6fe28e310510237adb5ca11cd655b357cd905fae3b22745d123cfb514830ead3d57430decc0063c0bfa0bc51bb261245cc04ecfcb1bc3a4c88432 1 \\xb242f530dc0a3ecc1fe77d104b989a04bf4d7995c9a7e605ad5d196727bf3992499e73a5a33facdff9e4f82a386d822bb26552126104a59c0f7b8dc38152a00e 1660992704000000 0 11000000
-8 \\x297b6f96b8ea07b018618b5439b612604fe61caf3cea82f97eef32e4ca4d849008a999d876648ac977d87f42305dd1ac6911d644d270d31c60f2003d4f60b356 154 \\x0000000100000001ccec68fd6d86aea1d80403b182e7c89e73073615f9462ba2223f2333e1717399925c285ba0f018bfdb63cd04c68d2315a64205456edc1fa70df6fe4255c81c4e9e81294c08c8f60c8934ad0c85f0001166dd0a9b68a55a2fecc543e7b50a11b24d92ce17870a4b94ad967646f8fced322dcdf34bff958cbac8b7286bbfffad35 1 \\xf0265c801a64a1a43a44b4eaab4f5e5c7c2a7ccb74dad66fd42d1a7481f66255b3dffe33ea7037ca55ddeaf4d96c0c3a23fec2bac0d013b9fe5ed3e530129e0f 1660992704000000 0 11000000
-9 \\x9995c4493398229bc29a7a0f290baf81064def3ef6d82fd96f7d911a51a29061bda26d3b9bad20b8698cb0b9ac9c63dbf1fa88f3938706201edde15c2cb2ce81 154 \\x00000001000000013e5d209b78154f7a141e422295848af6b0abc69d54b4ab06c5bfcb7c09aa2d69dd6365ec25862de1f1bf4ed89d02d80301e5ccc7fa6f19de992e7f23c8b3172ed451826f4956f4d01c7a4acf549d4328f6570b467fd82046cd0df24f514dc2c9e5cec1670d0fa7ceaf43a0c4325e95e86181eb3815c54acdd8a084f7fad1d18b 1 \\x61aca7172b751d4bcc1d7432b5ee57511ad6627b42e7f9dd44507de76f5cc7abbd5c37db33858d98162c08a0fe9144bc202eb3087521011fab883a18f0b69002 1660992704000000 0 11000000
-10 \\xb913bae26c9c0ba8aa41d627163dae6801c71d01326c0e4f01ddee83a5498ea86495f2d6ef0c1188d1df93d3935662229cb763f7993cba9770bb54ddcf4cc252 154 \\x0000000100000001897aa79d78fbc132ba2aeacd89b5405b5c212100b22f1f4a8b2e4003f9a9ac9cc2fe67171252f12b87d0ce0f05d88fe43b9816ddd003f39e03d3f6e4747208a74159c39aee538082deb92b152ac82dc10b5e500c748e43b5a50de656d19898ce39a4b4ae9e9614752b285291d6c9519f356c48d55502346f0cc976907ccff4df 1 \\xec101adc7e37e98525d4e420b77decd78a5c91554d6ca3e67fecd96a58ed775a9a273581482e1b7c85eb40af9cf45dce7020fcdbfafbbd4f156e23b363393102 1660992704000000 0 11000000
-11 \\xe03e0066043f376cd9178c784d64db6035de4f0bfbe7b167f59ce3c6173733187daace78d83ee584a2ccbdf55e5818086495b69d4d3f85df30f86a14f4f4a4bb 174 \\x0000000100000001aa86c6758835dc7da14bd159619255c2948a4c4ec539bcef39abbc8e9e721966f19dc78cc818a12ef85f3d3563cdd82dd747e411027a9965b1d6226c279896ce03ccec6dd0b01c32ee586b6b3eb84bc76f727d48ab2fc56dba5e4633e5b786bdf3757290778c29efe10ecac8e857d9752afcdad1231bcaec055adeb9051ceebc 1 \\xd772f7d4f36d582eaf358c94ef55e90d8f7c4cbee1cff7635ec180405941262a098d106bb54cb70ad10c7153f983209bac98f4044f96370f0ccf2b69613d570f 1660992704000000 0 2000000
-12 \\xbae5d44185ca92e093ee3abcad987a9cc1b738e4718c1d954c6bc1273ca18bf0279507f6b766970e5b69ac2338f7035781d6c8458384bae19fd8e01deb65abb8 174 \\x00000001000000014bf53b6aaa41f4e4ce3b87ef25cd29c903e9cb7d749a2e03056fc8a2ccc855c519f287a1fc89c9afa7435b0b6bf9fe819397d2a2b289b90e6ea7647abe4c226edb6a97ac9e30f3852699d659b75551bf129df4803ab2d9542be4b1af82072c032d74d2289622a75297d3f580bb580996f310dcd84fa595d6b64234940bfd34a0 1 \\xc3df217381fb94057afc7f9b921372d339a009d220673730701c4cec80e74ec1f512c30be7e2eb7da400bbbf292ce7fbc3a5d073991a713120260795892f040c 1660992704000000 0 2000000
-13 \\xe41f0bbdf5ea648bc7562a58dc4e589b64774fc4909f212e69cff392b4afe5b90289b8c40815cb5e8c1e5b3e3fea213b35dc691e96086fde3b9ffbd1cc02f028 77 \\x00000001000000017812bdd6b1879e7387f0101df86f016680a3da2c67aa405bc773487cbff0bf543da7c853ece759f1803d209d2ce275f18450f57c7bf7b674dc63890074b5bbf83714d39318980ed5bf5cb08931e44f34027b03d895785153e03180a6202b0d38b439778b639707059ae9d18de267dc66830410133e95e6650beb16eceff1e5fe 7 \\xce84c6cf30782acf4eba9b2b73cad32290ddf211b934d13e18200b972f24c5a5b158d1e187e2a870a916e1782cb7459c4aad1b5372a3aeee31950647a5660d04 1660992712000000 10 1000000
-14 \\xd67dec4f12a5a498485e873c21a7d0fb5e096d20ae4b20d4aaca8876d3e0ca9d35ec86224e4c889afd48e148ee4a0f54f7895178122fe90490587cb20462ae5b 116 \\x0000000100000001a83cd44a1d0072ce86e46c727af9fe4b2f912e98510a434994c8aa82a250a0d7d7601813290c3ac3d439106dd977258fe419852b067659502d80eaa77acd661277c0ea3ca954952ac27cf62be24d94f234622a84fb0a098df104479010e6d900109dd70e05d761bd034d1925b294713502f1330b977f22684da5f9a470fe7434 7 \\x8908067cb6702a4a79682b3de5d045f2df764d2a1030ab20a96145aef7fd9cd4f3c2ee63378ee6c7ea12a900aa9a0607bc5b5534f5ad514cdaf6ebfac2f1940d 1660992712000000 5 1000000
-15 \\x5590295f2205cfd4ebbc1871e54d54487bcec2f334f5f9275b0ef44793fe9c47f63b66972ace61db9349ee045af014115c9d12cd72b60d5742c1c1284194e7e7 196 \\x00000001000000018b3cd7bd7b7d7274aa7deab86a500de1c3f11d383c8c90f0548d77240a6e05a3512300fc72121cdd1bea8ca245a38e718ffc2c01db82c94ad65083f6ffd02df55a53c426ade206fcfaa8e4e9eaae44bc28fdcbf5327a2630cc2c69e38dfab8cc872af3f96a9990ef0403485ad3d7801d6c781cfe051a9913e00d46e0ec8fae82 7 \\x072b8bc2f455029541f6ccb27bc161687e79fa7873cd3888ce77258442789428c5c875c0d5ec63939ae27400f69f62ebe2b7400dad68370bdac6e869d4af7f04 1660992712000000 2 3000000
-16 \\x84ee565e7ea6f29f8bbf5cc0f022a89165c4af61a026a3192f76a640614fc6a00b1195e1bfd993cdb678a0588310ebf866cbbbf226a1cd84e38057b0188e04df 154 \\x000000010000000191b711e310091713ee9bd611cb89495ce7e119595dd9a042571233ad4dacfbb7f11162955dbd8f3fe17cffb41b7ba865e8a551a7b72f453b133a7592a9b72128e91387a5f2cae286f10faf55daac3260b9c5272bb034d3ba5e63d8e4c9cdb33a71b91cd3eedb8de72c634d62ec90344f1db04fef78df87b812c53feb3594d937 7 \\xf93364f2f8617ee633996bf4de27a427af01d7350214d50aa6c3cbb088f81085ffda999006cce73668d6e3360ed769c48dc5a4387e08fdb84452d75e5812c40a 1660992712000000 0 11000000
-17 \\x2e3704609413280532c88a1e608925eed1c7e539c60328f4cbc1ef05303802f6d477a55a984102bb398726142cd2fdd9414ec6ee207d666586128168c699381c 154 \\x000000010000000131ce4781e9f204e3fb8fedb16972f619d6263453038391def363a154abce776d9be9d4ecc95d3199d97ef7d9ea604aa49a25aa2bd09e769cad08a5e4b4e1295b58821601f82a6020cf5cd344ca76859bc7906e31c6b2bf3fc4e6321721ae3647df0ff59dc0b2fef2ed45f84d04aea59a896e8a68bd432bd3938ca9932d03cf02 7 \\xc90c26e65edbc2ee58dc72bb291ca9b78c7340f1a4211823267f47e6628e6ff50405b92f0c67ec96437d3667fecb3c947ee1441936d7a3a0c9024c1bd824400e 1660992712000000 0 11000000
-18 \\x2562b26e3c2683c809f04be8c6462955b04903adbec2378b7b70b44fc3e52411740f7fc4a208c7fa192db59b1cd04b91d5c6b316cdaaeb1c0230d63d5e6be2fe 154 \\x00000001000000011ea8082c5e84b8234241cf8207fe0d021751fd2d90b0c7c49b04e549025228065626ae1e7203299620e384211d21e857d767b88ad980b4d2bdfb57bd21211d16e48d8c62f9d85531cc3064e844d2c2bad25f4d22e9e4fdb77b006544285c8004c49980be9b03149839b268fb4e98240aaea04a7e9feb9f236eb66e359c756e7c 7 \\xaaa2380864d625bfb15521117836180f372699872b1536dd164883ac584d11e808ccd0d92a4934bcc2d477ff17df1d2fe6faa7112f689983961960238ec58d0d 1660992712000000 0 11000000
-19 \\xf980eb78f32a93aa14e70f46fc2184752d507a3006f14b3f89cf7bd564cbedeaae79b4f9c1d3690b08f04dcad3e0bf332dfb19d0ccd9180fd3c7ebcc28e5a0ec 154 \\x00000001000000013f6899e9982dd43675ea15da59779c532630eaa5d905ca2f459b598f7c8ede3f0df9bfb77d7af42db49cae4650c2f1ac76378bfb510ac9c4038a4ca62cab8834d561eb13b13eb4b11a2fe8fad9438f5a94e9196cb3007d08aacaa3289798ef6409f7a0ba917cf569b22a63f2f6a616aaf36dad55c731c3d6f88a8a601c2ed722 7 \\x849ac222203bda39423eb128e136750dd84c81f877d32a1c0e9bf48d1c63af220e446e4eeb5e4727ecae5d1e8a4026e3f3923207bec6480250069b2d1fc9f101 1660992712000000 0 11000000
-20 \\x8262886bff958487013fffc579cb862dbfce7f5d5e4e16a4dce448fc7b681de37c392928efb43b6209f26743228c27419891f4fd1a2db751a71891262637ccb9 154 \\x0000000100000001bb26f243849fa9df4a0c5667068c0c3ba07ff484a07794eb83fbe415e27f3668f80a929ff565cbbc97f8dc3e77b1c0b2b3aa67466d116e32487ee09f8528945dc72fd106cdda52af17a9f255f9d913b095aaa014c0cbaa6855d59332b38f2eae71621745448dce38adf1b843440229bf72a9f3bad508e5065f9d8bafb0198063 7 \\x6f1e2266e05aa96f52f1af9bf2096868eb82d17519886d21dfdd2be317741ec4ad41b62aa7baf1fd18d9075da388bb9a71db45e0f6869151a3ffebb877d3370e 1660992712000000 0 11000000
-21 \\x244b8df79a5110f3b3684423f534a9b9b5d4cdb459fcede49e6bde03058d65c7ca42454a6f8311bb52aefde3797516dcbf99b3fd34b336b2461d162322bec14c 154 \\x00000001000000019ddafd89d7f5514dffa5c60099fec859d226f58ae8eff54a58fc9b0207aa1d359d2d037edf11ba0854eab5a09add204c0480dfdd4515be2bde8993346ecdc8ee64886eb330b70154b7b52afbaff99f23d2db7545d129d1b51ed03c63364d6f817705d775d03e4022e91678be5e8ac4fda082432f9bd7718f8c24d57966a63da9 7 \\x2692a24178a58313746a75acfbcca113992d45f2838c25424b9dafb1b1b4e60a156ca4aef744dff01441c0d1d2650d6a6fb87b82b2f2dc73e6df551b7e0b3d0f 1660992712000000 0 11000000
-22 \\x6a96f3aad170a8983c565b758356d44e3a4c9d1f8a4b4a0c8e087a22b1a88e62fef8111c709d74285900cc240b0661c28622f28ca46155b687367fa5183f8e94 154 \\x0000000100000001bd7f6df8785091f1ec56098d38ad1c65c4adc2656042c686e2e9957326028f77294c18de00e4e95bf7ddc652150e88937bd132491c91c7320dcf26538d45ec8af34e24cd9d9612a025c079597208a8706c1ea0c9401a4af372a5e9900c266bfd58c7ccef77a57db583eba10f51fbfe0098f5ae2197553ea49efc00d79f71ffc1 7 \\xd1755fc1380d24aeaaf83eada1e666f4d44143e2a0188294f3dab67a40abb37bb4eeff933ca564ba4c6ab5cfeaeb31a9c8498ce59d1094a77ceaf048b19b5105 1660992712000000 0 11000000
-23 \\xac36d702871fa820e7c9030c3e02626b1d73c45d572afb930a117da1e5fad368f84adf2511346abea62e1b76cab63dc2c97281c330404da7b2062c5711c7d1a1 154 \\x0000000100000001bbeb4891369d35d68b78ddea71de90b1a5ac844bd5136d07e861a1198816cfbda52a80f5dde43c032f7ccd077e0a63157c4af706da094e6a01b9bfc30606693596dd20f7ce45237019ca1a5dc0d152e35f9a6c10f8ecbbc3e57ca09fefc438db6c94e9b1f734bba2ca444f50acfdfa7a53687e3ef144f78c156088543b8575b6 7 \\x9e54b7392aaaa7421066a0e8cc79669f45b3d9b16ce7fb22878d6feb18cbf30e046e5d6bad5b62f064a83906714c4307e09de352d7384bd35572d9030ae5f90b 1660992712000000 0 11000000
-24 \\x75f123cdcc9f33c53e29d208ae574d569ca62a06e41f92071f0b319c3b72f3d88628529a232a42bcc0b6d430222789cdc8566190b55ca1a5b3ef8d2d28e14943 174 \\x000000010000000164d6caa0fc80c96d5c97c7080efe2ea6ad1c2fda9595f55629c2597483057b7038618efb5d920cf330dd025fc62674436f7c667352ca9477d743d688f8b48ff3a7619797dc5e4962b38e2560f6c9e9807a16fc01bc9de7e039791a06ad72c6ffa2f0452fb5599c855d786ec058831ca0cd70d9bd0baa6dd65b9264f858efe15c 7 \\xa95fc1275ae0c3ea88843697ea9af6ce347ee9ae05c58e09e5ffcff6d78e70cc06c2bbca300ff87c424c448f5a6c194b3c3922dc8e956d1229b3fcfb12baaf09 1660992712000000 0 2000000
-25 \\x742919fd6ebcdb11710c8084ff73f1fc3de60af2914c96e4b1537e8589892637ca78356581f9b3db778e10e165deabba3b776270c346febdd92ceef445b24646 174 \\x000000010000000196f212782cb485e309ca9498fd012d1f3bb7dd73d997b2b2dc3257eb9902e3d54dd735016ca305de2a07f38c730e5afee1257f4bb9827baf9e01454b99db576a2dde455d5a9b94349694a2fb564b12e8f7ff45882ecdcfb79a83f201bbb411f5dd93ecf873870a57c8c6eaf3e3c3f5ef73754a7d61f1cadfcec03ee96f2bb97d 7 \\xa7692a3d2437e0fd76b04f9d3326eb4a75bcf2e1182c530905660a3929179ceaf6b98a3b040bb7ac7aa99964fadb521a7ecd8615f2c789ac29329b3dcc8f330e 1660992712000000 0 2000000
-26 \\xea144f1c55783c58b6ab4d63fe653ea12a7f1474d2e302c14d39b0b8048ffe9c56a4b96e3edb102ef7133b99efb55a763dca98e6c95aa9fe9f26c13b507bd28a 174 \\x0000000100000001b11d3b0e3fb2af179283cfdc9e93c609487ac7cee37642eaa31c77e302b8fdec23e3e2240c9855980f684ad791d0cb6bd3fb48c550c1716715b66a70baa578a3a3eddcbfd32b6558f732cf6da2bd48d9b34b200120b37c1ba21b22d4f399007b6e9038bceeecf4872a997a7cd26b434c4c83dbcd16aed5292d685e05a6eb5418 7 \\x0fabe7f118de09c9a312f561cd7db107d77ea9a74958f908164007a242b796643cbf577beaae3b72d5b9eee69c7a7dad78698d2107d37155749c0e81b351de00 1660992712000000 0 2000000
-\.
-
-
---
--- Data for Name: revolving_work_shards; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.revolving_work_shards (shard_serial_id, last_attempt, start_row, end_row, active, job_name) FROM stdin;
-\.
-
-
---
--- Data for Name: signkey_revocations; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.signkey_revocations (signkey_revocations_serial_id, esk_serial, master_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: wad_in_entries_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wad_in_entries_default (wad_in_entry_serial_id, wad_in_serial_id, reserve_pub, purse_pub, h_contract, purse_expiration, merge_timestamp, amount_with_fee_val, amount_with_fee_frac, wad_fee_val, wad_fee_frac, deposit_fees_val, deposit_fees_frac, reserve_sig, purse_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: wad_out_entries_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wad_out_entries_default (wad_out_entry_serial_id, wad_out_serial_id, reserve_pub, purse_pub, h_contract, purse_expiration, merge_timestamp, amount_with_fee_val, amount_with_fee_frac, wad_fee_val, wad_fee_frac, deposit_fees_val, deposit_fees_frac, reserve_sig, purse_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: wads_in_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wads_in_default (wad_in_serial_id, wad_id, origin_exchange_url, amount_val, amount_frac, arrival_time) FROM stdin;
-\.
-
-
---
--- Data for Name: wads_out_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wads_out_default (wad_out_serial_id, wad_id, partner_serial_id, amount_val, amount_frac, execution_time) FROM stdin;
-\.
-
-
---
--- Data for Name: wire_accounts; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wire_accounts (payto_uri, master_sig, is_active, last_change) FROM stdin;
-payto://iban/SANDBOXX/DE989651?receiver-name=Exchange+Company \\xaf45a4d163c71c4bae46599a8fb85347e521bfdc3d837bb0d903d84495151b96ea024998e966081b41675c6fd00786ffbf97edaa6db2b03e515f858f7bdfce0e t 1660992695000000
-\.
-
-
---
--- Data for Name: wire_fee; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wire_fee (wire_fee_serial, wire_method, start_date, end_date, wire_fee_val, wire_fee_frac, closing_fee_val, closing_fee_frac, wad_fee_val, wad_fee_frac, master_sig) FROM stdin;
-1 iban 1640995200000000 1672531200000000 0 7000000 0 1000000 0 1000000 \\x4a65d7a22dec49dfdba2ce66df95e5d66bd240f1e874c9f97764a9f360eba9aa109bcfdd210973914a93a8738454ea9bf84a4c9ccd9f9e48c4fce41ee3c47305
-\.
-
-
---
--- Data for Name: wire_out_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wire_out_default (wireout_uuid, execution_date, wtid_raw, wire_target_h_payto, exchange_account_section, amount_val, amount_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: wire_targets_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wire_targets_default (wire_target_serial_id, wire_target_h_payto, payto_uri) FROM stdin;
-1 \\x0eb8056c99178da3545a2fdb46ffc41e51d0e67849270eaec69f011eabcc6524 payto://iban/SANDBOXX/DE371825?receiver-name=Name+unknown
-4 \\xd31e3f48cb5318906dbbb7948326362f41604c7a728323230ae82aa995f27400 payto://iban/SANDBOXX/DE474361?receiver-name=Merchant43
-8 \\x27f98d4f08acdd658b8f16dcc1f04ee156d1ffe19ed1149880c52874b3db3361 payto://iban/SANDBOXX/DE328996?receiver-name=Name+unknown
-\.
-
-
---
--- Data for Name: work_shards; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.work_shards (shard_serial_id, last_attempt, start_row, end_row, completed, job_name) FROM stdin;
-1 0 0 1024 f wirewatch-exchange-account-1
-\.
-
-
---
--- Data for Name: merchant_accounts; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_accounts (account_serial, merchant_serial, h_wire, salt, payto_uri, active) FROM stdin;
-1 1 \\xe7d3dea0785a12a3d8c3eb1011c4c65adde69ade17b43424ec3aadd7e7cd7a81175b8519a074c21537bf295205c316681cbe5ce91c9f458d0eaaa6959d64a5bd \\x43ab138760205551077a1b1d64030cff payto://iban/SANDBOXX/DE474361?receiver-name=Merchant43 t
-\.
-
-
---
--- Data for Name: merchant_contract_terms; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_contract_terms (order_serial, merchant_serial, order_id, contract_terms, h_contract_terms, creation_time, pay_deadline, refund_deadline, paid, wired, fulfillment_url, session_id, claim_token) FROM stdin;
-1 1 2022.232-01G41SF962GF4 \\x7b22616d6f756e74223a22544553544b55444f533a34222c2273756d6d617279223a2268656c6c6f20776f726c64222c2266756c66696c6c6d656e745f75726c223a2274616c65723a2f2f66756c66696c6c6d656e742d737563636573732f746878222c22726566756e645f646561646c696e65223a7b22745f73223a313636303939333630347d2c22776972655f7472616e736665725f646561646c696e65223a7b22745f73223a313636303939333630347d2c2270726f6475637473223a5b5d2c22685f77697265223a22575a395858383352423839413750363358433831334836364242455944365059325954333839374337415058465359444641304845505735333647373947474e36595a4a4a4d47355243423647373559424b4d4853375435484d37414e394d4e4b4e4a41424638222c22776972655f6d6574686f64223a226962616e222c226f726465725f6964223a22323032322e3233322d30314734315346393632474634222c2274696d657374616d70223a7b22745f73223a313636303939323730347d2c227061795f646561646c696e65223a7b22745f73223a313636303939363330347d2c226d61785f776972655f666565223a22544553544b55444f533a31222c226d61785f666565223a22544553544b55444f533a31222c22776972655f6665655f616d6f7274697a6174696f6e223a312c226d65726368616e745f626173655f75726c223a22687474703a2f2f6c6f63616c686f73743a393936362f222c226d65726368616e74223a7b226e616d65223a2264656661756c74222c2261646472657373223a7b7d2c226a7572697364696374696f6e223a7b7d7d2c2265786368616e676573223a5b7b2275726c223a22687474703a2f2f6c6f63616c686f73743a383038312f222c226d61737465725f707562223a22524b4e4d505247584358333548313157455958445859485052374e5832514b39424731354d543051454637355043354b52343730227d5d2c2261756469746f7273223a5b5d2c226d65726368616e745f707562223a2246425a46305248484e56594a374844305150393030375451474a334b4b414a53385a46345048504556564d5a39314a4341425730222c226e6f6e6365223a224b544130384e4a4747355450434d585756584637394d4e52324d31474e545156375a525259484335375434574437414247504547227d \\xbf6c471c4b4cb167f7487fcf0b362e5b5e2593ff0bf18c8831e838cea19188b6f54df9f752afa00eafcd43a1f5be9b7eb069393b9a03d0372cf476f3257799e1 1660992704000000 1660996304000000 1660993604000000 t f taler://fulfillment-success/thx \\x6be886a9b3448bdc507c4a88cebdbb70
-2 1 2022.232-00W6YBYVKAVSE \\x7b22616d6f756e74223a22544553544b55444f533a37222c2273756d6d617279223a226f7264657220746861742077696c6c20626520726566756e646564222c2266756c66696c6c6d656e745f75726c223a2274616c65723a2f2f66756c66696c6c6d656e742d737563636573732f746878222c22726566756e645f646561646c696e65223a7b22745f73223a313636303939333631327d2c22776972655f7472616e736665725f646561646c696e65223a7b22745f73223a313636303939333631327d2c2270726f6475637473223a5b5d2c22685f77697265223a22575a395858383352423839413750363358433831334836364242455944365059325954333839374337415058465359444641304845505735333647373947474e36595a4a4a4d47355243423647373559424b4d4853375435484d37414e394d4e4b4e4a41424638222c22776972655f6d6574686f64223a226962616e222c226f726465725f6964223a22323032322e3233322d30305736594259564b41565345222c2274696d657374616d70223a7b22745f73223a313636303939323731327d2c227061795f646561646c696e65223a7b22745f73223a313636303939363331327d2c226d61785f776972655f666565223a22544553544b55444f533a31222c226d61785f666565223a22544553544b55444f533a31222c22776972655f6665655f616d6f7274697a6174696f6e223a312c226d65726368616e745f626173655f75726c223a22687474703a2f2f6c6f63616c686f73743a393936362f222c226d65726368616e74223a7b226e616d65223a2264656661756c74222c2261646472657373223a7b7d2c226a7572697364696374696f6e223a7b7d7d2c2265786368616e676573223a5b7b2275726c223a22687474703a2f2f6c6f63616c686f73743a383038312f222c226d61737465725f707562223a22524b4e4d505247584358333548313157455958445859485052374e5832514b39424731354d543051454637355043354b52343730227d5d2c2261756469746f7273223a5b5d2c226d65726368616e745f707562223a2246425a46305248484e56594a374844305150393030375451474a334b4b414a53385a46345048504556564d5a39314a4341425730222c226e6f6e6365223a225447313848434b5130363951455454565758395641303241413657304a4544565a32344244514d364338455046373758565a3130227d \\x9fe342aa944573b76d328fdf6266c52fea74bedb2e461dc7e2066618fd2d82220c5a612cda552cb45d45de86dce66e6d441588cd9932b41463f735b5c5f647c1 1660992712000000 1660996312000000 1660993612000000 t f taler://fulfillment-success/thx \\x8c007ba5ddf589f7d452fa103983620e
-3 1 2022.232-02R8B095V31C0 \\x7b22616d6f756e74223a22544553544b55444f533a33222c2273756d6d617279223a227061796d656e7420616674657220726566756e64222c2266756c66696c6c6d656e745f75726c223a2274616c65723a2f2f66756c66696c6c6d656e742d737563636573732f746878222c22726566756e645f646561646c696e65223a7b22745f73223a313636303939333631387d2c22776972655f7472616e736665725f646561646c696e65223a7b22745f73223a313636303939333631387d2c2270726f6475637473223a5b5d2c22685f77697265223a22575a395858383352423839413750363358433831334836364242455944365059325954333839374337415058465359444641304845505735333647373947474e36595a4a4a4d47355243423647373559424b4d4853375435484d37414e394d4e4b4e4a41424638222c22776972655f6d6574686f64223a226962616e222c226f726465725f6964223a22323032322e3233322d30325238423039355633314330222c2274696d657374616d70223a7b22745f73223a313636303939323731387d2c227061795f646561646c696e65223a7b22745f73223a313636303939363331387d2c226d61785f776972655f666565223a22544553544b55444f533a31222c226d61785f666565223a22544553544b55444f533a31222c22776972655f6665655f616d6f7274697a6174696f6e223a312c226d65726368616e745f626173655f75726c223a22687474703a2f2f6c6f63616c686f73743a393936362f222c226d65726368616e74223a7b226e616d65223a2264656661756c74222c2261646472657373223a7b7d2c226a7572697364696374696f6e223a7b7d7d2c2265786368616e676573223a5b7b2275726c223a22687474703a2f2f6c6f63616c686f73743a383038312f222c226d61737465725f707562223a22524b4e4d505247584358333548313157455958445859485052374e5832514b39424731354d543051454637355043354b52343730227d5d2c2261756469746f7273223a5b5d2c226d65726368616e745f707562223a2246425a46305248484e56594a374844305150393030375451474a334b4b414a53385a46345048504556564d5a39314a4341425730222c226e6f6e6365223a2242523658394e344331305245313138594b46314e545238334b464d463746534556385a5a303758575835544d3630435346323630227d \\x35d4e33c0d33b399b3adf1866d5dbb17973b9e444b842de549c532e446055e1a0212eea3c6985a8a4012414d38e14ed1a308b7a5497eda32f8acb87349244b66 1660992718000000 1660996318000000 1660993618000000 t f taler://fulfillment-success/thx \\x1ce0609c1b36d51bf9d96c30c1f1200b
-\.
-
-
---
--- Data for Name: merchant_deposit_to_transfer; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_deposit_to_transfer (deposit_serial, coin_contribution_value_val, coin_contribution_value_frac, credit_serial, execution_time, signkey_serial, exchange_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_deposits; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_deposits (deposit_serial, order_serial, deposit_timestamp, coin_pub, exchange_url, amount_with_fee_val, amount_with_fee_frac, deposit_fee_val, deposit_fee_frac, refund_fee_val, refund_fee_frac, wire_fee_val, wire_fee_frac, signkey_serial, exchange_sig, account_serial) FROM stdin;
-1 1 1660992706000000 \\x6adb31bd94f30695d580dc4a6c3b121a87d66f00eb90f7f355fb63dd15e97b4f http://localhost:8081/ 4 0 0 2000000 0 4000000 0 7000000 5 \\x43dcb4018863a3bd391d9f5c23a2039a6bf94273ad7bdfde44a5a74b244c59103950204dacaf2c7903c1ad55855a8949fa1ebb56638bcd6a5ee8da4445af6407 1
-2 2 1660992714000000 \\x313b9c4a779ef6904dead059e2d10cc7c6ebd55a5da776632255b960809851dc http://localhost:8081/ 7 0 0 1000000 0 1000000 0 7000000 5 \\xe50caf7855c8aafd0f9ccc21564f6576bd9e6b46d3b055090949b495d4a57437ad68bd69d4e01c6b1653765e99b968706ff8dab0cb1e97de999d8c9ca12b8903 1
-3 3 1660992720000000 \\xeef20d0da277529e070bdb760ce75207ac83071b72bba0ec3361cdb1c5d320e0 http://localhost:8081/ 3 0 0 1000000 0 1000000 0 7000000 5 \\x287dd1ff3f6b799458025f0f2655487e042eb750e2e11862ccb8b55144b752299971eadebf6a3c690e7c87c2321e2edfd777b0badaf96109e627f0fbb84f0f0a 1
-\.
-
-
---
--- Data for Name: merchant_exchange_signing_keys; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_exchange_signing_keys (signkey_serial, master_pub, exchange_pub, start_date, expire_date, end_date, master_sig) FROM stdin;
-1 \\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e \\x2747e8d76adecfc3248cc06f3e7e577f48ae9c5c0d808eabca3a573b0f095ad2 1668249989000000 1675507589000000 1677926789000000 \\xe8bf9052f9c1075ab8c4bf3d757184256b640594b3af767aa39bd50c43d6011b0e1ea2479c894c6a62b6c34aa4321c094391c1c7ad878024047a40c6fe26f003
-2 \\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e \\x2b163a9fdd5f0ca35cf0a76147e3ff593d6addeb5527f2ee36f16c8e3899e3b8 1675507289000000 1682764889000000 1685184089000000 \\xc7fcf13b65d2a2a7096133bd41c531cf96234fda19dc1c5e1031dfc4005e6696d65d4cba4942c43ea485b4a7df12bfd650af1cfca027b3a12d5ce7e227e7b600
-3 \\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e \\xcd177186b7ab0d514e78a8cd40fe94d434d6ce7c3dfe056f43992e2d2a3cf16e 1682764589000000 1690022189000000 1692441389000000 \\xa19628c59762ed749b7edcfa447dac56f2185181491a95d0b03258420c5a7ab497f01d55cfbfdad3d65f5c252e2654784a7239ff7bdb2cb6e329410cb5fbf20e
-4 \\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e \\xf42008b02c9df2a62be8986ca4f6ec45c6cd64bd2437075a8acc9bc53aeaa284 1690021889000000 1697279489000000 1699698689000000 \\x2fb4d4310a3b68ee76b733961e1ce6db0c38e87881cd2bfeb156fdeca4651b3b2f0db6e5c06581cd161bf45fa83b6acbce522e0a89c004660d5d2e8d869d8c0d
-5 \\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e \\xf51f9b455918cc78cae8e6cc2ea33a1585586126d01853912b876b016346f5c1 1660992689000000 1668250289000000 1670669489000000 \\xcc12f62551829820324214b98a970bb96f476ed2c973657fe76c32161ed353de762a749940cd8f45f51e7493968078584335dbc81db05068b607c1737825c80f
-\.
-
-
---
--- Data for Name: merchant_exchange_wire_fees; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_exchange_wire_fees (wirefee_serial, master_pub, h_wire_method, start_date, end_date, wire_fee_val, wire_fee_frac, closing_fee_val, closing_fee_frac, wad_fee_val, wad_fee_frac, master_sig) FROM stdin;
-1 \\xc4eb4b621d674658843c77badefa36c1ebd15e695c025a681773ce5b30b3c10e \\x21e4a5e9d5d17432fa0b1f7a02f8047c7634c1053d6aa1f6456ac134caa8bbf3da7776a78f85636af980472afd166b4edad654979a89d92c49a4ba992a7e3571 1640995200000000 1672531200000000 0 7000000 0 1000000 0 1000000 \\x4a65d7a22dec49dfdba2ce66df95e5d66bd240f1e874c9f97764a9f360eba9aa109bcfdd210973914a93a8738454ea9bf84a4c9ccd9f9e48c4fce41ee3c47305
-\.
-
-
---
--- Data for Name: merchant_instances; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_instances (merchant_serial, merchant_pub, auth_hash, auth_salt, merchant_id, merchant_name, address, jurisdiction, default_max_deposit_fee_val, default_max_deposit_fee_frac, default_max_wire_fee_val, default_max_wire_fee_frac, default_wire_fee_amortization, default_wire_transfer_delay, default_pay_delay, website, email, logo) FROM stdin;
-1 \\x7afef06231aefd23c5a0bd92001f57848739aa5947de4b46cedee9f4864c52f8 \\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \\x0000000000000000000000000000000000000000000000000000000000000000 default default \\x7b7d \\x7b7d 1 0 1 0 1 3600000000 3600000000 \N \N \N
-\.
-
-
---
--- Data for Name: merchant_inventory; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_inventory (product_serial, merchant_serial, product_id, description, description_i18n, unit, image, taxes, price_val, price_frac, total_stock, total_sold, total_lost, address, next_restock, minimum_age) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_inventory_locks; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_inventory_locks (product_serial, lock_uuid, total_locked, expiration) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_keys; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_keys (merchant_priv, merchant_serial) FROM stdin;
-\\x2af224e0bca42e5c4474c69d750c772769288edd7e491185592b3963fc96c747 1
-\.
-
-
---
--- Data for Name: merchant_kyc; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_kyc (kyc_serial_id, kyc_timestamp, kyc_ok, exchange_sig, exchange_pub, exchange_kyc_serial, account_serial, exchange_url) FROM stdin;
-1 1660992706000000 t \N \N 0 1 http://localhost:8081/
-\.
-
-
---
--- Data for Name: merchant_order_locks; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_order_locks (product_serial, total_locked, order_serial) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_orders; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_orders (order_serial, merchant_serial, order_id, claim_token, h_post_data, pay_deadline, creation_time, contract_terms) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_refund_proofs; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_refund_proofs (refund_serial, exchange_sig, signkey_serial) FROM stdin;
-1 \\x5f5e7ebbed3baf2203048b24e3d62da3b3722a6dccac55932f592d9168c0f67ccbb9ee0f1bae1c6ef00a973cc49ef4337f0b10d571433e3046d8d0e419a7420a 5
-\.
-
-
---
--- Data for Name: merchant_refunds; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_refunds (refund_serial, order_serial, rtransaction_id, refund_timestamp, coin_pub, reason, refund_amount_val, refund_amount_frac) FROM stdin;
-1 2 1 1660992715000000 \\x313b9c4a779ef6904dead059e2d10cc7c6ebd55a5da776632255b960809851dc test refund 6 0
-\.
-
-
---
--- Data for Name: merchant_tip_pickup_signatures; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_tip_pickup_signatures (pickup_serial, coin_offset, blind_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_pickups; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_tip_pickups (pickup_serial, tip_serial, pickup_id, amount_val, amount_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_reserve_keys; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_tip_reserve_keys (reserve_serial, reserve_priv, exchange_url, payto_uri) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_reserves; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_tip_reserves (reserve_serial, reserve_pub, merchant_serial, creation_time, expiration, merchant_initial_balance_val, merchant_initial_balance_frac, exchange_initial_balance_val, exchange_initial_balance_frac, tips_committed_val, tips_committed_frac, tips_picked_up_val, tips_picked_up_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tips; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_tips (tip_serial, reserve_serial, tip_id, justification, next_url, expiration, amount_val, amount_frac, picked_up_val, picked_up_frac, was_picked_up) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_transfer_signatures; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_transfer_signatures (credit_serial, signkey_serial, wire_fee_val, wire_fee_frac, credit_amount_val, credit_amount_frac, execution_time, exchange_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_transfer_to_coin; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_transfer_to_coin (deposit_serial, credit_serial, offset_in_exchange_list, exchange_deposit_value_val, exchange_deposit_value_frac, exchange_deposit_fee_val, exchange_deposit_fee_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_transfers; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_transfers (credit_serial, exchange_url, wtid, credit_amount_val, credit_amount_frac, account_serial, verified, confirmed) FROM stdin;
-\.
-
-
---
--- Name: auditor_reserves_auditor_reserves_rowid_seq; Type: SEQUENCE SET; Schema: auditor; Owner: -
---
-
-SELECT pg_catalog.setval('auditor.auditor_reserves_auditor_reserves_rowid_seq', 1, false);
-
-
---
--- Name: deposit_confirmations_serial_id_seq; Type: SEQUENCE SET; Schema: auditor; Owner: -
---
-
-SELECT pg_catalog.setval('auditor.deposit_confirmations_serial_id_seq', 3, true);
-
-
---
--- Name: account_merges_account_merge_request_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.account_merges_account_merge_request_serial_id_seq', 1, false);
-
-
---
--- Name: aggregation_tracking_aggregation_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.aggregation_tracking_aggregation_serial_id_seq', 1, false);
-
-
---
--- Name: auditor_denom_sigs_auditor_denom_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.auditor_denom_sigs_auditor_denom_serial_seq', 424, true);
-
-
---
--- Name: auditors_auditor_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.auditors_auditor_uuid_seq', 1, true);
-
-
---
--- Name: close_requests_close_request_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.close_requests_close_request_serial_id_seq', 1, false);
-
-
---
--- Name: contracts_contract_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.contracts_contract_serial_id_seq', 1, false);
-
-
---
--- Name: cs_nonce_locks_cs_nonce_lock_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.cs_nonce_locks_cs_nonce_lock_serial_id_seq', 1, false);
-
-
---
--- Name: denomination_revocations_denom_revocations_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.denomination_revocations_denom_revocations_serial_id_seq', 1, false);
-
-
---
--- Name: denominations_denominations_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.denominations_denominations_serial_seq', 424, true);
-
-
---
--- Name: deposits_deposit_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.deposits_deposit_serial_id_seq', 3, true);
-
-
---
--- Name: exchange_sign_keys_esk_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.exchange_sign_keys_esk_serial_seq', 5, true);
-
-
---
--- Name: extension_details_extension_details_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.extension_details_extension_details_serial_id_seq', 1, false);
-
-
---
--- Name: extensions_extension_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.extensions_extension_id_seq', 1, false);
-
-
---
--- Name: global_fee_global_fee_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.global_fee_global_fee_serial_seq', 1, true);
-
-
---
--- Name: history_requests_history_request_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.history_requests_history_request_serial_id_seq', 1, false);
-
-
---
--- Name: known_coins_known_coin_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.known_coins_known_coin_id_seq', 7, true);
-
-
---
--- Name: legitimization_processes_legitimization_process_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.legitimization_processes_legitimization_process_serial_id_seq', 1, false);
-
-
---
--- Name: legitimization_requirements_legitimization_requirement_seri_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.legitimization_requirements_legitimization_requirement_seri_seq', 1, false);
-
-
---
--- Name: partners_partner_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.partners_partner_serial_id_seq', 1, false);
-
-
---
--- Name: prewire_prewire_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.prewire_prewire_uuid_seq', 1, false);
-
-
---
--- Name: profit_drains_profit_drain_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.profit_drains_profit_drain_serial_id_seq', 1, false);
-
-
---
--- Name: purse_deposits_purse_deposit_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.purse_deposits_purse_deposit_serial_id_seq', 1, false);
-
-
---
--- Name: purse_merges_purse_merge_request_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.purse_merges_purse_merge_request_serial_id_seq', 1, false);
-
-
---
--- Name: purse_refunds_purse_refunds_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.purse_refunds_purse_refunds_serial_id_seq', 1, false);
-
-
---
--- Name: purse_requests_purse_requests_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.purse_requests_purse_requests_serial_id_seq', 1, false);
-
-
---
--- Name: recoup_recoup_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.recoup_recoup_uuid_seq', 1, false);
-
-
---
--- Name: recoup_refresh_recoup_refresh_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.recoup_refresh_recoup_refresh_uuid_seq', 1, false);
-
-
---
--- Name: refresh_commitments_melt_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.refresh_commitments_melt_serial_id_seq', 4, true);
-
-
---
--- Name: refresh_revealed_coins_rrc_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.refresh_revealed_coins_rrc_serial_seq', 48, true);
-
-
---
--- Name: refresh_transfer_keys_rtc_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.refresh_transfer_keys_rtc_serial_seq', 4, true);
-
-
---
--- Name: refunds_refund_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.refunds_refund_serial_id_seq', 1, true);
-
-
---
--- Name: reserves_close_close_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.reserves_close_close_uuid_seq', 1, false);
-
-
---
--- Name: reserves_in_reserve_in_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.reserves_in_reserve_in_serial_id_seq', 13, true);
-
-
---
--- Name: reserves_out_reserve_out_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.reserves_out_reserve_out_serial_id_seq', 26, true);
-
-
---
--- Name: reserves_reserve_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.reserves_reserve_uuid_seq', 13, true);
-
-
---
--- Name: revolving_work_shards_shard_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.revolving_work_shards_shard_serial_id_seq', 1, false);
-
-
---
--- Name: signkey_revocations_signkey_revocations_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.signkey_revocations_signkey_revocations_serial_id_seq', 1, false);
-
-
---
--- Name: wad_in_entries_wad_in_entry_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wad_in_entries_wad_in_entry_serial_id_seq', 1, false);
-
-
---
--- Name: wad_out_entries_wad_out_entry_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wad_out_entries_wad_out_entry_serial_id_seq', 1, false);
-
-
---
--- Name: wads_in_wad_in_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wads_in_wad_in_serial_id_seq', 1, false);
-
-
---
--- Name: wads_out_wad_out_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wads_out_wad_out_serial_id_seq', 1, false);
-
-
---
--- Name: wire_fee_wire_fee_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wire_fee_wire_fee_serial_seq', 1, true);
-
-
---
--- Name: wire_out_wireout_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wire_out_wireout_uuid_seq', 1, false);
-
-
---
--- Name: wire_targets_wire_target_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wire_targets_wire_target_serial_id_seq', 16, true);
-
-
---
--- Name: work_shards_shard_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.work_shards_shard_serial_id_seq', 1, true);
-
-
---
--- Name: merchant_accounts_account_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_accounts_account_serial_seq', 1, true);
-
-
---
--- Name: merchant_deposits_deposit_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_deposits_deposit_serial_seq', 3, true);
-
-
---
--- Name: merchant_exchange_signing_keys_signkey_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_exchange_signing_keys_signkey_serial_seq', 5, true);
-
-
---
--- Name: merchant_exchange_wire_fees_wirefee_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_exchange_wire_fees_wirefee_serial_seq', 1, true);
-
-
---
--- Name: merchant_instances_merchant_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_instances_merchant_serial_seq', 1, true);
-
-
---
--- Name: merchant_inventory_product_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_inventory_product_serial_seq', 1, false);
-
-
---
--- Name: merchant_kyc_kyc_serial_id_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_kyc_kyc_serial_id_seq', 1, true);
-
-
---
--- Name: merchant_orders_order_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_orders_order_serial_seq', 3, true);
-
-
---
--- Name: merchant_refunds_refund_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_refunds_refund_serial_seq', 1, true);
-
-
---
--- Name: merchant_tip_pickups_pickup_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_tip_pickups_pickup_serial_seq', 1, false);
-
-
---
--- Name: merchant_tip_reserves_reserve_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_tip_reserves_reserve_serial_seq', 1, false);
-
-
---
--- Name: merchant_tips_tip_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_tips_tip_serial_seq', 1, false);
-
-
---
--- Name: merchant_transfers_credit_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_transfers_credit_serial_seq', 1, false);
-
-
---
--- Name: patches patches_pkey; Type: CONSTRAINT; Schema: _v; Owner: -
---
-
-ALTER TABLE ONLY _v.patches
- ADD CONSTRAINT patches_pkey PRIMARY KEY (patch_name);
-
-
---
--- Name: auditor_denomination_pending auditor_denomination_pending_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_denomination_pending
- ADD CONSTRAINT auditor_denomination_pending_pkey PRIMARY KEY (denom_pub_hash);
-
-
---
--- Name: auditor_exchanges auditor_exchanges_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_exchanges
- ADD CONSTRAINT auditor_exchanges_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_historic_denomination_revenue auditor_historic_denomination_revenue_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_historic_denomination_revenue
- ADD CONSTRAINT auditor_historic_denomination_revenue_pkey PRIMARY KEY (denom_pub_hash);
-
-
---
--- Name: auditor_progress_aggregation auditor_progress_aggregation_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_aggregation
- ADD CONSTRAINT auditor_progress_aggregation_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_progress_coin auditor_progress_coin_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_coin
- ADD CONSTRAINT auditor_progress_coin_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_progress_deposit_confirmation auditor_progress_deposit_confirmation_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_deposit_confirmation
- ADD CONSTRAINT auditor_progress_deposit_confirmation_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_progress_reserve auditor_progress_reserve_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_reserve
- ADD CONSTRAINT auditor_progress_reserve_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_reserves auditor_reserves_auditor_reserves_rowid_key; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_reserves
- ADD CONSTRAINT auditor_reserves_auditor_reserves_rowid_key UNIQUE (auditor_reserves_rowid);
-
-
---
--- Name: deposit_confirmations deposit_confirmations_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.deposit_confirmations
- ADD CONSTRAINT deposit_confirmations_pkey PRIMARY KEY (h_contract_terms, h_wire, coin_pub, merchant_pub, exchange_sig, exchange_pub, master_sig);
-
-
---
--- Name: deposit_confirmations deposit_confirmations_serial_id_key; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.deposit_confirmations
- ADD CONSTRAINT deposit_confirmations_serial_id_key UNIQUE (serial_id);
-
-
---
--- Name: wire_auditor_account_progress wire_auditor_account_progress_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.wire_auditor_account_progress
- ADD CONSTRAINT wire_auditor_account_progress_pkey PRIMARY KEY (master_pub, account_name);
-
-
---
--- Name: wire_auditor_progress wire_auditor_progress_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.wire_auditor_progress
- ADD CONSTRAINT wire_auditor_progress_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: account_merges_default account_merges_default_account_merge_request_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.account_merges_default
- ADD CONSTRAINT account_merges_default_account_merge_request_serial_id_key UNIQUE (account_merge_request_serial_id);
-
-
---
--- Name: account_merges account_merges_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.account_merges
- ADD CONSTRAINT account_merges_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: account_merges_default account_merges_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.account_merges_default
- ADD CONSTRAINT account_merges_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: aggregation_tracking_default aggregation_tracking_default_aggregation_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.aggregation_tracking_default
- ADD CONSTRAINT aggregation_tracking_default_aggregation_serial_id_key UNIQUE (aggregation_serial_id);
-
-
---
--- Name: aggregation_tracking aggregation_tracking_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.aggregation_tracking
- ADD CONSTRAINT aggregation_tracking_pkey PRIMARY KEY (deposit_serial_id);
-
-
---
--- Name: aggregation_tracking_default aggregation_tracking_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.aggregation_tracking_default
- ADD CONSTRAINT aggregation_tracking_default_pkey PRIMARY KEY (deposit_serial_id);
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_auditor_denom_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditor_denom_sigs
- ADD CONSTRAINT auditor_denom_sigs_auditor_denom_serial_key UNIQUE (auditor_denom_serial);
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditor_denom_sigs
- ADD CONSTRAINT auditor_denom_sigs_pkey PRIMARY KEY (denominations_serial, auditor_uuid);
-
-
---
--- Name: auditors auditors_auditor_uuid_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditors
- ADD CONSTRAINT auditors_auditor_uuid_key UNIQUE (auditor_uuid);
-
-
---
--- Name: auditors auditors_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditors
- ADD CONSTRAINT auditors_pkey PRIMARY KEY (auditor_pub);
-
-
---
--- Name: close_requests close_requests_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.close_requests
- ADD CONSTRAINT close_requests_pkey PRIMARY KEY (reserve_pub, close_timestamp);
-
-
---
--- Name: close_requests_default close_requests_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.close_requests_default
- ADD CONSTRAINT close_requests_default_pkey PRIMARY KEY (reserve_pub, close_timestamp);
-
-
---
--- Name: contracts_default contracts_default_contract_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.contracts_default
- ADD CONSTRAINT contracts_default_contract_serial_id_key UNIQUE (contract_serial_id);
-
-
---
--- Name: contracts contracts_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.contracts
- ADD CONSTRAINT contracts_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: contracts_default contracts_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.contracts_default
- ADD CONSTRAINT contracts_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: cs_nonce_locks_default cs_nonce_locks_default_cs_nonce_lock_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.cs_nonce_locks_default
- ADD CONSTRAINT cs_nonce_locks_default_cs_nonce_lock_serial_id_key UNIQUE (cs_nonce_lock_serial_id);
-
-
---
--- Name: cs_nonce_locks cs_nonce_locks_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.cs_nonce_locks
- ADD CONSTRAINT cs_nonce_locks_pkey PRIMARY KEY (nonce);
-
-
---
--- Name: cs_nonce_locks_default cs_nonce_locks_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.cs_nonce_locks_default
- ADD CONSTRAINT cs_nonce_locks_default_pkey PRIMARY KEY (nonce);
-
-
---
--- Name: denomination_revocations denomination_revocations_denom_revocations_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.denomination_revocations
- ADD CONSTRAINT denomination_revocations_denom_revocations_serial_id_key UNIQUE (denom_revocations_serial_id);
-
-
---
--- Name: denomination_revocations denomination_revocations_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.denomination_revocations
- ADD CONSTRAINT denomination_revocations_pkey PRIMARY KEY (denominations_serial);
-
-
---
--- Name: denominations denominations_denominations_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.denominations
- ADD CONSTRAINT denominations_denominations_serial_key UNIQUE (denominations_serial);
-
-
---
--- Name: denominations denominations_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.denominations
- ADD CONSTRAINT denominations_pkey PRIMARY KEY (denom_pub_hash);
-
-
---
--- Name: deposits_default deposits_default_coin_pub_merchant_pub_h_contract_terms_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.deposits_default
- ADD CONSTRAINT deposits_default_coin_pub_merchant_pub_h_contract_terms_key UNIQUE (coin_pub, merchant_pub, h_contract_terms);
-
-
---
--- Name: deposits_default deposits_default_deposit_serial_id_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.deposits_default
- ADD CONSTRAINT deposits_default_deposit_serial_id_pkey PRIMARY KEY (deposit_serial_id);
-
-
---
--- Name: exchange_sign_keys exchange_sign_keys_esk_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.exchange_sign_keys
- ADD CONSTRAINT exchange_sign_keys_esk_serial_key UNIQUE (esk_serial);
-
-
---
--- Name: exchange_sign_keys exchange_sign_keys_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.exchange_sign_keys
- ADD CONSTRAINT exchange_sign_keys_pkey PRIMARY KEY (exchange_pub);
-
-
---
--- Name: extension_details extension_details_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.extension_details
- ADD CONSTRAINT extension_details_pkey PRIMARY KEY (extension_details_serial_id);
-
-
---
--- Name: extension_details_default extension_details_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.extension_details_default
- ADD CONSTRAINT extension_details_default_pkey PRIMARY KEY (extension_details_serial_id);
-
-
---
--- Name: extensions extensions_extension_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.extensions
- ADD CONSTRAINT extensions_extension_id_key UNIQUE (extension_id);
-
-
---
--- Name: extensions extensions_name_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.extensions
- ADD CONSTRAINT extensions_name_key UNIQUE (name);
-
-
---
--- Name: global_fee global_fee_global_fee_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.global_fee
- ADD CONSTRAINT global_fee_global_fee_serial_key UNIQUE (global_fee_serial);
-
-
---
--- Name: global_fee global_fee_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.global_fee
- ADD CONSTRAINT global_fee_pkey PRIMARY KEY (start_date);
-
-
---
--- Name: history_requests history_requests_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.history_requests
- ADD CONSTRAINT history_requests_pkey PRIMARY KEY (reserve_pub, request_timestamp);
-
-
---
--- Name: history_requests_default history_requests_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.history_requests_default
- ADD CONSTRAINT history_requests_default_pkey PRIMARY KEY (reserve_pub, request_timestamp);
-
-
---
--- Name: known_coins_default known_coins_default_known_coin_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.known_coins_default
- ADD CONSTRAINT known_coins_default_known_coin_id_key UNIQUE (known_coin_id);
-
-
---
--- Name: known_coins known_coins_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.known_coins
- ADD CONSTRAINT known_coins_pkey PRIMARY KEY (coin_pub);
-
-
---
--- Name: known_coins_default known_coins_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.known_coins_default
- ADD CONSTRAINT known_coins_default_pkey PRIMARY KEY (coin_pub);
-
-
---
--- Name: kyc_alerts kyc_alerts_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.kyc_alerts
- ADD CONSTRAINT kyc_alerts_pkey PRIMARY KEY (h_payto);
-
-
---
--- Name: kyc_alerts kyc_alerts_trigger_type_h_payto_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.kyc_alerts
- ADD CONSTRAINT kyc_alerts_trigger_type_h_payto_key UNIQUE (trigger_type, h_payto);
-
-
---
--- Name: legitimization_processes legitimization_processes_h_payto_provider_section_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_processes
- ADD CONSTRAINT legitimization_processes_h_payto_provider_section_key UNIQUE (h_payto, provider_section);
-
-
---
--- Name: legitimization_processes_default legitimization_processes_default_h_payto_provider_section_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_processes_default
- ADD CONSTRAINT legitimization_processes_default_h_payto_provider_section_key UNIQUE (h_payto, provider_section);
-
-
---
--- Name: legitimization_processes_default legitimization_processes_default_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_processes_default
- ADD CONSTRAINT legitimization_processes_default_serial_key UNIQUE (legitimization_process_serial_id);
-
-
---
--- Name: legitimization_requirements legitimization_requirements_h_payto_required_checks_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_requirements
- ADD CONSTRAINT legitimization_requirements_h_payto_required_checks_key UNIQUE (h_payto, required_checks);
-
-
---
--- Name: legitimization_requirements_default legitimization_requirements_default_h_payto_required_checks_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_requirements_default
- ADD CONSTRAINT legitimization_requirements_default_h_payto_required_checks_key UNIQUE (h_payto, required_checks);
-
-
---
--- Name: legitimization_requirements_default legitimization_requirements_default_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_requirements_default
- ADD CONSTRAINT legitimization_requirements_default_serial_id_key UNIQUE (legitimization_requirement_serial_id);
-
-
---
--- Name: partner_accounts partner_accounts_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.partner_accounts
- ADD CONSTRAINT partner_accounts_pkey PRIMARY KEY (payto_uri);
-
-
---
--- Name: partners partners_partner_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.partners
- ADD CONSTRAINT partners_partner_serial_id_key UNIQUE (partner_serial_id);
-
-
---
--- Name: prewire prewire_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.prewire
- ADD CONSTRAINT prewire_pkey PRIMARY KEY (prewire_uuid);
-
-
---
--- Name: prewire_default prewire_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.prewire_default
- ADD CONSTRAINT prewire_default_pkey PRIMARY KEY (prewire_uuid);
-
-
---
--- Name: profit_drains profit_drains_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.profit_drains
- ADD CONSTRAINT profit_drains_pkey PRIMARY KEY (wtid);
-
-
---
--- Name: profit_drains profit_drains_profit_drain_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.profit_drains
- ADD CONSTRAINT profit_drains_profit_drain_serial_id_key UNIQUE (profit_drain_serial_id);
-
-
---
--- Name: purse_actions purse_actions_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_actions
- ADD CONSTRAINT purse_actions_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_deposits purse_deposits_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_deposits
- ADD CONSTRAINT purse_deposits_pkey PRIMARY KEY (purse_pub, coin_pub);
-
-
---
--- Name: purse_deposits_default purse_deposits_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_deposits_default
- ADD CONSTRAINT purse_deposits_default_pkey PRIMARY KEY (purse_pub, coin_pub);
-
-
---
--- Name: purse_deposits_default purse_deposits_default_purse_deposit_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_deposits_default
- ADD CONSTRAINT purse_deposits_default_purse_deposit_serial_id_key UNIQUE (purse_deposit_serial_id);
-
-
---
--- Name: purse_merges purse_merges_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_merges
- ADD CONSTRAINT purse_merges_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_merges_default purse_merges_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_merges_default
- ADD CONSTRAINT purse_merges_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_merges_default purse_merges_default_purse_merge_request_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_merges_default
- ADD CONSTRAINT purse_merges_default_purse_merge_request_serial_id_key UNIQUE (purse_merge_request_serial_id);
-
-
---
--- Name: purse_refunds purse_refunds_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_refunds
- ADD CONSTRAINT purse_refunds_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_refunds_default purse_refunds_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_refunds_default
- ADD CONSTRAINT purse_refunds_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_refunds_default purse_refunds_default_purse_refunds_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_refunds_default
- ADD CONSTRAINT purse_refunds_default_purse_refunds_serial_id_key UNIQUE (purse_refunds_serial_id);
-
-
---
--- Name: purse_requests purse_requests_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_requests
- ADD CONSTRAINT purse_requests_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_requests_default purse_requests_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_requests_default
- ADD CONSTRAINT purse_requests_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_requests_default purse_requests_default_purse_requests_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_requests_default
- ADD CONSTRAINT purse_requests_default_purse_requests_serial_id_key UNIQUE (purse_requests_serial_id);
-
-
---
--- Name: recoup_default recoup_default_recoup_uuid_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.recoup_default
- ADD CONSTRAINT recoup_default_recoup_uuid_key UNIQUE (recoup_uuid);
-
-
---
--- Name: recoup_refresh_default recoup_refresh_default_recoup_refresh_uuid_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.recoup_refresh_default
- ADD CONSTRAINT recoup_refresh_default_recoup_refresh_uuid_key UNIQUE (recoup_refresh_uuid);
-
-
---
--- Name: refresh_commitments_default refresh_commitments_default_melt_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_commitments_default
- ADD CONSTRAINT refresh_commitments_default_melt_serial_id_key UNIQUE (melt_serial_id);
-
-
---
--- Name: refresh_commitments refresh_commitments_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_commitments
- ADD CONSTRAINT refresh_commitments_pkey PRIMARY KEY (rc);
-
-
---
--- Name: refresh_commitments_default refresh_commitments_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_commitments_default
- ADD CONSTRAINT refresh_commitments_default_pkey PRIMARY KEY (rc);
-
-
---
--- Name: refresh_revealed_coins_default refresh_revealed_coins_default_coin_ev_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_revealed_coins_default
- ADD CONSTRAINT refresh_revealed_coins_default_coin_ev_key UNIQUE (coin_ev);
-
-
---
--- Name: refresh_revealed_coins_default refresh_revealed_coins_default_h_coin_ev_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_revealed_coins_default
- ADD CONSTRAINT refresh_revealed_coins_default_h_coin_ev_key UNIQUE (h_coin_ev);
-
-
---
--- Name: refresh_revealed_coins_default refresh_revealed_coins_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_revealed_coins_default
- ADD CONSTRAINT refresh_revealed_coins_default_pkey PRIMARY KEY (melt_serial_id, freshcoin_index);
-
-
---
--- Name: refresh_revealed_coins_default refresh_revealed_coins_default_rrc_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_revealed_coins_default
- ADD CONSTRAINT refresh_revealed_coins_default_rrc_serial_key UNIQUE (rrc_serial);
-
-
---
--- Name: refresh_transfer_keys refresh_transfer_keys_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_transfer_keys
- ADD CONSTRAINT refresh_transfer_keys_pkey PRIMARY KEY (melt_serial_id);
-
-
---
--- Name: refresh_transfer_keys_default refresh_transfer_keys_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_transfer_keys_default
- ADD CONSTRAINT refresh_transfer_keys_default_pkey PRIMARY KEY (melt_serial_id);
-
-
---
--- Name: refresh_transfer_keys_default refresh_transfer_keys_default_rtc_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_transfer_keys_default
- ADD CONSTRAINT refresh_transfer_keys_default_rtc_serial_key UNIQUE (rtc_serial);
-
-
---
--- Name: refunds_default refunds_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refunds_default
- ADD CONSTRAINT refunds_default_pkey PRIMARY KEY (deposit_serial_id, rtransaction_id);
-
-
---
--- Name: refunds_default refunds_default_refund_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refunds_default
- ADD CONSTRAINT refunds_default_refund_serial_id_key UNIQUE (refund_serial_id);
-
-
---
--- Name: reserves_close_default reserves_close_default_close_uuid_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_close_default
- ADD CONSTRAINT reserves_close_default_close_uuid_pkey PRIMARY KEY (close_uuid);
-
-
---
--- Name: reserves reserves_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves
- ADD CONSTRAINT reserves_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_default reserves_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_default
- ADD CONSTRAINT reserves_default_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_in reserves_in_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_in
- ADD CONSTRAINT reserves_in_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_in_default reserves_in_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_in_default
- ADD CONSTRAINT reserves_in_default_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_in_default reserves_in_default_reserve_in_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_in_default
- ADD CONSTRAINT reserves_in_default_reserve_in_serial_id_key UNIQUE (reserve_in_serial_id);
-
-
---
--- Name: reserves_out reserves_out_h_blind_ev_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_out
- ADD CONSTRAINT reserves_out_h_blind_ev_key UNIQUE (h_blind_ev);
-
-
---
--- Name: reserves_out_default reserves_out_default_h_blind_ev_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_out_default
- ADD CONSTRAINT reserves_out_default_h_blind_ev_key UNIQUE (h_blind_ev);
-
-
---
--- Name: reserves_out_default reserves_out_default_reserve_out_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_out_default
- ADD CONSTRAINT reserves_out_default_reserve_out_serial_id_key UNIQUE (reserve_out_serial_id);
-
-
---
--- Name: revolving_work_shards revolving_work_shards_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.revolving_work_shards
- ADD CONSTRAINT revolving_work_shards_pkey PRIMARY KEY (job_name, start_row);
-
-
---
--- Name: revolving_work_shards revolving_work_shards_shard_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.revolving_work_shards
- ADD CONSTRAINT revolving_work_shards_shard_serial_id_key UNIQUE (shard_serial_id);
-
-
---
--- Name: signkey_revocations signkey_revocations_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.signkey_revocations
- ADD CONSTRAINT signkey_revocations_pkey PRIMARY KEY (esk_serial);
-
-
---
--- Name: signkey_revocations signkey_revocations_signkey_revocations_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.signkey_revocations
- ADD CONSTRAINT signkey_revocations_signkey_revocations_serial_id_key UNIQUE (signkey_revocations_serial_id);
-
-
---
--- Name: wad_in_entries wad_in_entries_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_in_entries
- ADD CONSTRAINT wad_in_entries_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_in_entries_default wad_in_entries_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_in_entries_default
- ADD CONSTRAINT wad_in_entries_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_in_entries_default wad_in_entries_default_wad_in_entry_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_in_entries_default
- ADD CONSTRAINT wad_in_entries_default_wad_in_entry_serial_id_key UNIQUE (wad_in_entry_serial_id);
-
-
---
--- Name: wad_out_entries wad_out_entries_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_out_entries
- ADD CONSTRAINT wad_out_entries_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_out_entries_default wad_out_entries_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_out_entries_default
- ADD CONSTRAINT wad_out_entries_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_out_entries_default wad_out_entries_default_wad_out_entry_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_out_entries_default
- ADD CONSTRAINT wad_out_entries_default_wad_out_entry_serial_id_key UNIQUE (wad_out_entry_serial_id);
-
-
---
--- Name: wads_in wads_in_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in
- ADD CONSTRAINT wads_in_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_in_default wads_in_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in_default
- ADD CONSTRAINT wads_in_default_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_in wads_in_wad_id_origin_exchange_url_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in
- ADD CONSTRAINT wads_in_wad_id_origin_exchange_url_key UNIQUE (wad_id, origin_exchange_url);
-
-
---
--- Name: wads_in_default wads_in_default_wad_id_origin_exchange_url_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in_default
- ADD CONSTRAINT wads_in_default_wad_id_origin_exchange_url_key UNIQUE (wad_id, origin_exchange_url);
-
-
---
--- Name: wads_in_default wads_in_default_wad_in_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in_default
- ADD CONSTRAINT wads_in_default_wad_in_serial_id_key UNIQUE (wad_in_serial_id);
-
-
---
--- Name: wads_in_default wads_in_default_wad_is_origin_exchange_url_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in_default
- ADD CONSTRAINT wads_in_default_wad_is_origin_exchange_url_key UNIQUE (wad_id, origin_exchange_url);
-
-
---
--- Name: wads_out wads_out_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_out
- ADD CONSTRAINT wads_out_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_out_default wads_out_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_out_default
- ADD CONSTRAINT wads_out_default_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_out_default wads_out_default_wad_out_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_out_default
- ADD CONSTRAINT wads_out_default_wad_out_serial_id_key UNIQUE (wad_out_serial_id);
-
-
---
--- Name: wire_accounts wire_accounts_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_accounts
- ADD CONSTRAINT wire_accounts_pkey PRIMARY KEY (payto_uri);
-
-
---
--- Name: wire_fee wire_fee_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_fee
- ADD CONSTRAINT wire_fee_pkey PRIMARY KEY (wire_method, start_date);
-
-
---
--- Name: wire_fee wire_fee_wire_fee_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_fee
- ADD CONSTRAINT wire_fee_wire_fee_serial_key UNIQUE (wire_fee_serial);
-
-
---
--- Name: wire_out_default wire_out_default_wireout_uuid_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_out_default
- ADD CONSTRAINT wire_out_default_wireout_uuid_pkey PRIMARY KEY (wireout_uuid);
-
-
---
--- Name: wire_out wire_out_wtid_raw_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_out
- ADD CONSTRAINT wire_out_wtid_raw_key UNIQUE (wtid_raw);
-
-
---
--- Name: wire_out_default wire_out_default_wtid_raw_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_out_default
- ADD CONSTRAINT wire_out_default_wtid_raw_key UNIQUE (wtid_raw);
-
-
---
--- Name: wire_targets wire_targets_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_targets
- ADD CONSTRAINT wire_targets_pkey PRIMARY KEY (wire_target_h_payto);
-
-
---
--- Name: wire_targets_default wire_targets_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_targets_default
- ADD CONSTRAINT wire_targets_default_pkey PRIMARY KEY (wire_target_h_payto);
-
-
---
--- Name: wire_targets_default wire_targets_default_wire_target_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_targets_default
- ADD CONSTRAINT wire_targets_default_wire_target_serial_id_key UNIQUE (wire_target_serial_id);
-
-
---
--- Name: work_shards work_shards_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.work_shards
- ADD CONSTRAINT work_shards_pkey PRIMARY KEY (job_name, start_row);
-
-
---
--- Name: work_shards work_shards_shard_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.work_shards
- ADD CONSTRAINT work_shards_shard_serial_id_key UNIQUE (shard_serial_id);
-
-
---
--- Name: merchant_accounts merchant_accounts_h_wire_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_accounts
- ADD CONSTRAINT merchant_accounts_h_wire_key UNIQUE (h_wire);
-
-
---
--- Name: merchant_accounts merchant_accounts_merchant_serial_payto_uri_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_accounts
- ADD CONSTRAINT merchant_accounts_merchant_serial_payto_uri_key UNIQUE (merchant_serial, payto_uri);
-
-
---
--- Name: merchant_accounts merchant_accounts_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_accounts
- ADD CONSTRAINT merchant_accounts_pkey PRIMARY KEY (account_serial);
-
-
---
--- Name: merchant_contract_terms merchant_contract_terms_merchant_serial_h_contract_terms_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_contract_terms
- ADD CONSTRAINT merchant_contract_terms_merchant_serial_h_contract_terms_key UNIQUE (merchant_serial, h_contract_terms);
-
-
---
--- Name: merchant_contract_terms merchant_contract_terms_merchant_serial_order_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_contract_terms
- ADD CONSTRAINT merchant_contract_terms_merchant_serial_order_id_key UNIQUE (merchant_serial, order_id);
-
-
---
--- Name: merchant_contract_terms merchant_contract_terms_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_contract_terms
- ADD CONSTRAINT merchant_contract_terms_pkey PRIMARY KEY (order_serial);
-
-
---
--- Name: merchant_deposit_to_transfer merchant_deposit_to_transfer_deposit_serial_credit_serial_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposit_to_transfer
- ADD CONSTRAINT merchant_deposit_to_transfer_deposit_serial_credit_serial_key UNIQUE (deposit_serial, credit_serial);
-
-
---
--- Name: merchant_deposits merchant_deposits_order_serial_coin_pub_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposits
- ADD CONSTRAINT merchant_deposits_order_serial_coin_pub_key UNIQUE (order_serial, coin_pub);
-
-
---
--- Name: merchant_deposits merchant_deposits_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposits
- ADD CONSTRAINT merchant_deposits_pkey PRIMARY KEY (deposit_serial);
-
-
---
--- Name: merchant_exchange_signing_keys merchant_exchange_signing_key_exchange_pub_start_date_maste_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_exchange_signing_keys
- ADD CONSTRAINT merchant_exchange_signing_key_exchange_pub_start_date_maste_key UNIQUE (exchange_pub, start_date, master_pub);
-
-
---
--- Name: merchant_exchange_signing_keys merchant_exchange_signing_keys_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_exchange_signing_keys
- ADD CONSTRAINT merchant_exchange_signing_keys_pkey PRIMARY KEY (signkey_serial);
-
-
---
--- Name: merchant_exchange_wire_fees merchant_exchange_wire_fees_master_pub_h_wire_method_start__key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_exchange_wire_fees
- ADD CONSTRAINT merchant_exchange_wire_fees_master_pub_h_wire_method_start__key UNIQUE (master_pub, h_wire_method, start_date);
-
-
---
--- Name: merchant_exchange_wire_fees merchant_exchange_wire_fees_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_exchange_wire_fees
- ADD CONSTRAINT merchant_exchange_wire_fees_pkey PRIMARY KEY (wirefee_serial);
-
-
---
--- Name: merchant_instances merchant_instances_merchant_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_instances
- ADD CONSTRAINT merchant_instances_merchant_id_key UNIQUE (merchant_id);
-
-
---
--- Name: merchant_instances merchant_instances_merchant_pub_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_instances
- ADD CONSTRAINT merchant_instances_merchant_pub_key UNIQUE (merchant_pub);
-
-
---
--- Name: merchant_instances merchant_instances_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_instances
- ADD CONSTRAINT merchant_instances_pkey PRIMARY KEY (merchant_serial);
-
-
---
--- Name: merchant_inventory merchant_inventory_merchant_serial_product_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_inventory
- ADD CONSTRAINT merchant_inventory_merchant_serial_product_id_key UNIQUE (merchant_serial, product_id);
-
-
---
--- Name: merchant_inventory merchant_inventory_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_inventory
- ADD CONSTRAINT merchant_inventory_pkey PRIMARY KEY (product_serial);
-
-
---
--- Name: merchant_keys merchant_keys_merchant_priv_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_keys
- ADD CONSTRAINT merchant_keys_merchant_priv_key UNIQUE (merchant_priv);
-
-
---
--- Name: merchant_keys merchant_keys_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_keys
- ADD CONSTRAINT merchant_keys_pkey PRIMARY KEY (merchant_serial);
-
-
---
--- Name: merchant_kyc merchant_kyc_kyc_serial_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_kyc
- ADD CONSTRAINT merchant_kyc_kyc_serial_id_key UNIQUE (kyc_serial_id);
-
-
---
--- Name: merchant_kyc merchant_kyc_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_kyc
- ADD CONSTRAINT merchant_kyc_pkey PRIMARY KEY (account_serial, exchange_url);
-
-
---
--- Name: merchant_orders merchant_orders_merchant_serial_order_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_orders
- ADD CONSTRAINT merchant_orders_merchant_serial_order_id_key UNIQUE (merchant_serial, order_id);
-
-
---
--- Name: merchant_orders merchant_orders_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_orders
- ADD CONSTRAINT merchant_orders_pkey PRIMARY KEY (order_serial);
-
-
---
--- Name: merchant_refund_proofs merchant_refund_proofs_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refund_proofs
- ADD CONSTRAINT merchant_refund_proofs_pkey PRIMARY KEY (refund_serial);
-
-
---
--- Name: merchant_refunds merchant_refunds_order_serial_coin_pub_rtransaction_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refunds
- ADD CONSTRAINT merchant_refunds_order_serial_coin_pub_rtransaction_id_key UNIQUE (order_serial, coin_pub, rtransaction_id);
-
-
---
--- Name: merchant_refunds merchant_refunds_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refunds
- ADD CONSTRAINT merchant_refunds_pkey PRIMARY KEY (refund_serial);
-
-
---
--- Name: merchant_tip_pickup_signatures merchant_tip_pickup_signatures_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_pickup_signatures
- ADD CONSTRAINT merchant_tip_pickup_signatures_pkey PRIMARY KEY (pickup_serial, coin_offset);
-
-
---
--- Name: merchant_tip_pickups merchant_tip_pickups_pickup_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_pickups
- ADD CONSTRAINT merchant_tip_pickups_pickup_id_key UNIQUE (pickup_id);
-
-
---
--- Name: merchant_tip_pickups merchant_tip_pickups_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_pickups
- ADD CONSTRAINT merchant_tip_pickups_pkey PRIMARY KEY (pickup_serial);
-
-
---
--- Name: merchant_tip_reserve_keys merchant_tip_reserve_keys_reserve_priv_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserve_keys
- ADD CONSTRAINT merchant_tip_reserve_keys_reserve_priv_key UNIQUE (reserve_priv);
-
-
---
--- Name: merchant_tip_reserve_keys merchant_tip_reserve_keys_reserve_serial_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserve_keys
- ADD CONSTRAINT merchant_tip_reserve_keys_reserve_serial_key UNIQUE (reserve_serial);
-
-
---
--- Name: merchant_tip_reserves merchant_tip_reserves_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserves
- ADD CONSTRAINT merchant_tip_reserves_pkey PRIMARY KEY (reserve_serial);
-
-
---
--- Name: merchant_tip_reserves merchant_tip_reserves_reserve_pub_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserves
- ADD CONSTRAINT merchant_tip_reserves_reserve_pub_key UNIQUE (reserve_pub);
-
-
---
--- Name: merchant_tips merchant_tips_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tips
- ADD CONSTRAINT merchant_tips_pkey PRIMARY KEY (tip_serial);
-
-
---
--- Name: merchant_tips merchant_tips_tip_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tips
- ADD CONSTRAINT merchant_tips_tip_id_key UNIQUE (tip_id);
-
-
---
--- Name: merchant_transfer_signatures merchant_transfer_signatures_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_signatures
- ADD CONSTRAINT merchant_transfer_signatures_pkey PRIMARY KEY (credit_serial);
-
-
---
--- Name: merchant_transfer_to_coin merchant_transfer_to_coin_deposit_serial_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_to_coin
- ADD CONSTRAINT merchant_transfer_to_coin_deposit_serial_key UNIQUE (deposit_serial);
-
-
---
--- Name: merchant_transfers merchant_transfers_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfers
- ADD CONSTRAINT merchant_transfers_pkey PRIMARY KEY (credit_serial);
-
-
---
--- Name: merchant_transfers merchant_transfers_wtid_exchange_url_account_serial_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfers
- ADD CONSTRAINT merchant_transfers_wtid_exchange_url_account_serial_key UNIQUE (wtid, exchange_url, account_serial);
-
-
---
--- Name: auditor_historic_reserve_summary_by_master_pub_start_date; Type: INDEX; Schema: auditor; Owner: -
---
-
-CREATE INDEX auditor_historic_reserve_summary_by_master_pub_start_date ON auditor.auditor_historic_reserve_summary USING btree (master_pub, start_date);
-
-
---
--- Name: auditor_reserves_by_reserve_pub; Type: INDEX; Schema: auditor; Owner: -
---
-
-CREATE INDEX auditor_reserves_by_reserve_pub ON auditor.auditor_reserves USING btree (reserve_pub);
-
-
---
--- Name: account_merges_by_reserve_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX account_merges_by_reserve_pub ON ONLY exchange.account_merges USING btree (reserve_pub);
-
-
---
--- Name: account_merges_default_reserve_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX account_merges_default_reserve_pub_idx ON exchange.account_merges_default USING btree (reserve_pub);
-
-
---
--- Name: aggregation_tracking_by_wtid_raw_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX aggregation_tracking_by_wtid_raw_index ON ONLY exchange.aggregation_tracking USING btree (wtid_raw);
-
-
---
--- Name: INDEX aggregation_tracking_by_wtid_raw_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.aggregation_tracking_by_wtid_raw_index IS 'for lookup_transactions';
-
-
---
--- Name: aggregation_tracking_default_wtid_raw_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX aggregation_tracking_default_wtid_raw_idx ON exchange.aggregation_tracking_default USING btree (wtid_raw);
-
-
---
--- Name: denominations_by_expire_legal_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX denominations_by_expire_legal_index ON exchange.denominations USING btree (expire_legal);
-
-
---
--- Name: deposits_by_coin_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_by_coin_pub_index ON ONLY exchange.deposits USING btree (coin_pub);
-
-
---
--- Name: deposits_by_ready_main_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_by_ready_main_index ON ONLY exchange.deposits_by_ready USING btree (wire_deadline, shard, coin_pub);
-
-
---
--- Name: deposits_by_ready_default_wire_deadline_shard_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_by_ready_default_wire_deadline_shard_coin_pub_idx ON exchange.deposits_by_ready_default USING btree (wire_deadline, shard, coin_pub);
-
-
---
--- Name: deposits_default_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_default_coin_pub_idx ON exchange.deposits_default USING btree (coin_pub);
-
-
---
--- Name: deposits_for_matching_main_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_for_matching_main_index ON ONLY exchange.deposits_for_matching USING btree (refund_deadline, merchant_pub, coin_pub);
-
-
---
--- Name: deposits_for_matching_default_refund_deadline_merchant_pub__idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_for_matching_default_refund_deadline_merchant_pub__idx ON exchange.deposits_for_matching_default USING btree (refund_deadline, merchant_pub, coin_pub);
-
-
---
--- Name: global_fee_by_end_date_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX global_fee_by_end_date_index ON exchange.global_fee USING btree (end_date);
-
-
---
--- Name: legitimization_processes_default_by_provider_and_legi_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX legitimization_processes_default_by_provider_and_legi_index ON exchange.legitimization_processes_default USING btree (provider_section, provider_legitimization_id);
-
-
---
--- Name: INDEX legitimization_processes_default_by_provider_and_legi_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.legitimization_processes_default_by_provider_and_legi_index IS 'used (rarely) in kyc_provider_account_lookup';
-
-
---
--- Name: partner_accounts_index_by_partner_and_time; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX partner_accounts_index_by_partner_and_time ON exchange.partner_accounts USING btree (partner_serial_id, last_seen);
-
-
---
--- Name: partner_by_wad_time; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX partner_by_wad_time ON exchange.partners USING btree (next_wad);
-
-
---
--- Name: prewire_by_failed_finished_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX prewire_by_failed_finished_index ON ONLY exchange.prewire USING btree (failed, finished);
-
-
---
--- Name: INDEX prewire_by_failed_finished_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.prewire_by_failed_finished_index IS 'for wire_prepare_data_get';
-
-
---
--- Name: prewire_by_finished_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX prewire_by_finished_index ON ONLY exchange.prewire USING btree (finished);
-
-
---
--- Name: INDEX prewire_by_finished_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.prewire_by_finished_index IS 'for gc_prewire';
-
-
---
--- Name: prewire_default_failed_finished_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX prewire_default_failed_finished_idx ON exchange.prewire_default USING btree (failed, finished);
-
-
---
--- Name: prewire_default_finished_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX prewire_default_finished_idx ON exchange.prewire_default USING btree (finished);
-
-
---
--- Name: purse_action_by_target; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_action_by_target ON exchange.purse_actions USING btree (partner_serial_id, action_date);
-
-
---
--- Name: purse_deposits_by_coin_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_deposits_by_coin_pub ON ONLY exchange.purse_deposits USING btree (coin_pub);
-
-
---
--- Name: purse_deposits_default_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_deposits_default_coin_pub_idx ON exchange.purse_deposits_default USING btree (coin_pub);
-
-
---
--- Name: purse_merges_reserve_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_merges_reserve_pub ON ONLY exchange.purse_merges USING btree (reserve_pub);
-
-
---
--- Name: INDEX purse_merges_reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.purse_merges_reserve_pub IS 'needed in reserve history computation';
-
-
---
--- Name: purse_merges_default_reserve_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_merges_default_reserve_pub_idx ON exchange.purse_merges_default USING btree (reserve_pub);
-
-
---
--- Name: purse_requests_merge_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_requests_merge_pub ON ONLY exchange.purse_requests USING btree (merge_pub);
-
-
---
--- Name: purse_requests_default_merge_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_requests_default_merge_pub_idx ON exchange.purse_requests_default USING btree (merge_pub);
-
-
---
--- Name: purse_requests_purse_expiration; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_requests_purse_expiration ON ONLY exchange.purse_requests USING btree (purse_expiration);
-
-
---
--- Name: purse_requests_default_purse_expiration_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_requests_default_purse_expiration_idx ON exchange.purse_requests_default USING btree (purse_expiration);
-
-
---
--- Name: recoup_by_coin_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_by_coin_pub_index ON ONLY exchange.recoup USING btree (coin_pub);
-
-
---
--- Name: recoup_by_reserve_main_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_by_reserve_main_index ON ONLY exchange.recoup_by_reserve USING btree (reserve_out_serial_id);
-
-
---
--- Name: recoup_by_reserve_default_reserve_out_serial_id_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_by_reserve_default_reserve_out_serial_id_idx ON exchange.recoup_by_reserve_default USING btree (reserve_out_serial_id);
-
-
---
--- Name: recoup_default_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_default_coin_pub_idx ON exchange.recoup_default USING btree (coin_pub);
-
-
---
--- Name: recoup_refresh_by_coin_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_refresh_by_coin_pub_index ON ONLY exchange.recoup_refresh USING btree (coin_pub);
-
-
---
--- Name: recoup_refresh_by_rrc_serial_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_refresh_by_rrc_serial_index ON ONLY exchange.recoup_refresh USING btree (rrc_serial);
-
-
---
--- Name: recoup_refresh_default_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_refresh_default_coin_pub_idx ON exchange.recoup_refresh_default USING btree (coin_pub);
-
-
---
--- Name: recoup_refresh_default_rrc_serial_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_refresh_default_rrc_serial_idx ON exchange.recoup_refresh_default USING btree (rrc_serial);
-
-
---
--- Name: refresh_commitments_by_old_coin_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refresh_commitments_by_old_coin_pub_index ON ONLY exchange.refresh_commitments USING btree (old_coin_pub);
-
-
---
--- Name: refresh_commitments_default_old_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refresh_commitments_default_old_coin_pub_idx ON exchange.refresh_commitments_default USING btree (old_coin_pub);
-
-
---
--- Name: refresh_revealed_coins_coins_by_melt_serial_id_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refresh_revealed_coins_coins_by_melt_serial_id_index ON ONLY exchange.refresh_revealed_coins USING btree (melt_serial_id);
-
-
---
--- Name: refresh_revealed_coins_default_melt_serial_id_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refresh_revealed_coins_default_melt_serial_id_idx ON exchange.refresh_revealed_coins_default USING btree (melt_serial_id);
-
-
---
--- Name: refunds_by_coin_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refunds_by_coin_pub_index ON ONLY exchange.refunds USING btree (coin_pub);
-
-
---
--- Name: refunds_default_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refunds_default_coin_pub_idx ON exchange.refunds_default USING btree (coin_pub);
-
-
---
--- Name: reserves_by_expiration_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_by_expiration_index ON ONLY exchange.reserves USING btree (expiration_date, current_balance_val, current_balance_frac);
-
-
---
--- Name: INDEX reserves_by_expiration_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.reserves_by_expiration_index IS 'used in get_expired_reserves';
-
-
---
--- Name: reserves_by_gc_date_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_by_gc_date_index ON ONLY exchange.reserves USING btree (gc_date);
-
-
---
--- Name: INDEX reserves_by_gc_date_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.reserves_by_gc_date_index IS 'for reserve garbage collection';
-
-
---
--- Name: reserves_by_reserve_uuid_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_by_reserve_uuid_index ON ONLY exchange.reserves USING btree (reserve_uuid);
-
-
---
--- Name: reserves_close_by_close_uuid_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_close_by_close_uuid_index ON ONLY exchange.reserves_close USING btree (close_uuid);
-
-
---
--- Name: reserves_close_by_reserve_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_close_by_reserve_pub_index ON ONLY exchange.reserves_close USING btree (reserve_pub);
-
-
---
--- Name: reserves_close_default_close_uuid_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_close_default_close_uuid_idx ON exchange.reserves_close_default USING btree (close_uuid);
-
-
---
--- Name: reserves_close_default_reserve_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_close_default_reserve_pub_idx ON exchange.reserves_close_default USING btree (reserve_pub);
-
-
---
--- Name: reserves_default_expiration_date_current_balance_val_curren_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_default_expiration_date_current_balance_val_curren_idx ON exchange.reserves_default USING btree (expiration_date, current_balance_val, current_balance_frac);
-
-
---
--- Name: reserves_default_gc_date_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_default_gc_date_idx ON exchange.reserves_default USING btree (gc_date);
-
-
---
--- Name: reserves_default_reserve_uuid_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_default_reserve_uuid_idx ON exchange.reserves_default USING btree (reserve_uuid);
-
-
---
--- Name: reserves_in_by_exch_accnt_reserve_in_serial_id_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_by_exch_accnt_reserve_in_serial_id_idx ON ONLY exchange.reserves_in USING btree (exchange_account_section, reserve_in_serial_id DESC);
-
-
---
--- Name: reserves_in_by_exch_accnt_section_execution_date_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_by_exch_accnt_section_execution_date_idx ON ONLY exchange.reserves_in USING btree (exchange_account_section, execution_date);
-
-
---
--- Name: reserves_in_by_reserve_in_serial_id_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_by_reserve_in_serial_id_index ON ONLY exchange.reserves_in USING btree (reserve_in_serial_id);
-
-
---
--- Name: reserves_in_default_exchange_account_section_execution_date_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_default_exchange_account_section_execution_date_idx ON exchange.reserves_in_default USING btree (exchange_account_section, execution_date);
-
-
---
--- Name: reserves_in_default_exchange_account_section_reserve_in_ser_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_default_exchange_account_section_reserve_in_ser_idx ON exchange.reserves_in_default USING btree (exchange_account_section, reserve_in_serial_id DESC);
-
-
---
--- Name: reserves_in_default_reserve_in_serial_id_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_default_reserve_in_serial_id_idx ON exchange.reserves_in_default USING btree (reserve_in_serial_id);
-
-
---
--- Name: reserves_out_by_reserve_main_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_main_index ON ONLY exchange.reserves_out_by_reserve USING btree (reserve_uuid);
-
-
---
--- Name: reserves_out_by_reserve_default_reserve_uuid_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_default_reserve_uuid_idx ON exchange.reserves_out_by_reserve_default USING btree (reserve_uuid);
-
-
---
--- Name: reserves_out_by_reserve_out_serial_id_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_out_serial_id_index ON ONLY exchange.reserves_out USING btree (reserve_out_serial_id);
-
-
---
--- Name: reserves_out_by_reserve_uuid_and_execution_date_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_uuid_and_execution_date_index ON ONLY exchange.reserves_out USING btree (reserve_uuid, execution_date);
-
-
---
--- Name: INDEX reserves_out_by_reserve_uuid_and_execution_date_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.reserves_out_by_reserve_uuid_and_execution_date_index IS 'for get_reserves_out and exchange_do_withdraw_limit_check';
-
-
---
--- Name: reserves_out_default_reserve_out_serial_id_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_default_reserve_out_serial_id_idx ON exchange.reserves_out_default USING btree (reserve_out_serial_id);
-
-
---
--- Name: reserves_out_default_reserve_uuid_execution_date_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_default_reserve_uuid_execution_date_idx ON exchange.reserves_out_default USING btree (reserve_uuid, execution_date);
-
-
---
--- Name: revolving_work_shards_by_job_name_active_last_attempt_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX revolving_work_shards_by_job_name_active_last_attempt_index ON exchange.revolving_work_shards USING btree (job_name, active, last_attempt);
-
-
---
--- Name: wad_in_entries_reserve_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wad_in_entries_reserve_pub ON ONLY exchange.wad_in_entries USING btree (reserve_pub);
-
-
---
--- Name: INDEX wad_in_entries_reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.wad_in_entries_reserve_pub IS 'needed in reserve history computation';
-
-
---
--- Name: wad_in_entries_default_reserve_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wad_in_entries_default_reserve_pub_idx ON exchange.wad_in_entries_default USING btree (reserve_pub);
-
-
---
--- Name: wad_out_entries_by_reserve_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wad_out_entries_by_reserve_pub ON ONLY exchange.wad_out_entries USING btree (reserve_pub);
-
-
---
--- Name: wad_out_entries_default_reserve_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wad_out_entries_default_reserve_pub_idx ON exchange.wad_out_entries_default USING btree (reserve_pub);
-
-
---
--- Name: wire_fee_by_end_date_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wire_fee_by_end_date_index ON exchange.wire_fee USING btree (end_date);
-
-
---
--- Name: wire_out_by_wire_target_h_payto_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wire_out_by_wire_target_h_payto_index ON ONLY exchange.wire_out USING btree (wire_target_h_payto);
-
-
---
--- Name: wire_out_default_wire_target_h_payto_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wire_out_default_wire_target_h_payto_idx ON exchange.wire_out_default USING btree (wire_target_h_payto);
-
-
---
--- Name: work_shards_by_job_name_completed_last_attempt_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX work_shards_by_job_name_completed_last_attempt_index ON exchange.work_shards USING btree (job_name, completed, last_attempt);
-
-
---
--- Name: merchant_contract_terms_by_expiration; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_expiration ON merchant.merchant_contract_terms USING btree (paid, pay_deadline);
-
-
---
--- Name: INDEX merchant_contract_terms_by_expiration; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON INDEX merchant.merchant_contract_terms_by_expiration IS 'for unlock_contracts';
-
-
---
--- Name: merchant_contract_terms_by_merchant_and_expiration; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_merchant_and_expiration ON merchant.merchant_contract_terms USING btree (merchant_serial, pay_deadline);
-
-
---
--- Name: INDEX merchant_contract_terms_by_merchant_and_expiration; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON INDEX merchant.merchant_contract_terms_by_merchant_and_expiration IS 'for delete_contract_terms';
-
-
---
--- Name: merchant_contract_terms_by_merchant_and_payment; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_merchant_and_payment ON merchant.merchant_contract_terms USING btree (merchant_serial, paid);
-
-
---
--- Name: merchant_contract_terms_by_merchant_session_and_fulfillment; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_merchant_session_and_fulfillment ON merchant.merchant_contract_terms USING btree (merchant_serial, fulfillment_url, session_id);
-
-
---
--- Name: merchant_inventory_locks_by_expiration; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_inventory_locks_by_expiration ON merchant.merchant_inventory_locks USING btree (expiration);
-
-
---
--- Name: merchant_inventory_locks_by_uuid; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_inventory_locks_by_uuid ON merchant.merchant_inventory_locks USING btree (lock_uuid);
-
-
---
--- Name: merchant_orders_by_creation_time; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_orders_by_creation_time ON merchant.merchant_orders USING btree (creation_time);
-
-
---
--- Name: merchant_orders_by_expiration; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_orders_by_expiration ON merchant.merchant_orders USING btree (pay_deadline);
-
-
---
--- Name: merchant_orders_locks_by_order_and_product; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_orders_locks_by_order_and_product ON merchant.merchant_order_locks USING btree (order_serial, product_serial);
-
-
---
--- Name: merchant_refunds_by_coin_and_order; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_refunds_by_coin_and_order ON merchant.merchant_refunds USING btree (coin_pub, order_serial);
-
-
---
--- Name: merchant_tip_reserves_by_exchange_balance; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_tip_reserves_by_exchange_balance ON merchant.merchant_tip_reserves USING btree (exchange_initial_balance_val, exchange_initial_balance_frac);
-
-
---
--- Name: merchant_tip_reserves_by_merchant_serial_and_creation_time; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_tip_reserves_by_merchant_serial_and_creation_time ON merchant.merchant_tip_reserves USING btree (merchant_serial, creation_time);
-
-
---
--- Name: merchant_tip_reserves_by_reserve_pub_and_merchant_serial; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_tip_reserves_by_reserve_pub_and_merchant_serial ON merchant.merchant_tip_reserves USING btree (reserve_pub, merchant_serial, creation_time);
-
-
---
--- Name: merchant_tips_by_pickup_and_expiration; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_tips_by_pickup_and_expiration ON merchant.merchant_tips USING btree (was_picked_up, expiration);
-
-
---
--- Name: merchant_transfers_by_credit; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_transfers_by_credit ON merchant.merchant_transfer_to_coin USING btree (credit_serial);
-
-
---
--- Name: account_merges_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.account_merges_pkey ATTACH PARTITION exchange.account_merges_default_pkey;
-
-
---
--- Name: account_merges_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.account_merges_by_reserve_pub ATTACH PARTITION exchange.account_merges_default_reserve_pub_idx;
-
-
---
--- Name: aggregation_tracking_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.aggregation_tracking_pkey ATTACH PARTITION exchange.aggregation_tracking_default_pkey;
-
-
---
--- Name: aggregation_tracking_default_wtid_raw_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.aggregation_tracking_by_wtid_raw_index ATTACH PARTITION exchange.aggregation_tracking_default_wtid_raw_idx;
-
-
---
--- Name: close_requests_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.close_requests_pkey ATTACH PARTITION exchange.close_requests_default_pkey;
-
-
---
--- Name: contracts_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.contracts_pkey ATTACH PARTITION exchange.contracts_default_pkey;
-
-
---
--- Name: cs_nonce_locks_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.cs_nonce_locks_pkey ATTACH PARTITION exchange.cs_nonce_locks_default_pkey;
-
-
---
--- Name: deposits_by_ready_default_wire_deadline_shard_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.deposits_by_ready_main_index ATTACH PARTITION exchange.deposits_by_ready_default_wire_deadline_shard_coin_pub_idx;
-
-
---
--- Name: deposits_default_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.deposits_by_coin_pub_index ATTACH PARTITION exchange.deposits_default_coin_pub_idx;
-
-
---
--- Name: deposits_for_matching_default_refund_deadline_merchant_pub__idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.deposits_for_matching_main_index ATTACH PARTITION exchange.deposits_for_matching_default_refund_deadline_merchant_pub__idx;
-
-
---
--- Name: extension_details_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.extension_details_pkey ATTACH PARTITION exchange.extension_details_default_pkey;
-
-
---
--- Name: history_requests_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.history_requests_pkey ATTACH PARTITION exchange.history_requests_default_pkey;
-
-
---
--- Name: known_coins_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.known_coins_pkey ATTACH PARTITION exchange.known_coins_default_pkey;
-
-
---
--- Name: legitimization_processes_default_h_payto_provider_section_key; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.legitimization_processes_h_payto_provider_section_key ATTACH PARTITION exchange.legitimization_processes_default_h_payto_provider_section_key;
-
-
---
--- Name: legitimization_requirements_default_h_payto_required_checks_key; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.legitimization_requirements_h_payto_required_checks_key ATTACH PARTITION exchange.legitimization_requirements_default_h_payto_required_checks_key;
-
-
---
--- Name: prewire_default_failed_finished_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.prewire_by_failed_finished_index ATTACH PARTITION exchange.prewire_default_failed_finished_idx;
-
-
---
--- Name: prewire_default_finished_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.prewire_by_finished_index ATTACH PARTITION exchange.prewire_default_finished_idx;
-
-
---
--- Name: prewire_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.prewire_pkey ATTACH PARTITION exchange.prewire_default_pkey;
-
-
---
--- Name: purse_deposits_default_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_deposits_by_coin_pub ATTACH PARTITION exchange.purse_deposits_default_coin_pub_idx;
-
-
---
--- Name: purse_deposits_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_deposits_pkey ATTACH PARTITION exchange.purse_deposits_default_pkey;
-
-
---
--- Name: purse_merges_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_merges_pkey ATTACH PARTITION exchange.purse_merges_default_pkey;
-
-
---
--- Name: purse_merges_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_merges_reserve_pub ATTACH PARTITION exchange.purse_merges_default_reserve_pub_idx;
-
-
---
--- Name: purse_refunds_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_refunds_pkey ATTACH PARTITION exchange.purse_refunds_default_pkey;
-
-
---
--- Name: purse_requests_default_merge_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_requests_merge_pub ATTACH PARTITION exchange.purse_requests_default_merge_pub_idx;
-
-
---
--- Name: purse_requests_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_requests_pkey ATTACH PARTITION exchange.purse_requests_default_pkey;
-
-
---
--- Name: purse_requests_default_purse_expiration_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_requests_purse_expiration ATTACH PARTITION exchange.purse_requests_default_purse_expiration_idx;
-
-
---
--- Name: recoup_by_reserve_default_reserve_out_serial_id_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.recoup_by_reserve_main_index ATTACH PARTITION exchange.recoup_by_reserve_default_reserve_out_serial_id_idx;
-
-
---
--- Name: recoup_default_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.recoup_by_coin_pub_index ATTACH PARTITION exchange.recoup_default_coin_pub_idx;
-
-
---
--- Name: recoup_refresh_default_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.recoup_refresh_by_coin_pub_index ATTACH PARTITION exchange.recoup_refresh_default_coin_pub_idx;
-
-
---
--- Name: recoup_refresh_default_rrc_serial_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.recoup_refresh_by_rrc_serial_index ATTACH PARTITION exchange.recoup_refresh_default_rrc_serial_idx;
-
-
---
--- Name: refresh_commitments_default_old_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.refresh_commitments_by_old_coin_pub_index ATTACH PARTITION exchange.refresh_commitments_default_old_coin_pub_idx;
-
-
---
--- Name: refresh_commitments_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.refresh_commitments_pkey ATTACH PARTITION exchange.refresh_commitments_default_pkey;
-
-
---
--- Name: refresh_revealed_coins_default_melt_serial_id_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.refresh_revealed_coins_coins_by_melt_serial_id_index ATTACH PARTITION exchange.refresh_revealed_coins_default_melt_serial_id_idx;
-
-
---
--- Name: refresh_transfer_keys_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.refresh_transfer_keys_pkey ATTACH PARTITION exchange.refresh_transfer_keys_default_pkey;
-
-
---
--- Name: refunds_default_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.refunds_by_coin_pub_index ATTACH PARTITION exchange.refunds_default_coin_pub_idx;
-
-
---
--- Name: reserves_close_default_close_uuid_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_close_by_close_uuid_index ATTACH PARTITION exchange.reserves_close_default_close_uuid_idx;
-
-
---
--- Name: reserves_close_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_close_by_reserve_pub_index ATTACH PARTITION exchange.reserves_close_default_reserve_pub_idx;
-
-
---
--- Name: reserves_default_expiration_date_current_balance_val_curren_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_by_expiration_index ATTACH PARTITION exchange.reserves_default_expiration_date_current_balance_val_curren_idx;
-
-
---
--- Name: reserves_default_gc_date_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_by_gc_date_index ATTACH PARTITION exchange.reserves_default_gc_date_idx;
-
-
---
--- Name: reserves_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_pkey ATTACH PARTITION exchange.reserves_default_pkey;
-
-
---
--- Name: reserves_default_reserve_uuid_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_by_reserve_uuid_index ATTACH PARTITION exchange.reserves_default_reserve_uuid_idx;
-
-
---
--- Name: reserves_in_default_exchange_account_section_execution_date_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_in_by_exch_accnt_section_execution_date_idx ATTACH PARTITION exchange.reserves_in_default_exchange_account_section_execution_date_idx;
-
-
---
--- Name: reserves_in_default_exchange_account_section_reserve_in_ser_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_in_by_exch_accnt_reserve_in_serial_id_idx ATTACH PARTITION exchange.reserves_in_default_exchange_account_section_reserve_in_ser_idx;
-
-
---
--- Name: reserves_in_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_in_pkey ATTACH PARTITION exchange.reserves_in_default_pkey;
-
-
---
--- Name: reserves_in_default_reserve_in_serial_id_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_in_by_reserve_in_serial_id_index ATTACH PARTITION exchange.reserves_in_default_reserve_in_serial_id_idx;
-
-
---
--- Name: reserves_out_by_reserve_default_reserve_uuid_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_out_by_reserve_main_index ATTACH PARTITION exchange.reserves_out_by_reserve_default_reserve_uuid_idx;
-
-
---
--- Name: reserves_out_default_h_blind_ev_key; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_out_h_blind_ev_key ATTACH PARTITION exchange.reserves_out_default_h_blind_ev_key;
-
-
---
--- Name: reserves_out_default_reserve_out_serial_id_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_out_by_reserve_out_serial_id_index ATTACH PARTITION exchange.reserves_out_default_reserve_out_serial_id_idx;
-
-
---
--- Name: reserves_out_default_reserve_uuid_execution_date_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_out_by_reserve_uuid_and_execution_date_index ATTACH PARTITION exchange.reserves_out_default_reserve_uuid_execution_date_idx;
-
-
---
--- Name: wad_in_entries_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wad_in_entries_pkey ATTACH PARTITION exchange.wad_in_entries_default_pkey;
-
-
---
--- Name: wad_in_entries_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wad_in_entries_reserve_pub ATTACH PARTITION exchange.wad_in_entries_default_reserve_pub_idx;
-
-
---
--- Name: wad_out_entries_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wad_out_entries_pkey ATTACH PARTITION exchange.wad_out_entries_default_pkey;
-
-
---
--- Name: wad_out_entries_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wad_out_entries_by_reserve_pub ATTACH PARTITION exchange.wad_out_entries_default_reserve_pub_idx;
-
-
---
--- Name: wads_in_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wads_in_pkey ATTACH PARTITION exchange.wads_in_default_pkey;
-
-
---
--- Name: wads_in_default_wad_id_origin_exchange_url_key; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wads_in_wad_id_origin_exchange_url_key ATTACH PARTITION exchange.wads_in_default_wad_id_origin_exchange_url_key;
-
-
---
--- Name: wads_out_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wads_out_pkey ATTACH PARTITION exchange.wads_out_default_pkey;
-
-
---
--- Name: wire_out_default_wire_target_h_payto_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wire_out_by_wire_target_h_payto_index ATTACH PARTITION exchange.wire_out_default_wire_target_h_payto_idx;
-
-
---
--- Name: wire_out_default_wtid_raw_key; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wire_out_wtid_raw_key ATTACH PARTITION exchange.wire_out_default_wtid_raw_key;
-
-
---
--- Name: wire_targets_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wire_targets_pkey ATTACH PARTITION exchange.wire_targets_default_pkey;
-
-
---
--- Name: deposits deposits_on_delete; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER deposits_on_delete AFTER DELETE ON exchange.deposits FOR EACH ROW EXECUTE FUNCTION exchange.deposits_delete_trigger();
-
-
---
--- Name: deposits deposits_on_insert; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER deposits_on_insert AFTER INSERT ON exchange.deposits FOR EACH ROW EXECUTE FUNCTION exchange.deposits_insert_trigger();
-
-
---
--- Name: deposits deposits_on_update; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER deposits_on_update AFTER UPDATE ON exchange.deposits FOR EACH ROW EXECUTE FUNCTION exchange.deposits_update_trigger();
-
-
---
--- Name: purse_requests purse_requests_on_insert; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER purse_requests_on_insert AFTER INSERT ON exchange.purse_requests FOR EACH ROW EXECUTE FUNCTION exchange.purse_requests_insert_trigger();
-
-
---
--- Name: TRIGGER purse_requests_on_insert ON purse_requests; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TRIGGER purse_requests_on_insert ON exchange.purse_requests IS 'Here we install an entry for the purse expiration.';
-
-
---
--- Name: purse_requests purse_requests_on_update; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER purse_requests_on_update BEFORE UPDATE ON exchange.purse_requests FOR EACH ROW EXECUTE FUNCTION exchange.purse_requests_on_update_trigger();
-
-
---
--- Name: TRIGGER purse_requests_on_update ON purse_requests; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TRIGGER purse_requests_on_update ON exchange.purse_requests IS 'This covers the case where a deposit is made into a purse, which inherently then changes the purse balance via an UPDATE. If the merge is already present and the balance matches the total, we trigger the router. Once the router sets the purse to finished, the trigger will remove the purse from the watchlist of the router.';
-
-
---
--- Name: recoup recoup_on_delete; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER recoup_on_delete AFTER DELETE ON exchange.recoup FOR EACH ROW EXECUTE FUNCTION exchange.recoup_delete_trigger();
-
-
---
--- Name: recoup recoup_on_insert; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER recoup_on_insert AFTER INSERT ON exchange.recoup FOR EACH ROW EXECUTE FUNCTION exchange.recoup_insert_trigger();
-
-
---
--- Name: reserves_out reserves_out_on_delete; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER reserves_out_on_delete AFTER DELETE ON exchange.reserves_out FOR EACH ROW EXECUTE FUNCTION exchange.reserves_out_by_reserve_delete_trigger();
-
-
---
--- Name: reserves_out reserves_out_on_insert; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER reserves_out_on_insert AFTER INSERT ON exchange.reserves_out FOR EACH ROW EXECUTE FUNCTION exchange.reserves_out_by_reserve_insert_trigger();
-
-
---
--- Name: wire_out wire_out_on_delete; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER wire_out_on_delete AFTER DELETE ON exchange.wire_out FOR EACH ROW EXECUTE FUNCTION exchange.wire_out_delete_trigger();
-
-
---
--- Name: auditor_exchange_signkeys master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_exchange_signkeys
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_reserve master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_reserve
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_aggregation master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_aggregation
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_deposit_confirmation master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_deposit_confirmation
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_coin master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_coin
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: wire_auditor_account_progress master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.wire_auditor_account_progress
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: wire_auditor_progress master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.wire_auditor_progress
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_reserves master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_reserves
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_reserve_balance master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_reserve_balance
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_wire_fee_balance master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_wire_fee_balance
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_balance_summary master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_balance_summary
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_historic_denomination_revenue master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_historic_denomination_revenue
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_historic_reserve_summary master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_historic_reserve_summary
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: deposit_confirmations master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.deposit_confirmations
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_predicted_result master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_predicted_result
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_auditor_uuid_fkey; Type: FK CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditor_denom_sigs
- ADD CONSTRAINT auditor_denom_sigs_auditor_uuid_fkey FOREIGN KEY (auditor_uuid) REFERENCES exchange.auditors(auditor_uuid) ON DELETE CASCADE;
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_denominations_serial_fkey; Type: FK CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditor_denom_sigs
- ADD CONSTRAINT auditor_denom_sigs_denominations_serial_fkey FOREIGN KEY (denominations_serial) REFERENCES exchange.denominations(denominations_serial) ON DELETE CASCADE;
-
-
---
--- Name: denomination_revocations denomination_revocations_denominations_serial_fkey; Type: FK CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.denomination_revocations
- ADD CONSTRAINT denomination_revocations_denominations_serial_fkey FOREIGN KEY (denominations_serial) REFERENCES exchange.denominations(denominations_serial) ON DELETE CASCADE;
-
-
---
--- Name: partner_accounts partner_accounts_partner_serial_id_fkey; Type: FK CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.partner_accounts
- ADD CONSTRAINT partner_accounts_partner_serial_id_fkey FOREIGN KEY (partner_serial_id) REFERENCES exchange.partners(partner_serial_id) ON DELETE CASCADE;
-
-
---
--- Name: signkey_revocations signkey_revocations_esk_serial_fkey; Type: FK CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.signkey_revocations
- ADD CONSTRAINT signkey_revocations_esk_serial_fkey FOREIGN KEY (esk_serial) REFERENCES exchange.exchange_sign_keys(esk_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_accounts merchant_accounts_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_accounts
- ADD CONSTRAINT merchant_accounts_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_contract_terms merchant_contract_terms_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_contract_terms
- ADD CONSTRAINT merchant_contract_terms_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposit_to_transfer merchant_deposit_to_transfer_credit_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposit_to_transfer
- ADD CONSTRAINT merchant_deposit_to_transfer_credit_serial_fkey FOREIGN KEY (credit_serial) REFERENCES merchant.merchant_transfers(credit_serial);
-
-
---
--- Name: merchant_deposit_to_transfer merchant_deposit_to_transfer_deposit_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposit_to_transfer
- ADD CONSTRAINT merchant_deposit_to_transfer_deposit_serial_fkey FOREIGN KEY (deposit_serial) REFERENCES merchant.merchant_deposits(deposit_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposit_to_transfer merchant_deposit_to_transfer_signkey_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposit_to_transfer
- ADD CONSTRAINT merchant_deposit_to_transfer_signkey_serial_fkey FOREIGN KEY (signkey_serial) REFERENCES merchant.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposits merchant_deposits_account_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposits
- ADD CONSTRAINT merchant_deposits_account_serial_fkey FOREIGN KEY (account_serial) REFERENCES merchant.merchant_accounts(account_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposits merchant_deposits_order_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposits
- ADD CONSTRAINT merchant_deposits_order_serial_fkey FOREIGN KEY (order_serial) REFERENCES merchant.merchant_contract_terms(order_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposits merchant_deposits_signkey_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposits
- ADD CONSTRAINT merchant_deposits_signkey_serial_fkey FOREIGN KEY (signkey_serial) REFERENCES merchant.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_inventory_locks merchant_inventory_locks_product_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_inventory_locks
- ADD CONSTRAINT merchant_inventory_locks_product_serial_fkey FOREIGN KEY (product_serial) REFERENCES merchant.merchant_inventory(product_serial);
-
-
---
--- Name: merchant_inventory merchant_inventory_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_inventory
- ADD CONSTRAINT merchant_inventory_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_keys merchant_keys_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_keys
- ADD CONSTRAINT merchant_keys_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_kyc merchant_kyc_account_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_kyc
- ADD CONSTRAINT merchant_kyc_account_serial_fkey FOREIGN KEY (account_serial) REFERENCES merchant.merchant_accounts(account_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_order_locks merchant_order_locks_order_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_order_locks
- ADD CONSTRAINT merchant_order_locks_order_serial_fkey FOREIGN KEY (order_serial) REFERENCES merchant.merchant_orders(order_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_order_locks merchant_order_locks_product_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_order_locks
- ADD CONSTRAINT merchant_order_locks_product_serial_fkey FOREIGN KEY (product_serial) REFERENCES merchant.merchant_inventory(product_serial);
-
-
---
--- Name: merchant_orders merchant_orders_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_orders
- ADD CONSTRAINT merchant_orders_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_refund_proofs merchant_refund_proofs_refund_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refund_proofs
- ADD CONSTRAINT merchant_refund_proofs_refund_serial_fkey FOREIGN KEY (refund_serial) REFERENCES merchant.merchant_refunds(refund_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_refund_proofs merchant_refund_proofs_signkey_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refund_proofs
- ADD CONSTRAINT merchant_refund_proofs_signkey_serial_fkey FOREIGN KEY (signkey_serial) REFERENCES merchant.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_refunds merchant_refunds_order_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refunds
- ADD CONSTRAINT merchant_refunds_order_serial_fkey FOREIGN KEY (order_serial) REFERENCES merchant.merchant_contract_terms(order_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tip_pickup_signatures merchant_tip_pickup_signatures_pickup_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_pickup_signatures
- ADD CONSTRAINT merchant_tip_pickup_signatures_pickup_serial_fkey FOREIGN KEY (pickup_serial) REFERENCES merchant.merchant_tip_pickups(pickup_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tip_pickups merchant_tip_pickups_tip_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_pickups
- ADD CONSTRAINT merchant_tip_pickups_tip_serial_fkey FOREIGN KEY (tip_serial) REFERENCES merchant.merchant_tips(tip_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tip_reserve_keys merchant_tip_reserve_keys_reserve_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserve_keys
- ADD CONSTRAINT merchant_tip_reserve_keys_reserve_serial_fkey FOREIGN KEY (reserve_serial) REFERENCES merchant.merchant_tip_reserves(reserve_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tip_reserves merchant_tip_reserves_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserves
- ADD CONSTRAINT merchant_tip_reserves_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tips merchant_tips_reserve_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tips
- ADD CONSTRAINT merchant_tips_reserve_serial_fkey FOREIGN KEY (reserve_serial) REFERENCES merchant.merchant_tip_reserves(reserve_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfer_signatures merchant_transfer_signatures_credit_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_signatures
- ADD CONSTRAINT merchant_transfer_signatures_credit_serial_fkey FOREIGN KEY (credit_serial) REFERENCES merchant.merchant_transfers(credit_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfer_signatures merchant_transfer_signatures_signkey_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_signatures
- ADD CONSTRAINT merchant_transfer_signatures_signkey_serial_fkey FOREIGN KEY (signkey_serial) REFERENCES merchant.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfer_to_coin merchant_transfer_to_coin_credit_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_to_coin
- ADD CONSTRAINT merchant_transfer_to_coin_credit_serial_fkey FOREIGN KEY (credit_serial) REFERENCES merchant.merchant_transfers(credit_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfer_to_coin merchant_transfer_to_coin_deposit_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_to_coin
- ADD CONSTRAINT merchant_transfer_to_coin_deposit_serial_fkey FOREIGN KEY (deposit_serial) REFERENCES merchant.merchant_deposits(deposit_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfers merchant_transfers_account_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfers
- ADD CONSTRAINT merchant_transfers_account_serial_fkey FOREIGN KEY (account_serial) REFERENCES merchant.merchant_accounts(account_serial) ON DELETE CASCADE;
-
-
---
--- PostgreSQL database dump complete
---
-
diff --git a/src/auditor/revoke-basedb-libeufin.sql b/src/auditor/revoke-basedb-libeufin.sql
deleted file mode 100644
index 7192b1db3..000000000
--- a/src/auditor/revoke-basedb-libeufin.sql
+++ /dev/null
@@ -1,161 +0,0 @@
-PRAGMA foreign_keys=OFF;
-BEGIN TRANSACTION;
-CREATE TABLE DemobankConfigs (id INTEGER PRIMARY KEY AUTOINCREMENT, currency TEXT NOT NULL, allowRegistrations BOOLEAN NOT NULL, withSignupBonus BOOLEAN NOT NULL, bankDebtLimit INT NOT NULL, usersDebtLimit INT NOT NULL, hostname TEXT NOT NULL, suggestedExchangeBaseUrl TEXT NULL, suggestedExchangePayto TEXT NULL, uiTitle TEXT NOT NULL);
-INSERT INTO DemobankConfigs VALUES(1,'TESTKUDOS',1,0,1000000,1000,'default','http://localhost:8081/','payto://iban/SANDBOXX/DE221125?receiver-name=Exchange+Company','Demo Bank');
-CREATE TABLE EbicsSubscriberPublicKeys (id INTEGER PRIMARY KEY AUTOINCREMENT, rsaPublicKey BLOB NOT NULL, "state" INT NOT NULL);
-INSERT INTO EbicsSubscriberPublicKeys VALUES(1,X'30820122300d06092a864886f70d01010105000382010f003082010a02820101008b45a51bfb7d2631622bd4c9c6927af3a1d2353df012123c529884b44b87fc9726de0a32076ae9125c775b14b9063d258b340709bde79fb491a77217b6840b1a25e28771a6067460b8a19a72baff6ce273b1e92dce20546e70e74a71c2c96a7a45a0b9a24d9d7ad3f014f284e7d28f4cb8c937321d4b5feef500f1cf8821bf0ffe02f8e9eccca33734aa113b4d532937ab922e5aca318c3ff671fbf56d85a6742d751ec098fc1c3841dcf7b6b77fcab735d1d104ed4d63fc0c3881f1823c9f6ed43c486b44db9398eb438f03523db91bacf417f2bc46f985f75dfe24d2546e2e65d748e6ef54f84933e28e9e604db5ae39c56f7b21f00c7394bd58b42d3498650203010001',1);
-INSERT INTO EbicsSubscriberPublicKeys VALUES(2,X'30820122300d06092a864886f70d01010105000382010f003082010a028201010090884642528b7cacb40d3256bb9cc0a482ee74d393d341504a623c4189e707d5eea02914f1dfb7499f9119810a063902736f6255e98609dfaa1a5da1fa85fe27ff35459a836c058f22dff586eedb56d48fdaf1e639d28bc4e856a7dcd407e72fd61065c213c8a25df6aa6203216c751471dd8e2005e2b821a61c1dc6e5fec4e9bc53db3f3138ceb4bf660551fb5d8a4e11bff76e18b151ce4d478490799cc3564924d85d95746a057c2d376a22726c74ef63fbedc42d0afca253f43c0000602f0325c84008a4a68c0cdcdd31a3db0677053a88bc8a929604f02f4bca99a618696ecd57941a98e0644c97efed0d469002ab733b841c23c01bd21a0d401139fb630203010001',1);
-INSERT INTO EbicsSubscriberPublicKeys VALUES(3,X'30820122300d06092a864886f70d01010105000382010f003082010a0282010100b980b760d30d0a6e8ae94917b9fad6cabdb17913d6995c43f054020e1e62b69591ea67c5bcda04024074b10136e9a49924e253fe22867de077f09a948d0ebbbfbca5976603e9e9b9de7d4b90131ad8dc15fd1cd1b5d6cc8e8715e274c0264d739dc421e234c3c616b6e7f40ff1294800106ca952c440a04335b3423bf188d3d69574c809f99618cd69061f0aa35c71c7c77be6920f41a0847ac7f955ec3ceb31244284218a128eed7dc8c081d8b0028a68ad7695cab623cf246cb84424c3a862c14c8aa07da9b6ebf13a0f71e7be39c661c21dbcb2276f8da0344ada6deef2320759539968e2d80184434b97b22c299875f2ba3f2ed2ae55bcaa70ba9aa62bb90203010001',1);
-CREATE TABLE BankAccountTransactions (id INTEGER PRIMARY KEY AUTOINCREMENT, creditorIban TEXT NOT NULL, creditorBic TEXT NULL, creditorName TEXT NOT NULL, debtorIban TEXT NOT NULL, debtorBic TEXT NULL, debtorName TEXT NOT NULL, subject TEXT NOT NULL, amount TEXT NOT NULL, currency TEXT NOT NULL, "date" BIGINT NOT NULL, accountServicerReference TEXT NOT NULL, pmtInfId TEXT NULL, direction TEXT NOT NULL, account INT NOT NULL, demobank BIGINT NOT NULL, CONSTRAINT fk_BankAccountTransactions_account_id FOREIGN KEY (account) REFERENCES BankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_BankAccountTransactions_demobank_id FOREIGN KEY (demobank) REFERENCES DemobankConfigs(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO BankAccountTransactions VALUES(1,'DE221125','SANDBOXX','Exchange Company','DE020224','SANDBOXX','Name unknown','CVRZ3HNSZXCXX1J58PX9NAWKHNRJS52G4NMFWJHW9T586MWZDQDG','8','TESTKUDOS',1660992760665,'RD95P1QY',NULL,'CRDT',4,1);
-INSERT INTO BankAccountTransactions VALUES(2,'DE221125','SANDBOXX','Exchange Company','DE020224','SANDBOXX','Name unknown','CVRZ3HNSZXCXX1J58PX9NAWKHNRJS52G4NMFWJHW9T586MWZDQDG','8','TESTKUDOS',1660992760665,'RD95P1QY',NULL,'DBIT',9,1);
-CREATE TABLE BankAccounts (id INTEGER PRIMARY KEY AUTOINCREMENT, iban TEXT NOT NULL, bic TEXT DEFAULT 'SANDBOXX' NOT NULL, label TEXT NOT NULL, owner TEXT NOT NULL, isPublic BOOLEAN DEFAULT 0 NOT NULL, demoBank BIGINT NOT NULL, lastTransaction BIGINT NULL, CONSTRAINT fk_BankAccounts_demoBank_id FOREIGN KEY (demoBank) REFERENCES DemobankConfigs(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_BankAccounts_lastTransaction_id FOREIGN KEY (lastTransaction) REFERENCES BankAccountTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO BankAccounts VALUES(1,'DE444609','SANDBOXX','bank','bank',0,1,NULL);
-INSERT INTO BankAccounts VALUES(2,'DE408658','SANDBOXX','fortytwo','fortytwo',0,1,NULL);
-INSERT INTO BankAccounts VALUES(3,'DE083511','SANDBOXX','fortythree','fortythree',0,1,NULL);
-INSERT INTO BankAccounts VALUES(4,'DE221125','SANDBOXX','exchange','exchange',0,1,1);
-INSERT INTO BankAccounts VALUES(5,'DE178781','SANDBOXX','tor','tor',0,1,NULL);
-INSERT INTO BankAccounts VALUES(6,'DE543459','SANDBOXX','gnunet','gnunet',0,1,NULL);
-INSERT INTO BankAccounts VALUES(7,'DE830803','SANDBOXX','tutorial','tutorial',0,1,NULL);
-INSERT INTO BankAccounts VALUES(8,'DE816659','SANDBOXX','survey','survey',0,1,NULL);
-INSERT INTO BankAccounts VALUES(9,'DE020224','SANDBOXX','testuser-cd3gzzhb','testuser-cd3gzzhb',0,1,2);
-CREATE TABLE EbicsSubscribers (id INTEGER PRIMARY KEY AUTOINCREMENT, userID TEXT NOT NULL, partnerID TEXT NOT NULL, systemID TEXT NULL, hostID TEXT NOT NULL, signatureKey INT NULL, encryptionKey INT NULL, authorizationKey INT NULL, nextOrderID INT NOT NULL, "state" INT NOT NULL, bankAccount INT NULL, CONSTRAINT fk_EbicsSubscribers_signatureKey_id FOREIGN KEY (signatureKey) REFERENCES EbicsSubscriberPublicKeys(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_EbicsSubscribers_encryptionKey_id FOREIGN KEY (encryptionKey) REFERENCES EbicsSubscriberPublicKeys(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_EbicsSubscribers_authorizationKey_id FOREIGN KEY (authorizationKey) REFERENCES EbicsSubscriberPublicKeys(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_EbicsSubscribers_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES BankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO EbicsSubscribers VALUES(1,'exchangeebics','talerpartner',NULL,'talerebics',1,3,2,1,3,4);
-CREATE TABLE EbicsHosts (id INTEGER PRIMARY KEY AUTOINCREMENT, hostID TEXT NOT NULL, ebicsVersion TEXT NOT NULL, signaturePrivateKey BLOB NOT NULL, encryptionPrivateKey BLOB NOT NULL, authenticationPrivateKey BLOB NOT NULL);
-INSERT INTO EbicsHosts VALUES(1,'talerebics','2.5',X'308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100c6010f3ff21e60bf52b9a6f47a2f5095fb3b50941fc8b0f2e9cae4e08206aa66c9442aa901bf70ee966233746b1c71b15cf827741d41b5cd25a280b37527bc14a816b6b1f3fad3657fd1d360067925507a423fb74fe94221a277c4d2eef038fbca1857ae67872dd7eddcf7a975cf36eaf3e78cab8baa295e17bf1a37fc4695f7e70c7fa8bdfca4b5e12e02f0ae6a7d348bba44090367ad071712a3c1d7fc51695db6ee3ab022600199d1b54ba062116faa4817838e42f38da201e8bf6aef3a595efd56a81e4a6dcbc29c9c5efb9f8631f29488d9e90a513823a528fc47fc2bb1cf140a416a3ace8be037b0311b04e0076af4ea3543e96a112709922a1740009b02030100010282010017a050bd849a7358e0fa1e1dd5e6876b1e0b39d632e4b39888a5192260e182bbb9105536cd6a968321969e252a12bece3715b53f79ae398f3d0a62e906f5b2cf942f01a5c2430fae70ce0cb6cc8ef010e645b96c9a306f1fac4f36412519acf2fe6e6128025a72f1ed040cd93fa176201af26a2a9e03b3e3f2596f3b76f2c53a1554f2a7bf6981b8b35dd6d3a6aa5fb58577589aeba699127b973bd0f82e42da76ea437257fc5f6b55da0dbbfa574de246752454d0ba8cde3fa1311ffbaa6f1df5f286ed43dfb932946697a4f91edca9fca8f42cc9be66c26337b517b8bec8166e7cabb72412e1927454314f9b9dbf9edbcf0adae1af62daa541038973214e2102818100fcbb4c96b3bec29bcb000f840769f9de86ec1323a125fd2276a660991dc2e675bcf3d148506b83f6a5fe122c530061e7319dccfcdf758087ddeb75da45b97ecfb8baa9b7cb1192c7cc0672cd6d33781c97511d7ebfe004f50a0633868c2d01062264abec7a165ee74bd0dda657a1fb6508bc8d19ca8eac5bb25ea9c2d32caf3502818100c89093f2ad190cd95d11b9c25f91eaa7f3e28d020d7c10c208fe27ea65a87dea45dc91fe2d791286a7b391a3d1449bb55fef786c96fdb759afadaac54cad3207fa4fdf5c2215ba1293af0a6ae6f27a7aaa63bc5ad60a76239bb684dd620772422db24ee2e407716eb2d352beb7f317075ca87f5a2dfc712b6f4f59b8e39bda8f02818100b52d789c58c31a3421752baa54be4e588e94d2abaa2cd7a94b31bef24579a1492a6a07d03586be15a5addc4d563b61f42187a49a6b7f8ae2dbde9ea01977ff46de814285f5d7e547c225a54b4b4ba881a6a089ea81971136b136fcdd29c461858a466d519bbc49d0ba734352aa63ff1ad1068a88c0c34320816087869968e1390281803b3c5835e861e9a599134f25d54c275e0b6df1ef9543fb3f13a0dcf121ad2de32f5701d76c5ec1d5fb59d1bdec64b30852994b9be6cc708690985e437f6df7c4db6d13af06721c4eb8478e701c5da946e9642391407e3e7e2dd32e52a44d46b5bd0158c3324df0769d6244a2077a4866e83aebc21aaae051cfc243e19377c8890281805dc37247a029577e43ea4e2869eb5cbe18766576c39c2c9de1013b9eda07d94c31d7f66cee735324df0761d5befc09ee7ed85312f4373f6fa051dc58bf152ad6cbe985fbf460989abb02f8ca673c7d7b27a26b87697bcfe61a6e0c79d33acdb53d14059eedfe88639cfa2dcddb47da085644470f39ed731ef501006e2048c6c2',X'308204bd020100300d06092a864886f70d0101010500048204a7308204a302010002820101009c86f065677481b259c68e3d9b6cf33e32a4802e3dc7d96d60b6d8b158d56579604072a9244c24f640e15d3fc3d1f0055a6dcb4d298a21db570e3d795f7c8c5de2894c769673e2539ca0043a78e61deb3f383a13c5cc091400e6c300249a0cd161007d5d3f0946233a422418dd88c7aba6359f8d3e42ce19d4ca8203305d6e0cbb92dbf668997b6c4e7bccd9070ef9c742fab237d12c2bbac8e883aad4fcc0a3f1371416cc79bad1931fb2cb1a8f18559f0bb879737aa62fee955d1f4efbed3b4758aa7d079c3ccc01bccbbfa9ac100da3c848c766492cc82efd1317e1e38263c7fda9eb4eba6a15ee3d9ccbbae5c706928c199b38d0384236320a9e9ad849510203010001028201003cc8c20dfef0e574c71c2e1c8a80f2acd2a9c3053204abd0a7e019a235271972db07ebfef71382bf064efe11470ffdaf76807094946f09dacda1c009a4250fb55dc587a5fda31edeed51ce928e647e75de650d58a45529a954f847fd8439368510b049feadfe01f8a8250b3384c41b15f3439ba413eb8971ca8aa1966f6fb8ce266a52169c3e4d7d7143976dd0839be70542cc1eb97103248470ed01112d176259c93e748e93b5875c7378c6fee7d9c0034b28c516daf362328df5e24dabe48c8883a09c1eb40762943bef803f09f7548a766ea474e7e936dd3ee1a51d245bb4a660facaac10158d74d53347bfee7636467038c9f233dae8c1e588dd8bb8240102818100f47ae88c604736c7e1d8e7b758a401c9172ac1943e06c754df5f5d0701c9253793d3fb25c34eb807adee3d2b962684daeb19e547180a8cd960d4eba1549b701e162fdedf8919b621d8a999d880feb32507fa919d75522705acc34da44c0b26533fa09d96b9dd08540151624180c6f548cd03ee300494344f25ccd0e26059976102818100a3e71456797ecfd200fec95ad1110ec7b349b31a6a5ea97287c4b9bdefaab306f57b7a558df17e292c7b8a8fa5bc3d604c39a52a1cd4a54e86fd93c00cb3cb6dbbbaccb44120f4146823ac94780f69eb77a97e000002687347a51c8069a1a166989a31da8ed7880be5216b50f598c5be5e5cc87a33b69f6a0d9dbfc5131127f102818065ae0cb3fd8300d4a728e84e880e4633d56fd1ed0ed310ea4ab0c5e7192608559225130a44ada3ba85eb5503a0c24a75265cb1d01cbe9e8ff646f7ed345c25884de00108e5638d2d8c88155547692726daa7ab125aee1d0eae28d84ce1d7ad4be865abc5396e257d92c2bf63d0e46eb5a596e1e494b2f3028c0d203f56a54c610281807572b6fe285d98aa119081d5140f371a1efd66dc3cf0cc5787b68eaaee3cd1c0e0d3b49bedf4e8c4b45d6ab2f8be64f4c66a6052470a91d22da533e4e0b54dc6ba49673a9b98f38e53f98c476fa90beb717a01121aef9ecd4cbfa226da8ab9cf7cf6b156be18f02225f4c6a3e2f9b06973d0e4cfbc92d6b4f640de14684f58e1028181008ecc02dbd309ef7d5a7420121b64ed5f771730feceac18c38323a38e5c1a407af953537f3feb8a8279cf503b54e98365b25d267a3050a4af688a58a4dad34fbf840f87c39f9dbdca7cabf6997ebb063ec3d12af245af812fe96239b303ed47f3057ae1905b179b77095fc66db6ebcf7c1ec89fa62f1bef52fc4eb0623ce7b9d7',X'308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100952d1b1bbc7d3a08639e8afc234dd8f2ecd08343df7262a733a3c3255dbae958b2bd1daae2450c5098e505d076c68aa629b2e07c46cbec1328df958f048742c1deb3d1c8692763b4e26c0a1e4afe4fd68bcb465bf8a1d67ba30478aa816a18f285809a1f787f8ec4542159a7308206858674db20ea2d6d6e72b3a555c7caad591c32e10ddc9d5d7d32d2ffd566c05f855717625c555c50c98cf2a435c620420657c19f56054b5162a60ab1ee6e8adb17141c123b5848ff303f4994ea4416c3a5ec5ce5325853ef54f3a7f1cda1cc9d33a22bd28921ce8ccc720b0cb8accc2aa80b3fc400b6c8b3cff78f8ff3760355a84d7e2c0b9cb15558ce0811642ba533130203010001028201002d7ea31cd36051998b6027bcfbbb5b25c309586f13af5bdce847d2550bffdbf87c126700dd9ef741814f9f755333fbc6ef42a969dd6185aed63151f85b06315ad4e37c602589a8c3daa5de741ca4f08e5af5f4904a0479581d8058988f7d5efc5fb0b7d04f3c7fbaea797d511adf1cc40e1c8753c377753f50e5eecf796e1b6d70a5761778b5d8e973f7f392a488b7363c363f43640f30d79b9abd97a9c1fceb215582505f6a97c1a1ce8b2ea3f3e873e8ca29217c29f8e75506430aa7cc963ef1a0e6598ba27a282283c179ba96d86c095e41cae92a817a64aa340ac41dc813c92b3eea39b61eba8872b72f2415d31c01ad86387dbb6b6a5516b6d27882979902818100dd76c23731753fb7662ceaa591996066cc0b1a22d9836ac405df666c1bd217fc9bff822ed92dac10244115a53554b09460256a66482c532f9ddacf71b9f16c151a3f34c098ac9c9f8d41b5a8b3dab3186139f3dfa3c0d24367bd897a3d4e4d4bfbb8498ce9928c978acce41aaa613684d673e7139911d8f176a5b460eca86f9d02818100ac707d9bb39b2a5f487976e4d9f0244a29b2d29c3ea0fa87c1c8b851e0976b4ec7a6251f0e2856a9da409cdf735ab74032f507ab3051af4709f42e9a475f7a7cb9e276bcb402b349d07425188b0190ec7123868d2c78d967988b5e2a07a27e77e08f88a00896255e1e1361994d1664a37fef62d3270377420634581acf21a66f0281803ea3fdb130db1227a4cde59ce93ef1c681c64e213756f596f67646f923315cb985c252a73fa4ac7b7055bc729b50161611cfe37584ca8cc8f62452f2befe6b6cd89cb2261bc90f100e1b5cef97d7af3aa11d8c3e608a04af2e23ad44171d13bdff38140db86f4c36fcfa91367da4bb8ffd3c914ab8cc1489cfde74d3c97ca6fd02818007e2b90bc6c1e0c52cb649469be4cc740bc61eb58073b221452e5da778e2d3c86d7ede91b5ff083f8a388c33f7bd7d45d54eb9440dd89e705c372b6e68b7280dce1e5a19b50dae8f40961f20293330226fe615001db9850fa4bd32d82f33321f5f489111e8729d50d9853f6058531ed50f43ae3c43bb77d7b01af2b07f2a65c702818100b0f93dac3c9901bb206c14c0610a66c803258458f9bb7c5de335bfeccd329a60970317ecf78a20bbfb2cab47d995a99c1f1e581ddb61586e1af0690e51ef925f22a1db6e0ce83001859b4668d0f6bced84c8afafe3631669b328f270fae84e1355fca3063d6537cbeda93672032f24a680ec7ba17e21a112484243576087178c');
-CREATE TABLE EbicsDownloadTransactions (transactionID TEXT NOT NULL, orderType TEXT NOT NULL, host INT NOT NULL, subscriber INT NOT NULL, encodedResponse TEXT NOT NULL, transactionKeyEnc BLOB NOT NULL, numSegments INT NOT NULL, segmentSize INT NOT NULL, receiptReceived BOOLEAN NOT NULL, CONSTRAINT fk_EbicsDownloadTransactions_host_id FOREIGN KEY (host) REFERENCES EbicsHosts(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_EbicsDownloadTransactions_subscriber_id FOREIGN KEY (subscriber) REFERENCES EbicsSubscribers(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO EbicsDownloadTransactions VALUES('FDD3176399301085E66348E784A65AF7','HTD',1,1,'KFCtGMUY51wDjX7qQlw68vNo1gUeai2t72k3XJfVJ4sh6Gr5mRHi58uTai14372yjTafK07789DrGvY7Meqp7qbEs33uHZ77poogABVWjjp+wyXpCjcUcOzD9yjeTCeMASg1KdUvAmCj/HB9DTk9ra71i1AIr40YQjmVX8QhsTk7bUE7lIEE0myXuY/NT3QI7b/4aVJB5b22lQsYdtTKiMo//3DfEGhRbRrn9XiReda4cjV1S2fTyBNEoVW2Xa4b/WheORbSQfItFwpTWeVK7ySWfLxbjm4/iuFWaR7rjja+1x42EkhJsKymy5diCvXxO3O/S6b87aZ/zJQzimtYTzXBlkAxcsM+eDf4ZvDY0b3T9/Hm9B27uA0MqOkNOfVDZTeVD3atfbwqaRrkP02inESMRWWQtNj4Pm1gPBdN7Y6BRIYdSQ/u57c8reGd8AHlzdj6/SRufePnOhTiPNLJ+CQETlZZpF9b1BUm04lHxE5K22ezSBsrS4TMj5ai4Kax6uI2Dgd0Ld+xrk0t6iqHvYHun0fKvgPRYdwBwiLm5FA30R94VoMYcZbcaixB2ooWiaBVxAenX7H6KRY4RvrihzluDeRLRtvcTc7rv+Z6D3+TmW8hcn60TzNwoR+naQdoTU0WjG2QFhnrt+iS6P4lb50ALjbtcENLnY4sHTJeajQ7UESB3HEbzUVoTX58U1cg9Uv6OptEVcriCK1n9RuGuA==',X'5ae5adb1c009ed08631f3e0bd1f360d1c41d4602c6f20b5be20cf4b80a69710d6eec0800c52b08049ba5671a9cb12c227ea7e0528a47736aa894838401d4f6eeb1fddc2106a81ef65abea349a075960ead9cd9d2edb5aa7a4e10647956cf1afe7524fcf47d6fa901c8dcadb0e43c464fbcac3692f0c7379753e9dca3d381a10d94033e65454383648514ade4b03599c7ac2f88fbe782b216a6092bddc8c089c91a3edbd0baaeeb9c1cfc764e8155dd9c2829730a640d3c27d10309430c6184261fed4f4e4c0a44cd5deb794e4ed9c74b77900f937b0c9059c10c97565bc45ab6a82289a24f0db990de9750ea7c1ef0fec97dcbb54260486bc86ad58106933762',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('A8DA9D49A66DB5E83F0CB56365AA1BEB','C52',1,1,'DmtGgcSCb/1QBtK0XGuJ63ofxV5DyBC5LmDKcnvSkjx9Qjt5jegXZiEYlThoq34n76RtVKnGE6Ro2Zt0mWFNvf0tCc5VGd6NYK3uQ+q+VrwZ9x3zkcE2cEV4BkA2w6niBq7MGCeq2Ahb2kQOXzV+KX4xmE/djzQZ87IJXmA0rmIJt3JxlKPQ6cIlgtAtzjqMc0/y+WiZhJOYx09SK4XmyDmCYFv/aJm4PvHVLjXiCdgbASa0AxC1gIOu276JVTUIl4soRVC6kn5pgqvpXuJaQ+9OruVUXmk8UTDQTFa8hYEnMzO/b+JT+VQ9HVnBHbgJsQpTMiK/FHcLp3YQJ0OrNyrcGrb52zDz5McrCp56zBu6yFrsJQ7l7/QHky1yLe6qLg7GAUkGJEPqxUPGe5zBGO3HXRQETvHX///op3EaLLE7Wdp7oRz7Wm52fEeKeNJ86P0qp+f86FsgogYx4s39Lyy7Ixus5V2FFSH5WSBc0jlzeXPqI+XDo7b+u8YHrZqJ9r19e2T8it0OrDQybEjrdIEnNL6lDbDjPK7PVB4/RR9YWEMXFS7gQL3CfR3jkITknyCrvilbdY+uyET7/kI+1CqYy4YHTSaZpaIwfmSzWPNnBsNy2Zwdh6803STjCyvlKJPYFN8KzOL/9dQPAo+viutBi1rKT8bqh9UtYXp+CxAWbWVQDG8BG0UAJ7MeZkOTXMgX6fZMqPP9enx6RUsvCWW2WetpIgtValjdQNUViTEiGXLHoWrQyxiBqSkb5hSD3C2t3u+8psYuQF6ykul/bpuq1NE/I/iIpmUi0/mmW4cofw1g5cCQM6X2h+soLaVX6YYOiKylYl9JxtVWElBdgH+GoMyvt3HZZqF4mpp/WZI=',X'5b9e2ac0a70be77d8a733b84e889fd332ebe5ed88e2f31b344738cac7833e8a9fcf89c16e1daac1cb1c191d3ad1c74097e940e9b13ab6832121e15983aa68909e6c8ab4b4031bc4832a8efd640393a8ea49d9f6cb12bbea0495639ca3a407cd56fb79bf75da7a88ed4eae29c0c0e86d2a78597d6e07d9254fe521c7b3388a14b243bb86a7e378f181124e03a6b371652dbf350e28674383433bb62d1d03c2ab9cdbed9fd27cb3689fb0a8abad590ef5dbfab913d4733b733447bc71b1ebb281ac64d9457b85418911a5e15b4403d3df77956c704d57f99f260fab89cb733a120055c718e9dce64890a1c524ca4854fc448d72c1e73dd3e59a6d373ee4f0749f3',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('564FC70D91BE269B9A4A4EEFBDB711E9','C52',1,1,'NrXGsbHl98YFavjA+cqaIaFtJLtCTOnONCVbJ1RwGRRYu4+tPSljJ9A2gmzYYwsNu6UEm/gGam4va3aULlt539REat0RSQzUeFjzEGWuOzzIjUyWzdpCNAiZwC3D6vYp2GLdyRKsxsFRSF6dhvJbu1GtjQXF26J6nZK0aLsrqqxOLmjubEHvAFM0Is/EE5RrIWVgLAZASFPiq2ZeeauuEWsRk5wJYaf46KVXpR9cShAmaAgu821Rm8ndKXjUmUZrtHZu//hUWKn/+gN0gzG9o9GKgMdbVJx+drahDbQe0CJfISe/Mz7CKfGc7+AMbWtpbyY7y1JBk4mJb9lpGdnvOk/T88qWYHM3x1Qz3jaqNLlrJrYk1rdd5SQ+zziseNyxvs/r9/tVFnPZMaxs8NT3EmRUIP6JBwrMMGTIArF/o7TJXv+dCFO1ysQ5+nP4ie3ghC43oHiJ2ueSfA4lHfRJezdVfp9Fi1Hi9J+SEo11vwIrMvPvOLDG+aBL4ir+ThPtCK2wVkBq0C74jPb3Zzw4XKH5TVwGSQLrbMbFPkuGphrFKw4Nrur+yzd3zh7ZUdsNpok63DGur7+rZV+BE235+rIJoiLAhkEZLNjntDoumWQHkuQUVQf3o39fU65G0f+OOEy9rDuKVe3/sLJhTfGSc53Ies/iadezWAkXHpBXOL+Bt3EAk1naWrHcUuiHNrKKU2+XsvtLZXNElNQKMGWX04kH3mhxjVoyd3w1iAf5yrsaNglp/Gyg1YDf2klYXOEr6IHXyrstxYIPO3RGxKre6F6kOAXO/vZf2+a3djzWNIKAmCze9od5XCm61jaadcW98BnWCgRT1bIrXjB4z0bjxA0vWaqphSpPrmMLCpD+lFo=',X'7eec6de7f25828d1db24d45f0e4d7a4d7f47852f3efb595e7f9d07bc2d9dd3d9d9cae2d9d0f197aa082a7ba2b6a12c8b20bd638ec30bbd3284de8121fbee92bc94257bfb9c83e8df77ecd4e7340630377467888b0e62321d3de65133ac9977ad0cc3787c36633a20051871bf49239ee730b3796c92160c6d53f45b7434b100fb4b98a98e6ff14da8ce905c8f4f6387880604eacce26c921b11c0da5c9d1670ebdeec6bda2ac70fbdc17dfb423e514054372ef4c57085f9a653c032f039b40b662a06a78df56cb504fd20824701c9bb67a1fc36bd65875569fdcd1b9adce07711f6bad88a751cc4217c74cf7e5533adaa9609c37394ac6c7839f341b5a39fa6c5',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('5D0EF5F27CFEDAEEDE59458C645489A2','C52',1,1,'7e1vFcu0t5fMcT5Z4NTZgUEt+I06w8Dapsij16+GbxX4lyGRCU573dl54FzQf0aKMzZUET6PcI1FsHyePk6XJqjSYKybLefqc2Ka4LN8cB7B6oef/tIwwaYFMo5tzp+pzdNsWc8E6nvjM53SVu2ej+Z/+PX3WctS9Q3LnTwpAlMmKUeZ7MUv3hixlls4EP8UK63jw8e1x/TkCReTe02H5OM9PSqpQlz/qD9MwQ4QUAZmFPuYeM8I2GNnp1IBEB4Cwhj/bGzoa+Y9kz55l6p5Q3vGAX59m1gcgflXAWbeBhDYtbD+nnwK/icCFNxTcOGfNAFnhmTzgQM1B24vza70oBoRoFLOivJo1i6HaHrDCSlsOyX0gOjf8IGOmDUGgDceNhlFVozDcUWIaquF+1QsYWn48Op2IBAjTpaTGC50X9ey/tjaWCYNvai4Uhoimh1eO3QMZXD8Z7SkJWiNuCoMfoS9Fdyxuo45Msl4DzgCA7rsHgBVGvd7LATtvvAHDs2xbZLDFmE60GnbVAmg4KJ/b7w/GGK863ovqtY2knkGeQ/VU7KvUzxPW1o6ZL+RXiTHezV0htr/Y8XPrfLNYHJ9LsdneY3vJYz+1JR6fAN6c5J3mnWx2qEwSMEFYROVmx5mra7o1BhhcnAHBBZJhfFlOe0yV5bZ7qoA5ewN2woRqTkxSzT9OH9NzCScRRSZejR+6KNPjGyYQxLwyE6uqMaCmGerWaJe22Z2rVoxGMtS5TvqFsiu8LNDYep2GaDHA8rapONFS4FhwjBJUNSKnJBBtUZv6OVTl9osoN5cP+IlyM4Z/A4sI71Pf3ac5VaAdN26C3/5j8ktXS0QQ0g1eK4PfXPTfTOLNL3xT1pSM+dGcPU=',X'29b3a906248c209435ee4ca6d391782ee44712a44a101d072ae3c3986c7ceae7c7094f897c3ee8eea218ee7340a74d3ace5e1fed692d3eac54d7245a961bfb3afa32a087cccd026ccec45012c24d416c0ddf9b6f3c5fe86f83ad98d3fe24dcb4f903ed09dc098a85381049139f405a3637d74919d423ce3a7955c56bd144d9c9896c9a34de6cd986fa2d6c223a1326a18e9d10b362c03939860cd70677474ade370467b822dbb78383311d155d5f4fb7b522eca3ff70652d7e3f9c0ddf79f0848d4b0d735b4ceab5460c33850386a9c9baf6f8f3a2403e64de4efa2d7a695b028a652b030bde1580542c56d2d7cfaeb30b0add2dfd4e1b609cab601e5099c2b4',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('D2FD9D69A16E7A63FE7E20839CD0B6B8','C52',1,1,'EiLkho3XfH9YpUT7UmZ/4xG9f3IRjG28PNipSQXGevJ5vgazKnFhtEFks0dc5qk1+tBH6lDZT2eXYmdC9WqntEr+9F7hb885fg1VjIOKeCJ1LkDqEdJEKbwOtn3YHLsc+pMFEDxvXx86jUNOEpIql2rni6b0eOckF+QSDv7dl2HswVidqZp3eJkR5JhIc17ud3i+J/rCDIxunD+apgdpH7CsHneGZOAg5WLifD2AljeuxFn/IOZtbwpDKWbd7xBGJCIRguoI/vO4e4YkjSLs1oYNfwLe9TlTbXXZiHLArcw2HGv7r1F8EvEmB5v07nUeXbK2vEie2QfM20dUxwKc0xfP4KR0WttxxOWikW3aNk7s5jPSf5rwXcYOI14wGMsGvOrY3Bos42RZnF4c+8LmPQmRCkdqK3mDuOo4EJK32KtzR6OgHIqY6G4hd9EruqGWJeK2DSYRssG4rATv3bGwbjPg0oN2FyYQ0rpMdbwxOAfySpYYx3j3ejVP8YLQkLOe2qC4PggRsHgNuHhH6p//wviEKr+wjdr8sDMPMA4vv1s9pP0q9QXrb+L38YETHABNWV2OtZD6rSkCkrBx3hNMBWBaIT9cCde7aptqrPbxxWTBt4Ec9KKsR1aGHRsPNbpr1jmICroVJ4SYs9qSYzkVM66GwXvXgofnEVTpg8L67icXo5x6ZwopBiXwfALsEy+szzEj9k0zMMIfv1yjgikGqYCmrmDzrNlhZVjhyMmy4q3Xyp45/Ck/BUmELHXpLTKq0woLXoptXTRe2t6wHU6VshQ0gpIxx5fwOlb9RtxiLwiBE7OOjdLh1irmJYhOFqgp4ioDTw1cyLE37vJRL3Qgl7mCUgdjL9xN2qQdaL/WReY=',X'0fc88067c8b44362e853150d2eb2c3f25ca397d9bdf9a3516286c7f3de6c4c115b1dd151dc257f27ce42db89c56e54d22308a5ab5edddb98b9a8d5da2e3f04082c94703eab052701afdee3e5b691f9198d1d08cc3a1b8bda7748540bbf9c07b1bf406f46c7b5b4f14311d4e1ad28ff4da7b2edf9da9856f195ae613cb1ad4ea517c9b44003859237d95988a4d9433c5bd048749ef7730c4fd52a51887529eae56e7bb8f54b73d41373af96bedaf27ee97f89e65bbe87d688030830779f411de3d2208f52d3863e7a392109e19a4e328b897b89a369f732b3e8a1225a62a3868b1ffd4cea6b0d44fdd1ed0031b7e0055083dbe2ce3a61235d160108d6d6839167',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('D9789C87845FD32EBBE91F99B5BC6E00','C52',1,1,'mLOgxZY1c2N2PDvoy+AvsfRJNTISYlVyfNSC+HvfUgUu9K3KLXce3vkdgksRco8E19ejovz2c46/YTkFx5uBYBn5Mru6TOb2I6FpUgqTY6MVJtnEetefo/uavd32wJO9DtHYZ8mgrbElcXioDY5kHDIOktM5L7tUjll345ekwgXHJhygHD0/yOjBHhXKEaXNTOObt4+I3TSD1jpsI6/9Ys2EUPetHr1LJIumFHT0eQA1WOlHvF7YqZ6UwzHiYuSkV5faI/LX27z1Lv8owR+DQkPvrAX472cpqmB3Bm18V8Dtdw3WL87J4arLvWZgiv92Nl3tYeFU498hhmzmcjRSfximIwjIi3NL0JQBy/jKEYsHnnMp1upb3sLXuTg4QZfveRDfl7PMoW8o9ypyPekymXeen1Da5ZRitxAnphSFep24FVcNRNYNGXq2PYzStp4gFICd3D8XjsifcuTGcBjuxAZ1hnXws2FLohSnZNCOWspUGd3Nl0V79Qz5b8YRZDrXrLFidijdZov2cGtyKI2jFaw0FFNc6bUi2/4VkB0vtzPq4Jck/xs3ZMHPDd8MDGghDRd/M3lZSngtA86o4oynghoiqwmkV+y3AAC3xy+uOVnb8U0oKA4KGfgolQYLi+ZNAvgfeIJP1zU9tU8ktnf6AXDXH5nRdfMbnN4u/8Q1dCTqo4svqseqEn3f8fpU7fHafRSbdavSAdpFUcLnQvSRHwkAYw9imjKZ2sYd7niChj6GHw0HQ1qGcOgn/dFSMBozbW9nfBCBMETPnjJvpLfltyA0mcYwEqcfao3Bno4RGVx++mp1PzqD+80YcBVG7Fagt/1E4ICHWOBZJ0UAIs4ZUNMlXwJwsetLU8f6u226KRA=',X'63c8166b4e093c70856dada29c3573976a318fc36c0ef9c6489cd85eed58e8a51dfd5600990f0a4aeb0b6c3a20e8ecf3d1fa18c4c0ba9e7c9e6f4df885947e5cf70024cb2e1798037257b48a33441784b15bde513d72f4648dc211a4806dde99dcc1b67667617dbd7b9e0db87e301d2c94e1b95aba049e14491d81dcdc7e09e5ab2811f3c8a5043401e4207c0ffb7d8930f3965b99408c2011120338486cf8368db9717936c7f358fd178e3261f48210aa56f47853bfe59ba1af137dc2d9466fe27214df69cdf4819b16f2805e73c3fdd849f74010f2733966499783c68171264adb33211b0a789d646783d20863b740ac0d79ed142540d921abfa282b3642d9',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('3B357CA5E16E78C4924E6A0C2982D705','C52',1,1,'7vPHgb2xM6lqmVCy/F6UYbbSgddyr3EHROV+lYdtAnTQG/fG/dXWZ4PbL6pC7y7UbDTO1jEuBIRAV5A6po1hIaMA6pJiSZndVzN7wbZAI2RI0O2bU6aY/O7LUHlRWwcDYNx3KolHgr2xNcGfmmnZbdVyUn1dAALqBJLMDtfnngmCg5fb5M2G0Tek04qOHmvajf3QfX0muYJ+w9v2dyJeDnz7AluqPBlw12LycCUMYT1PgDbjKkQT+ewWMzV+nygjj+cGy9IvoBOEJl6KcCVnBvBQPNY0lR2nQxSuwUspzIBe1dSJ0fCTJw3p38vLSTfRXuOz88nGqmjWNHaJbbLP6MVSf6/QGH5B1gWaHME+VLZDayijtRTN686pULVO6gtuvsQJoDvVUAKGiv8zsl3DjRxAivtSNyEo87cPbpwo7KfOC2cKscRBwjUuSGuQHUkqk8VRtS2RwG6ZI0AMk/2ghnRRPLvJ0jsKG59IHDKABoZd64Tu78gOQdfx6LMK6VPAWTcsgGl7sNglEvRCS5SMoSiolOJTsbqqj+gZl8NOrZtsdHobRP7ynZqbxFQ2hWEnZRnBvPAlX27LPQpUm7iWo68QhfXShBPWEA7Qu4lniFnAkMHfyxBP9R9G6NparMaPhzJds6aHFIwXAtLtIeWc1QbQKhoAW1xmKGzZUcWmPPQxq8CHrVnoQWkIBTq59NXiRo/9aoMWWYnXUm2FM5Tf/EIzo/cY0kgzORft5moQeXw3Ok+pZ7PbUnPwI2NUsGy1xwaAcDhkoXaKqDwyRND0oq908TGZlqdtsTM5c8nY6bOWlGMi1D6QVgwYScXdYMSQF7qdbbWrwrFyhlXocIOhovtdPJgHIFKif84jkvK6HTBWw74A2he5vFc9gckU3YuGzUeaOIwpKlqXub5iJQTeTW6c1wun3x7Aal9E2G2PF20dHGvH7ZrvcLXjgXiDZ9KyhkM6kFouApSxvSbcAWZ8zTkInLV1ys844DNb5b3IwID2Z1HO3LXDGFTwjRcqhtAuBgTvZsbOx5raAGxQW+QkaJXsEBzP3tplkJ22bDpEK+0MJ1noS47SDuWSL9A0GOmOTwHBWw/Mk4pII6kw3B8aVXFW4daEpWcpCTBQBiM0ArTcJ4gss1DtTxJiZDzu0OU674Y7VaHO6nVHvGMmGzodVlQnAMzuMeciFJdhGy5V5IwiZFSSZ4ZpVq1RTuwtbIu3uhj9jfdTXkA8MfErRq2wxwqwyBQkh/QgMsqX+pwbNluvwRHD1/Pl5z9beCz3Ife7TLyOiIHSOIv/DCRgUQOqcbB8HgNMCjoZ4iw+ttzmNHvH1/RVyVsS6W2s64x7rclYyD/1asb72rtOYvXr2IOzsLWBJGK5UT3OXy1MS8Bnm09qOKIuv1EY5q3irZZBvX9zKqx8B80J/21dvidWp/s5RVUcTIUkuMZPkbdw18l3tMeJDoeosb8LN7ZCEY+B8S56Q687BCA8WE1iUedDuvIhWQ==',X'8667882452b75571e1770b200bec59b31cd73aedb482fb88c21d4b1e0cfeafe35c80b21150b6bf0b4596799a1f06caa86da21384dd2c84e31ecbab9f82f5d0318dab79c495a96630ef7da22cc7bdc70351b511ab9a97007695d79fbdda701a4a994b4a79e57eb87f0ea069d5b63f21133c11d4306500cd3f0009e71cdc413f933fbe16deb9f7fc1c588de4e1491a3633ff7a66c47f4349b6a6207a2de213619bc3301be98fa16e356b63558c0c1e8301e6cc0a8a0084128d8f4bc59e114054502b666af330e99609b16bcb1b995fe25e58943a09d532b2b731d9c22fabd6d59bc8e5e18445f954fbd6c90fd81c563cd923488821d8ae81b9e61f36175904e411',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('843AF2B91F928A7842B6958D7D0F15FD','C52',1,1,'ghHdKtlg6xHXgbDf0UELulhiqSZKuVL+d9Hx7xdBGj7pDVlkyl6uiKlirk1dHCQyXQiDHyIxvi7HFMvrofZi3rgmxzTbuQECvF7CpLXDr9DaNRQwqLvNgiV01eU+RtsG0AXjSIfOK+8MwKeSkdMsdGEpBlfh/AqMs0TbvD/v0UVf0CVKzjQY5bzTO9scdt5yBoiCl2xQknVj5IL5IH7yjEHU5u6YB/NvM4CFeF9VJjuUrVYZc/LgjzzIsyR3huyHPLkCY//bu0Fmy42SIGYc/Hw4ZLpPT0x4FsOitLDAJisn+c6G/jSsWS7NMNHu3OpV394EIm51vGAA/igm2/nL9HjIDEcnGDJwH9cFu0Gm5zRlMiGoaiiVPOl1aH9lCod/+BLiUxpIqpU+NN68ut7N9Md9uF3GDUUUMeEX3qaaVRyVh7YAhwjF3iOOEtveqRUadWAlzonISqQyxJV8wAnFHgkzWzJb+wz81EwauLKuCaCHisB7DjGhhJD/HLs98kAhhI1rijrLq8Wpb4piERIxMlg6wWOG/ci8yh1O3wIRL7e6Meg7rmpeNYalF5jLt7tA/wnDyDzm21LFvFEo4fbXgTVb2NtmfPH1RAbLFwiBiFfhMTbs1YIpudHeO/qgCMZLe4ZxaopOxFP+iRi6NSmXzacqqL5N26oLXCTbQuhg1NNRWLCtYSNnHdcmrePv6cw/mn2DWA7RFI6MuEffXrBEwL0fLKm+M+My5Krb25YmEI7FqqOPuRae/IPYi1AuNIhDUw7hApnsJCyJD0k5qgNU/DCZGcu+F4As4KktaQMUF3yYIemp9TbPWoji9qdLxUMP/d6uJer74s5/FTzULcvivDjXernqxcLdwReBJY10ZGtJ+3JY5N4NqERcd+ChTd/MGBmsYWzmOGAIEBNX1x4UTJkr4IYz7avioGMwv9bschgg5MCG5VUGxfPl5z1g8CONAODf0ArwzO3BQKrh+b4KGOCrsHBbvirHAgww1O+Fr19kuxM6ogyJWLQ3HmS/gCIO7lCejytowkXoOGYbZkG5JlB6GIS0szfpaHCqO+ZkfTf04JAVR50ogAz1iYirBs0vI5Yop5kAanr2iNqpxtqLGS5ExJsLo5k1T9ztRBTyyMzSgFrc6PRYIn7yh21M/qme5GxUi1NqMWZ5/3Yh2hILdCdcj2zbw2iMQVts/SdAizR/nZee1OsDbtJRtXpy+qgcTiwvARHG+T0l/90E9UdvCa38NsWJTH4hA5AridR7zUBw1Ss1eOS1NtAOfkIBBLDe0Z/I65sMO6fn3Fe3NG0JZmFPCL+Hqy2cLfhMPmOXqUK6TOyEJh2c+UtrPSnzTZgaZJDWwodleEpPddHbFOvRoYXr8x7ST/w7l2CNXwtxgNmWCV7EnlPFRbT7zJmytV2ztrJVSh9gHDWTbHrI68foqyg3LWNiAmVMd8clKFXWEjZw7LcUF2MQAIyE6VHMza/XjQ3zPw+Z7Jit1H8sJNKH9w==',X'0adf9a408d1e6747514db89739c8c84c887625d79e1bbc85906fd4947eee7b8da27d4e96719538d3c08c2b862691bed1332e77d8251b45814c812ae352738bd7e5e96ec8938367dbe18d861e8965d6cbcb635bc057f32248ddd5066e337fd3a0428915a4752934427aaef4a72b7e61c988cc3b2ffef6bada6fd236f403a8f1c5854bbfb7ee62a60569a36f34cb55c7897d5325c0cbc42e5da0b29f7a1f03bae41f387695a44b2564fbcad6b84de49a663aa798603bfaed8ebc5f60ec087f2b1f2cd71e2c4ff8109407811c83a5e906d606a4bc153b641ab457c953c92a31483f0411b91208fceaea3c1022522f2db38b63b8c88104045ff010c92985dd22c89d',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('874A9FB4627B5B5C02361920ACE1EFD2','C52',1,1,'AngkYlePLtJwm6+y85cyheue9YmF6We+m8dqadWvSKHM7h0bGmBuZTwszC1U5JMK2wonsbRt2UaXp/t7LMgmrJnm3n36R/PJ/tUmUqs3DgrFaEw+WTJCzfD2oI5GlcmobFfHU8fwNvxCD8+/MmCpMZqiUBju1i07Yzj5t32JJqWlyv+ifrCCFDLgeqY+9dvc8BLQn7CSaWcE8wK2LvTBNgH8gycDpLjD/QQ1zmvINEGImD5Fc3HvyzfpIWFo8HHvZt5h96FruzoppAAzp6eglOr4uQi/MsB3bAEXeKUaZpPhgUUJdQJKkZ67hLunKB0V4jlA3jFg1G/3MCk/UPewKp4HbkyyC1DKRD4aBSz3Snn4kL79dPfYZ/+WYuZzE3MvxY+o2N/1QX0LmFdG2O4/fK6C+YC1rldweeoAij8Y/d+xjK1b1498xi+CSNqeWj05bn+BkqKWU1Hu69liqxLlg5RjOL7P3BnF+L+/eHieJ9JDfzGF3w/sgg4rxkgr92RrfIG/AKB+loWpyMUxEUDGzn+t+owgaSjzQt0V4NDBTv9soaaQjBjx5gcOpQzE8qaS9gSYn0FNe3RTnoyvS5WLTu0GtWYalpyFxKC5KlCeg1/9eAGwMPRltYgWo2KEfcHTVl5rHp+q1f6U153yvkYAW5w2A7T6FdPWdY8GaNeQcrdGgxMSa40d5RjWd9y7ciWtnVCUjwyOj3LHHXHWvE2WwCaZ7ZR5sLop7ordW00LAEz53lApSYbV/3YLmhoGzb5UquXwlwe+YwjzuVAqkcS7DZrY9HVT4yDHUWZCOsazkGpDriYpNyXQeDTXhtDIBBqpEkGZ9leeSWvjKdyXe9Oq03ipTvJJVAYjV1mgTnw77h95+3XiWq3EgTsbwJol0fY/3iZ8onL02soz0Mk6jN6lG8pnwK61Zg6LESyxARr7yzPLPtQ9FxTvLxHPFRsvBZw9phC4MlhFOXGsucdqoneVE0Uvf7DIgktk+gZlSkY4FzUZ7fwDCLlsIYWgK684OjemymUC4q9a1ONPvPGP4YmIkNHuH5Ux6LgL2J82609PnLyquIyZWYx/fvlq+AGye76/9O5bRBHDqqgVaEj69Xv1RZ7vqa2yxHeicKHDU6aIrUkfhHI7hppVzindg/jyVIPRFJfjfujKzWoO206CG6KJfZkyZXWVW262UY4ZWJrwJstwQZGAwkvtR79mACtpdzf9uo2e5DLQNAs/z9pSmYedeEhvpqJpLVVrJVwjlppS446tvRViBiWbDbJH8jfCUeXYAT5Azl0GbDuHoJn3ogv9wYVzyrpXAdLHj3zwb1hSKrCJzxZ1nx6k+dzHJCRCd5uctNexZ9oFbvrcM/LZ5LqQJlBG5I/haa5+5PS1MhbHGs/gYrdDq1qketFcVOhYIHCjk1rampn8GUhM5XqSfQnaRZPP3wsiqPaUIen/SRyM5mMH4Z1MlzUZGYz50xZnNflHBSts/1V06sabl/aGdzMfow==',X'9ada2dfbc23d6c05cb229998d37f2f4504a937047ddccbfb86fc9cfc925446ad3f7146fbe8d1548799afa8f541be9fd9f01a8c1b46e1aabfb6494c4d4607ca0a14e81c0ed25a6b01ce00c28f092439b1f5ad80f50fab7452b8f2946d2b51fa7668cadb806cdad11ab5bb96e951326144a0dbd336c8e605c019a03cabea3076bc2d1abb7f554a8c015819d73b4bbd11e76d3418e8bafa9e78587e8ae6273296412e82719b1196e968f85642964cd59a33fceece026398b81dd17b9c91292287309e9d12348a394f9e370909cb1e0d5039b44fb684e68a74792fa3fd27fb0445468fb750449170214e354d5edca435431b7242af3873ce7bae5c194ae482cf5e57',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('4E85713E97F3A5C487521C916F7FB2CC','C52',1,1,'IXnxfq2JzSe9RzuryXHuAagDsXChKmm2GmeeUc03UPmqk/4zkAlP+WS5O71+6fhRtAbsIkvR7KmupJJvITGEisGrCkLBy3ex2hRNlFU2qV4I7JI0RCEnxQA1/HzFAet+3bHtHOCC3EFR5kHodoA+QDPNCU0FGJAh07GpbJsy//aamUAg7FNdaljehNi2YZ/AEmH2RWKvf/2BVfXGBnoyxi5qdNL7dBPfE7uqXs59ebeb7aJWPTkw75N3R3ycnUMZiy6u8dm7MyEA1p8Vk3l23a14fNzDRyo8ZFGfP8xjf6+y07Y8LnGXEeX1jECrSW8EUCOKhfGOK6mlgqcFlT+Wowy3Loh1nj77WCzn2uaYWn9NxW1KqalNR+E2uqRE0Pu6hQg7t9lWB9Zyobm6zg8CTn7gjUBFUKKiSg33IeWQIqZanouGNaGrd+IVLYQoVJg2ifjo7nhI/kXDYbmt2t3lOzFpwq8ZWS/3oazitGAGVlwCXcDAzkN/dGXWah0BvjijOUFnh1tCemXrHKbL+Om/QQWBCyQpDzNtNqgsoedsK1cAdtfw0JWrKeWA/428nsh9wJs4wXR6oYBdOx19ZrDoJ+ZVayibuc/ppe8S8atvWPyjg2LiTaqCRp6GmvqEuiX4YuguMftBt30/UE7rlD1FP/ZOfR79e6pfMbdizA08zfVzceHsNYOJrtSc1Fr4OAYe1NbjP/zyQQlDmyrHg8luiOnDtyqjh47dogCKkS0kkd50z7UUPFLncfcvjM8joABwKzsYxJtVgUVlDxM8Q66KlTUbwH7fU2UmcIaOv1Mmq7813CE1RxAuDPRwnecH0BJnr1wBrIEKTliJAe3DeNPyjWA8Q9Q4cYw4NhSKxTSVx/iqgJAnec9E8ohLCa9jD2BIs3hGgBJcl1yKxwY3T8NbGindX3HDbXxX19Ffe4kagYlnjhsZRNqeZH0AazunEDXeINfScpz11VjRFKoZ01aHg18kAYkyDdZQtJQJoyzgEFRCJhANRHEQlGimip7HC8AaFaZPR0X77UZPuiIMsV01EVXo8cs5WbQp5d5guR3aTOQylQMeIjvCupeQZhbfUZlHJ552mqy5TKLRXOIITMBLDeon+V46NVAFMdCdwtR/7875CqriIHY13lo6sq6HwHJEq9evMgQ4tbzsRr8tMgfF1QfpTaE5MTRUlfPceaqiBp3pBtdoRkoE3NlrJjV1amdxAv6M7S6OCGIssIPyZZ8Ll/VojtqQ52FTet7w7YrlO6yNCoYiEQb13mv0Dh4W4+fUaMtICWCq/Bg2QkXS63qcH564biWKeIDqwteedLiB0XSIfJscf5E92+OJzCWvq0FIlC1W57bJXA1T8pBIm9Ca9BHdrFLs7hbFyqbtZCB9HuP1BX/oZ9HhHGSiipXTWzBG9yo1Ssgywmjl+dYCqeZUJXb09nxGIyyiU0guBmVdODjo/F+9gxjbqSWA76IJmK3OcyAKT2KiA+G5ZoOU1uQ3ZQ==',X'939904bb185a42cff4c185dc1bec7e9d6af37353d7a988175db46aeae0fdab4fdb86968335e02e6407655543970bfc3031f5d4a894fc16b6c778a9d60de5f571b765a08444e495bcf4f52901d54a8912408d439835336c167792c4876f0103392a6f2abe44575ce6701d60459faeabeab42006907771e0a68b248c0144cdf251f57d108d1934bf2feea2ce3eb8a59be76241b9bb7d1c8ad328c2b804c7efd239a4ebea1b7120ba6448e57078b32ec8c4fc22b887e816ff557464f00040171afb1729d2c46042d595c5b4da1ba6ab011513a97eeffb4ff1c553ada66b26513b7bbd53455823ec34f737a17cd675abcc266fb8aa5e4dfe86c88431db3e212f0bc7',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('2373944823DC0A5182B3A8C45DE1379F','C52',1,1,'wigRfsSijvrxm9/0wNbdGySjLei8ScIANy/JirpGuCCuYDZyFtgGzUSKnvmkDrbZLbhCENfPvgC6NYF3VhOZpLqQEA0Ru8zvJl95xgGi5U5KmHLl9FcgXD4kljnsiho8ZEWBq8at3YWvuZeb3SRm6pjmyW/fnytciFVBCYttU+HaprqoU+3J++KVvndJYEd/B+aH/v8kiifAuCoRaKsahsXPcQvBzmxSO6GAjX5Z/NREfEomtzTowflS60MQWuFKR2g4cObNcrk43xlcgBZfQi4m9qaBXt4W2T8kiiWWM6G2Hp1yEyIv7ZAaz22lNoFogqBErb1YCKoN4EYOm/YwfN+RqLub5cClrfab5y3P2RQKVvsQA/w8hboT5jzvlQ2VxTZH+oXg48MRfj7+WO00JKlqY1zT31cREjjdiRUkoMlbDwV+DgN1BP0JV9+H0E51IsDCLQ2wEYj4k+daSxtXhLo5ODJRv4DmBprt8Du+Fclq/p0OiqzVQsd+jGLR6mqJ/zIK5r5hSedyOh8pH6RVT6NZk0xIQ6xbOUpTv1By2/jLrl0sm809nfyJS7ZdPIW2mPS9TjuQb7nr9kWr1q1MIOthXv03HrY3iHJORfEAwvIWFRwBqpaKA+JNt3sfEysd3RNpO2Izv3/iSQhTtQA8OJ0W3UqyE++koJPoHTKgpoCVd7E2GfLvc2RGZY1wpvgxqFQ7vY9SabzWYhYSc8l4V6w8Kd9rTHs7tZFlkUyW/e3EsNEmuGFBfrngxG1x7X0bB/dlTu29rGhmrZYToeR+/E0vUtI635JSM1MbUQ3MY99Be5DuyTaLFsODDjYlviVLUwaLv9Wz6EeH9E5wyUW0SiVZJbkRrCjG16UuPhUtrLPwklRj0j/NrwIY7gANlwbxrfzuQd9NCnBuXz6qbg7Is3uSEalQtNvjTXuuRW4X7XXCPeb7K3T0Wlpde1r4x3YTRBDnuunoWDgs0/9RXt6oW5GjY9UVBPF5sH43jySNTL18MAKFKIAjS/8B0xOT6BzK2lPezJG0b8nsjUAnBST7GNgoPVVGYYhJxJe9+6PTeFW1S19IbGy/vuY14CUj8aa6mP6Eo3RWv4wOmIJjERVTd5S1DVFKx0rA2r1TWCkFqFJl3pkaYHcDQvQ7vlOBIbkYs5CePcYjztT60yFCoFUe3abo92QTr+iXM0QLnUJJkSXqE2AiUpNYoIMU7Of3e6NLUd8/Y7rJvMrGdZthXwz1DPQNmi4GNZowOV88gIlzCN5hmSTZ8VGcXQmrKmb7tZmIJbpfGQbCVHcq/sZnlfQ3E6y1Jl97t0t798W9tdiw5yNi2fJOCtLJ7xo8DhXnQPZA7D+kGjdv1DeKYJTaJF2jQpFB5LemqxX2OwZEajphyRbjkrNYqYcDhryg18aRxv9QKmdh3Q3wwFCWXaPr3e0hKSdoIlwgVewfoUwjVHG1gbP3mSuhWpr6gH2mI6rAeVupW4ZsB3iBu/f3YSp+aJiPqg==',X'1eafb96f4d14798bfac10b969b6a01b93755d1258201244208d25671f8d5455bcc97e79bce93920d4725d2bdc5564a7db762a6e505a649bb551212923fdf204d30c60757d15659afa2332d5435f6c3df1cba35a957e69ec9463cf6ed9c0a36df2fa958ef0a62acebbf7949a503045ebc8abebff3ff5a8ac4301610cc249f6d9b182976584a4d7de73a4c2973eed66151dd29dae97f68955d21124ad3819d728a8a259a791c078e70678b65e9ff9c63b9fc61e0af32eed48e98488943fb3823519ce94444d3ccf687acf85034c2eb6ca4602d7d56eaa213efbecfebdb45936f701d49a84298e52404ea297ddea850e68ff12d85c0bfb31ba3e78cb5872b59296a',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('7D29DD7D384F887E2E5BB30F5CAE94B5','C52',1,1,'LgwYgrPTUv6YT3W7IcM80rk5bIi7ZtvUrnHD2X5+JPHPT8tYeW1wUutmj2U+GpnK6UtqJdXQU/cGQh0wqhXhjgD9OqNxx+vOIy8X6u5cC0YNChrv1CsyBUQ4Qp1KeVLkzX8SzKlkbjVId2ar364IVfrQg0GbfcN2dhocBXhS/Cj3h7uXi+DTEnhcpcne049VRBmy6snqR37+5xprH/K3Rje5SWAK04KQ6AulEnbnm6CGhXLwpnEtkI6dmwwTbDlWEqx1ewk0SrObThacIroAmPQUBgiJfWuKGxVI7//ZLyU7KdJZvrGC784Ao75QHRdOSY5/WmkXUL3lg1yC9OEtJRTvkZMFt7ORvg+R9GKVcD23HgO6pvuwi1e5SV1iD7DnPO1Ou92h80xVzCinbCNBPzG2I64xoc3iKmZpcbhGLn9ss2V4bew5P5rBFMGuyGnaoVyNivwaO8DgHKShYg0ujMIHm47E2RJ/7TQDCBUmaLSgAfvVmtYZqa+3CilX9s5valRcou2oFx3CB4Ie/st4tL5OLkEpTEL/du+EuZIqFF95lyIj9WIgHrzpMe/XA3AG64QHSjE/Yk2r7NsEDtiDW5dJljw46jN10b3Wh4H5RqWsnHUqXkQtCPFigNg8H/r+g+yyBMG1MMyNJh0eKoAo4NN6WAfd2QZypgVy0q4A8RgW/8cXiVqKioyJ1lVIhMUVR2Bdhy44W/uGc08jSYn7Zh5ZH86fsr2vi8qfM6XNvTJqGRGPm34YCrQ6ss3ZxewKaKLmF9F6pNH5qahwPNY7JXNs4axu1TiztXSW/XbHDWeRGqUpMFqE3AU8qZjJG3B25JwaBPck067wxAktWmaJ+tT3H7kwojXitOhm6+BK17j1PUF2coSnE/90ddMJg6cwn8MSIG7A1A2BKsT9fXOZg/q5+hiiowO/OBOwwiGH6fBIiK56OLyaZ+5+twHevsM8ZNNwxo3JkfZ9kSpRMqnNBcsBBDuPfn8pdHFDmgEpX3JColfZdMWEOmporVjkvPHDTZcDtSXbtDm2ijQTCvZ/0R8CJ1JEufw+Xw0L3R2Ieifm8J2KyQImD1rX3cJnssjt2MCNWNv9zm2Et0zB5F3uAvb9xFYPAX7DisJgmUgEdD47PCaCE2PDfmr4OUXRqlQypzgAM/kJ4jGCxywOO7cJ1/MyvLxdPvhe9IopFg8ueEeGwLq/6Yej5m+j05l1aDgt8rrjJZ/air7HyfU5q2vtvbmFhHBGT5ccZKnm+nAF/dre/jQmaKvEARKaEKVwJUZEz1Qt5aKY7owBi6jB49dPwAdClsJww79HzlMJHYSUU4oNRUVcJlUMM0J2ryiXNJ5xUuB91BuFsqA/DbFkFtRNMHXe0HTcihmH8xEGUF+DeqENclmX6pSJ8jhy7x/UTQm2tkP21e8H/WBgiBUlUDjiGX17qplHe3xfpwyI+m4Xxu5rgp/SMjrBYcCvlRIIZ8v+GUYVj5iHdwNkvTo/sFFc8g==',X'408ea83c7402664e6d3cbb9a9341fb452c696ac9c85d84f0e040803248de3a6097581fe29264a7bd9032a4c04c959c04e038e3ea592569f40b7c0015bcf4980b802801f074db2ea7c44b6eb8117e7fcc7d4c1e706c1d5fc08e2932cdb30a097484d7ba3c4b0e8ba0034eb1d9030583137789a794458df23442e89aa283f3eb0b741fca61c91450abe45edc1b7086aefac5d137a58b76d949282ae63a4ad0c886dd9462534f3d03c64b1b03e5e6575d65b3c11f70432b7a8dff26ca4b0ed25952057e352fbdcdfbcf469d120f92c8eadda675e26d01b31e6f1394a985697cc75f0a04d356cec0b29efaacdea7510a19ea06d2e4b7cc984badeb3a80708d0335e3',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('38B7563DC897FC1E2A63705CB6542572','C52',1,1,'S98mz1h/TE9Gj8cUdTZEJ0LBP9XskSIiSMwjcKLd0kRTezpOaf6llt8545N7ajp1XQ2mBY0SbMfs4RUuwAFUCih5a1R1ikwO0dxacHkVZN+UuaZHWymA+3qfTRV1Jf18hFr4s7Fre/eLDvcXyH4q7+AFk5oYsxU4k4KgI4O9ojsm1UsNZ6PphWbSqUvMyhflRsjnpsr05Zh/jVOAEB+Z36LOyXvNQou3DJMxky+qa2EN7axTMVaBdGsvxD+k6DS/mv0z2TsPyvmGynn/0yyFLYyqW6M18751cH+mW7Vvt4T10jgLGTk/GZDRbtMLHbYtg+Vr4zDpg1U+D8nViuSl8CJR7XBzWzggulxFay+YO2ZDePiDbvETx26zDJYSPJTNefDbQqrJSMKzZ+YK36jU8ALt8sC+fFhVgonihfLtYXrKmmAvT7Aq2PrDoEvzbOJP29qcAdqTa+ZEcLvnp5T7cXsUhaLwLOfgLvCfd+gjpmM1DCBfnGdB+Ml0r695FNp1T/r0nW8wCQZjY7WQKiuB9viL0LKoMA+drBYklJojvlxaKBvQ3ojHB4VXLcIijNavvxWADHux1d3dn1bUQvoZxidCNEkSiKeLZGXN2Wc93A2NUs/+pkowdorYxj7CXec11H+GimQUHcWye0zRuaR3Ai45AYwqV9yOHNIzSF5skp9YOn4KKlUjNMCypKVIYjg/QxM3xFE56LKBs+iOZO5hFrecU/BN7vrp7Z9GdPyf9JpkPXketTpTOQf83SZcKTCog7VYMmhI32Kj8SWOohyHtRrzhgIVbJOU56AiNJgWY7c8OQfbclJEhoI1Kjm7m1S3BzUWiklcxlV9+OJmB4nxJXrOeOSDoOAP788ge71I6qCg5Y4725xCYp3vVstlINHRF1uns3QxrZUZLhcQ3a5ZqbrhkvCtVOx51mPOT59uRPjX2sJ3VQYRJh15Aw2acQ0NZZIavGd5NW9JMPdvgqhAK/uNnii1ERV7sPewHJOnzdkscpAHbmLp92p03kxlEj5NiHZV3eHH9UaEyzXKbPIVdoOhySXEWa8jH41WTNeSHepmQbSYEbHJCVpQo6HjiRVA7VxL9+xorKZusk4Eka+uC+HgsBb3S/hpK6i7TRgY36Xjh3Z4aPN5ZYrtxOqpXWN0VoWBow4eGYUny8inRHddr7RAX0P0nxow9ioGPwWKNWXiwmuaC90PLn3ehHhUn7ZnkMaEobL7PgeAvx9y1QPeBfm914j6TJBA/zb3P+9zjqbXkvAnQdNkliZXWA4rUX8qtn8W9yZYjnAGnkPGaNFPQ8kVG46BMnMkGBJrnw2Zzrjp5P009gWS6/94IsRIzTpBLdPuqZW2MDz83g9Qw4zO/mpW4u6b8YGlJZYH5+QNCIOz8KTwZ/lr6npYghfAZFXgsZ/sVt4WFSRI66KpZNPiJt+9isEpCjAf/944Ou0GJHNZXNP43LFi7QedytQYMRipF3mPuyy0GUfUPIpARLoJtA==',X'14b86bdf08bc2172eb7cd6073ed12a9a6571c47fba4b22e2868c9e20c473e61e380ea2f4997403afd2b411187c90c7fbea61549f9f8180cfc2b5e8d689b381f8f92594288e0ae9554115b5bc7830c603ea0368361fd5217fba51d7829fcb925a21c66178763bfb0a921486dd44442f035009ad3588f9463195990172dc03d14150b03184d01610051f22f3bf249038a2adcc6fea62d90219b683bfce249c1de15c1c66536c6576a0f8dc734d4c4b4aea629231420ec1e46eed98b822be7e6e0b9760d7fc9d96fba3059069b7c9ec6a30ffa5fa09e80d927c11a7b6ca5363d9c98b0d85533a6d1b4aa5735e91f21da03085218f005e168f90606b52c39a5743a1',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('4E67F1D0BA4951D558B3213DF21AA1B3','C52',1,1,'h0LB/9sLy5XkI52fcABfpmN+GwtXA/ytR278RHosAe+NTbOMLVRQOoM4/QEm60yU+wsH9zbn9JOY3hZmGCUP2Yt7kfVcBHfoZH/0PhmoX2VI2h5d+ArgTn4q3S7fzYNsUBLpcKUOZ94vnJjhCpVk/sp726cD+Z92plEChKk4O4UKflzEB5OgpKceC61VuG+wHE1ZWtkA5/0KErNrp+elfQ7Ww1aB4iQx+4D9Cdhmy9sxOcqWm+UBKv1bInoqeEQiCcL8BOBqc87wcuM7u/To6AbL4gwOWMTog168LkNM7FBvxfr5tDJP+AiCNwryBeU9WNE0mYado/NoS9kjMAPSB2Nqa0t4eJ65TMcK6kmgbIghe0B1IBLC9kb/tPxGrUnY7UtrDNR4h5JV3ePGS1B+hwHNom3lNg5/RY16kkeqwFtBbYbrJY8oR2PjejTIszaBxxV3G9aBOCPoK0eUag0C+3Uxbb7aZEnvxGcGm+SftXmHhiCTKOHsnRNOCcUqPP6b+MGZOMTc+v2JnqWzGPPbxiz5DF43A7js6utBQUIX808K6e5RZbHsJhsk8TzpH+I7SRRsbIsZnD4fM7GpA6dua+iDkvyxQUwYYDGik6f9EBgB0fQewVsLvMy0DBNSAgxbDlgLZJowXcn3z8MVMjJCs/FIP3QvIbVQ1qDhJxWigCRIZUaTpAjBTNSJKmhXsjglwltyOtOpF92/6bgttkEXyZhEuE4DTovbTvxfKvMad+8QwVyiOCUo5UwBkh0Gp2dBosJABmZFiNu2UJZcLqy58J+c+yJNJO9E+m6biWuJMGzZQR7nTY3PyRSb3GqDcq6yhPJ5tA8jZFhvqPdo/A9TFhTuRBYNXcEcx3MWwTKiLCCnJqg5l739skPg8pCo086eHVgCFuSMEUtbKNbyZ1401vioBTruINFvC6ZvgtMt/H3L9rTnzD02DI1J94LeZxrBsb81PdDFoB8ot0kzIDDT/Ue2kSnmDLVvVwbn43gR7OGDQPbFXgKMHN+Wqco7C5hKQSRPmttsY/X216Pjf8PkbBFibNF4/pst67RNWc7ps1uGrGf7GW/5qMKm3fhl8soYiZ5rMhKZa3Dz4m4KpE9JOx2gvDl/iHH7waKnzaGiDbvZJQvNHxAQhdRE/nYTr5OnpU16FnZnIzVRYpPtxN21OE3Edu5XejypTtOTJRH05Jdx7uE4pN9lKiPlr15XcWikZLs9NPAmWKnu6rzCPAvppGBhKJlxs6AG7uLS9CIow6yQ9qBbaZVfRdmwKM4BBzcZRmkb9HXZNj/ouk7BUDnXXZRLVm1ye1EDCGXrHJQfO+xn5/LjSR5RrJYgvBU16TG06KwF1+/vy7BN0SgFz2dadUsj6fLtkvSRgKhZcGrvZPGuu/BT89dapaabEqkwIu2KUcH38aK8LF9yraUxN/a/kxH46g27BAKCQuPVwFBOeV48x6sRgSGjJzGe2Sh6fPc4kLlJ5S7swt2jwdE7UctZpA==',X'7bc16dd336e0898500678cd400a6fe691541b7935291415933e80ba70c76d8d80815131ef610b677fd315da465a53303202c4c616335824d43e078824d6cc916cb887479da9afcf2b9728de862cff8697fbd769f0eafd7065e349fa8a32ce0d3806fb6d8597d70a26acc9e2b26c27ae43705b6ad2997eca52a335616cba795d8ebd987b05c7fbbdc22ddac44dc337752dd7fd23e88b91a3ec6ee74111872959067f489dee20eb4c99ac5fb8b39d932da8d644a6398c25151def8424293bbc394ffcf6068f2d95f222a19cd742b0527a3d8707e08a70f9478a21b428f99c76ceaa39681d0f1da4b9f72a3cb1d443af8444bdd36f8f7b29a38e1c0f2c76fcf393f',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('137BA85EE694BA0FE491F8B4AFC266DB','C52',1,1,'CucXBG4IWFN5dju9S6Wq0vfoRqDHH4MAGkZlIUwg91kHLmU6+VcmBBtJebgOZCOAasZHNMIQQd8BQMVe/kzPUCSDVCYk2sGHzcbB4eoprrkdQglNLZQkPz1VEFwDAphYW5VsG1b1DNWrubSbFcvWANYuC8gx9lYIIb3tIyUaj7DfptB0DjHYARLceuhzNaRlboUZWc9IV5yeQLxLKJJNNIx/rukL0kZGxbDbcDfBgpf5fTCD12dABQNs67uL/L+SOp7qIebKZXUdKTb1Lxjvn4nbVGFHHjJYLfGV/tV7lhXirCuBkyddGFoXtY93CHvFvmzI5EbHLLqyqJGnHle093jx9yYIvOUNmCgDOSCadxwxzzrIfmY6TwxcIh1YwPBPDyJ4ZO7f/6rZJ/C8tAI8cHJ491wS2suitxbZEWMsFH1pCghk4377e5oGaaRdSqe+Xx1HtwlRfPN+BSyYf4QwQVOLnmpzp0e6ROMUeXPlbAiu2RWMtO23TazXRYDFTU76jsT4sCcJRT8PasFjU2+Drr2CSm+QMXLinAuKu5IjunyTzslI1HSx43m0cxp64qaqCVqHpAtCS5vTTzjieT8xnDdmYcoIA2kRcs/yHMvxJqBtUIt1AP0eIM+1hyO1LZUh4/0qv1yDiKE7a3yCafLWwj3HQPAhpreEtsyZaRI8bkfe4U07dkluI7djUKEcBJ62sNgp0zrbCS79fr5sCEBSIJpAtocPP6fMX/+ZpRQuUqO4GBQ713zrw6lBBHBw0QGl9a2tR0YrB2nb8M81u3AyIgyWNtS8OjjdJpAx8SFPYZEVmdObcl08jbykDIBooHzlXGo1sEhmte9sQufp2lFPgOY6B3rHiPYxRDbqOp7ZOIZgtlvmUCI59aSPUOAjK/i0Vq3cExB21Ztui0esGigazKAfj/JLXcq5t6U5FMWY521Rxl8dfhWrkeS66eyuH1qUAlkfWeXnpcj0XDYlPGMTpvRoe7BUgSP6C4FnSq2XX5riGy1aB/6P5/6pEm9Sdpmn3kcK6wTxqdC4qydib4111IiW6E9XDIwGKWTDpEGkW+b84FhNEPZcMcqnP/GMONHp4D4QrQ2iSCnKFSh1Q2mp/tIrIKoqr8SSt+Cdb8rPqqGDhbFzOCff3ltQbo0gtonzyVhybvGd5FZgE3wykxnpCED4vrNTymi3474rquEK6d5CVJxB4RpWr+6oCA80J/YtBk32dIRkSNNHU9zBQNBTOSyFIiJxSHvpBxglfPCO68W9Slt9/2Uf3nujhj1kytZGSyDaquA+DMMuAqZZfNvllnlJvDz3gnD5kl1rm/k4YujXGQ9mHg1d72XbrCUWXSSoLptxbbrHmgxEv7CG1ZdwFkrzXo712i4Qu3jcOfYBOXT/c21UUTEfv8vOd3q89cc3Sj8lKAGniM9O/DrWW0EfUB2dWfMl7A3M7XH+0UkC4OCKiGHVicceZx1I6xq1r6urPk3hvQ5rkLULmd+LvbKskQ==',X'9897d1c8dc0f53cc3e78be56fc3a7a39d6b6513a758007dd8861b6ff91013269b8361718e645501ac4d8bfbee96eea3c29e3866e6b40f1656301b537d0d9c8a5309a74e529ef297587da604f7809ab26151e124a3624572540c37d1deae498d043b78f157af3ab5d3277529669a938d05585d9e1b548ec6ea6088957a298d8c11a18d55c385c6ab053f08c28a390b45225529a6cf09cb64aac5c93dd8be9ceeea0558f915fafcef2c59489f70e7b5c617d096d2e7cdb91bab8ab3a4c1c0e3d5b8f27ee694b2a9691336f594e81ce3a4231cea32a1d92e3fa823ba07266dfc8bad4ca959f625ff73fd983c8443fff1c5a74b1d9add6a0dc516ef70a8273efd533',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('0215D6B5620F7DCA30683AEED6088D23','C52',1,1,'9LjfKxkMbJ+CyX59/uMLeiSGYHi0RmB1+nFeYTjrDs1rW10Vtz53KQDNCKo0+WbD1gTb5vjMb4jZUfhOPEX13lcHoHeOZ9uN+rfGdkCrhXiXMMLp0VOb9y1ml8+Pkrb9qVa30THriXELq5Oa7y2un495YgjeJ7mUTfqAnWBPLydcl8Oish6TcZdMumgBq/g2rBs9Fx0hculFt9638bzhJh0nw21xHzzvE1UD4hVPaLsykeyobHG93wY7pi/zBYpbmywwslgUNwdu7elYnCO40ud8Lc2esH8yFEHcipzlD/FGA4dmCWHGem2H74lxQBbb+unBalT+Nz2qfAuy75lm6vGRvYVG4guvqyOayNYceO3XeRBzpa89hzdAv3SA3JpdKlr9Ms2MLWHX8kuEWOCIw66GPq/Hqv4ILE8Jmo88giOfQqgP/jRGl8OVTOxfI1G+fOZonpUZYHikFNvkiYS4k8Fai+e82RC+0oup0lnJtmuIXGUOgR/Sh1xbK/wnLJJewKHh9Yu9L33wuFFmZ7VXP/PUJU4ieo5meVeVpyLMkpxFnFpUf1ve0o11iOPpFyt/kY+qTg7Ol7dQpdW3+he5/Bpcs/eDD2LKbNhETaiYBLdYFuf1W1XOnEovWjb7DF1WIWJ1NI5HAAo1Uv30H6reI5hS/qEZ52DcKXb0pgwhcAbugYvO+Rjy0CJHF6wZXqEKEY/HPHQzR8rCxPkF4R2BAjK680kDP4LNL/9sct/OKJMHDie9r0ZMIEQWCvH4lfj/G6LMVcFThlcLABDnDo831gHN3t6kCngo+E1Iui02pkUbxgHIF2dK8nspN9NItvxy8j4XukUO/0XrlHdTsd07WSrHaCi8CA1WZXMHz2q91y81RoCIRGj/yFSiPaE3twRxBO9X0rqBpP0S9sAWZg/nGp/S72vMO+e2XzN4WZNSxjPmydNz+6SJxQFwJ66IxgBTcEz8MFKohEWWBc5L6mmH+l8rxHzsG9l376l51QKLXlsB1rqpxBkXDhxKZ8YgTvkFS5+i0Pe9feUIIzuMlffx08tepVejzENtDWaw3MlZdMGHh5HQP3LKKuDtwmQ6GPOlFr3cwGak5DjwmX0QbtT4HmXSognM8BXfD9LcodnMG3fggX+/8tlh9VMSJ3WgCChdVHtJG6xdmFsBf0YCeTDShbdQAFRd6YOs24xiGZMkIUv91pTLhLngGANuRmwdyXLcsM5Oa1F+kpfWFHZ9G8sW+G2FhOek5ewa6Rd3It9hmoAJ+mMn5oyViDalS/wIOI+4DqHwSf60co8kneE/k/EKrqg5Ub+FHXGCvpKsrFFpctPcJCzUiHv2Zaq58pO4lMViVQf6LCa9rpLZGuNFghC+Gzislgwd4b1VphWH4cw5ay5o+X21aTk9QoOHTRseNnZ9jFf6VBzbUNnmRysACnmEBdwcX3Mp8kql+XYngd9GcOHomllpAilovq8rVMT1Ui4fDxz2sm7aMZsV1DelOZz9kA==',X'481b1d5cf95957c3ff90a57a181f8f6e0439e5228ca4ffb1d4a1371a6a5770c1da9e61a23dae6426af547d0a4d32e550748f26baadfcdcf389ef6e2cef1abd0cad4262dae5ef17e8ea36d754c6813fb7ce4cbaf3435f3cc4f49c7bef110e54db29650e6d300de7b74a83cef457a06ae633634f6f95849cd1b8470b854b4efd5e58378f270ebedcacf1e2c2d32b65de6e18591023d431f5c0f4ff3047dc750ddb9d691f1bf03593cbe830aa00eecb3e5241803a1d422635c4170c25a4c9846ee362aebdb63b83adb46d62ddd50edda6624c1d35531f19b5999f962f0c1523a7fd401097f3c79c7f09dbafc7a6ab51b9a129f9d48df7c757c622aa683461824c4d',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('4F229A8302B128EF4E1D3B2188D54FC3','C52',1,1,'WkKSyAMuQo2fRT2YIlSrLZeGFxM1CP/Vb6KcQ/FaqqP28bSFJSU4fx/SnBHE8qMQpNFLGb9UBxY6XJGihYnacgfb+IEK7WZiDtnNtkfoXG5nyJ5ximZvAiJ2O8aq3WgbbI1RtC/gT1A1ILc3/tNUp4NF+gDqiMmdZUQYtBlBE4z/w4xssJ0kC0w/00T3vud6rHuYCOWVnuRcRN2mRYjsXScOQOOSn4xOt8aaRLfRlThLOAWfsW1LWwBHmIonQ0xKjT7XzKJ2PSFZE0WmxJAC7MN0llT0ceHMU9ha9OXA+cAsePVGfY5faeUUB34gKhZ8AwVjMbLNwAQBBNSDc9XwDYtIG37LbAc4Ew8zjVoc8t1IRqlivWn6As2B6fzzJNQTa0Z0GH30K3oNivg21htEI9PzsspudOzts6Y5nphXpRoJXKSD+x4KePTLsLhMK+9AjE98JXtG1q5LAAyGLg1T5IUvlRDVMjjAulfz1AwZmaJqWB3K0YDLOG17IETwzaMZxsLEdIKzaJe+y81JPD/hiiqalKpgPlVUCxcG3ovBgnPS87uhGnskmK4GN2CujhCpgpWGLwKx2fKRZu27trv1TFOdCwufFSROzGn55peWHOC6L7GiDSBmK/gV6/cl1IITL3rWnYTzz30LZ8xpbkVhqCkSp+XgL4TPWASLRfVJ5IEZzBQD/otJN8FlDstZxGj9n8h9gYXGggnz0zyrxKTcd3voBbM4VzsnxHJkrxMCz2anEATBoZ7rvCwVllVYsCxvWeVM+XAATeKkGLCBKTnoI3FTnI4bKrWNNw1g7B57Kxs3pSfFLwswFb5PKMqBcJJc58o8XFdDyb066eFCc6sRPItectAVAlIWonLAD9trD9ifJXe1iyqR9O7EDrrw21XT8U2sM+/iH2hj7EsjZOescFua249RXBxI+26YXYbRk9GqLG9wtp05C6hCOki/G2x8cTTXbUltS3Ra/YS5RbmzK6MfGvyizQpJ3JyXsbWhhTESnVXM74TbY7CqwLqzgVIAIAGyLF3v/aejloU/Xa3ccW6HXOOhHta7OaRGtXyxUuKpC6qhP9vvFMam0arUyw4kut6GMREqH6B37QWvDo9xRACUdNlH/2aNkZHr2d1nSVaDNXOtFmsMr/M1UtKiKVyWHZv9WAGYxlKcnKZSiyEWclL9q1qnLG5HE6k501ewiQF+fitDn9UY0KZcnQ6znB+6PKqpz4hODQB4BU2V3gPueaQXEqP9xprXR6bx+0bekrlAPQYujDCVce17WmPvn7SiwBLaWCzHpY1cT2GHJlemdYIg5NQRIBokOJcTCMuFqFL0MbDYmB+E3cfieGIUhYZ/zm36TXDhqTnIyHfpY471EGmmHWHHddzx7xKHOZKGe+JYe1QIOzkiAgO08j5YZ/EMxfS1sQJtO8f3D7GiYLVRifjFo+yd/AYTDutcWKSejJcikzIoCuJGdC6XLrqbsKRc0ha3TDj9h2mMRg3h56GIKg==',X'1f06683d273b2039e57aec60c4a9570a4569c3fda2b9d58b75e46603ee4afa94fa934928309bc63c89d42db9fa31374841b11aec9f299eca012806ebb9a92d5c9620cf04f6131655bc637a49a02fbcdd0843d1fd53b77678693fcbf14e354ee1d443d4bfc4ccb208225101580d186a88d60221d85e8d9761a1a3ae3cb110bd2b6ed7a1715c272821616ea0dc80b210e6201addaf919cfbc5f78ffaab6650833211f489e558c9dd6e4586cf3306dd7f9e7a33a6e8cc7c753176753451561d73cc23e40bdd098b6127fbf2a31234701630208402a40e3b417bed9e72ad6aebea425fda923f3f2e81a2676abf2d3760f86dbdb6f6ee53f0b6cc3f008fdad29c6678',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('17A3D17A9FA467308DA48A041C0F3E5F','C52',1,1,'0Z2oMXyUQB7l/h2yiO7Z+6SkbjIMCCBZaKQU/sb2rvhBH/i8Vp8R/Bri+0IL+fm54p8l0VQkKUyf/9G0WnAOSmn1xPWBkD9+WLrjbJ2Hj1nfjz0u4yFd1wmrHx/1q993paFx4Fnzez+4oppiDvMP57iv8eWg7USXtxAsdnXgOuZicjaPxKExAZlEHNd5xkmm3tAEK2MtxyTXmAlOJgDbmuGW0aDXmNHzXQ4/NshEClEb1sKEYNhRJ7T0Kq6vPuNhLzez7nbGx3B90PqpSsMaTWrtQ4eYPlcH1PWF3xTm+eL2Ey4zPpjK1XzXND7IFjSBdj3qGD56IKrsT3us9rR0Ae/mBm1UkE1Jb+3GJWVbJaHRkfmymf9lFGoJAq5r1xMEYaeYGtvBoDxwTeWm9QrMOapkl7rGt2DAEGVXDe7ZazXvT4PEQ6+alPO4iEydKF4OJ3vlXAHT/cmZ3WpdJkpKSpd8Ly7dvimuRFyJ99rs3Y1VO7+iG1qeT17FjXS3zactuPuYAXXz0G2rGl2x8uo9pFjLEr3cgSzuAdiVkUoJHnTZ3bfQGY3nmlm1zbMLN33vF0FQ+/qHHKB/MN46lZc1XXckRx3m53yT+vNggb5PhZfVc063bApjRhIClQ2VB5UczHe3Zyfr1QvBa8j2a/gjsTuVIYWdaYBp0JaZowiWn13BCRLOZ2knjN7kdHDrq4F8ZfF5YJRIUX7MD52fmV5Jz5kCDL6aVSUdT9+8v5Cx65Mz429fWrH20s6x/u4f1rrn3gjVZJaJDV+emyCcyFEhpPGZfiJh01EsCa63KQHVznPVoWA9W6HKuyhlzW2HuXtcg/Hz2NcZlNniYZLKRUxnGHQiI7rcAvSZZreCJjEHrl8gTIu2g5qE7K+ZGnOs3juQIqsC1DxeMCj7rnUrE8YPsJ885U+bm9yNcKLK4a3sNjQGZslyJUtE9IBgfm/WjpyuRJb+0s/R5m5tMk2psGkT1FgMGUopbJD5uAD1yQfQN3zkGljTLlB/blBfQVuc6OjEbJOZ3gZJvtOsZDNns0hrBPJxTFYVcHAcLK18k+yOc/m/1xA5qnUgTGbRWqkwH/yeuhVN0Yc+fck5UYwwE9vYVk3BdrghP+XW7n3ZzPx9ou8/rZ+/XI3JAvAEMWrmd8VkY6arBvZHVUWE7OU9XXpEBO/cU6bg1uCY08mrqs39FOKlLoxEHwwDDTJHaGqcsNcp9v32asMv1tT97Wr8FfdmlE4PTN7mEYbpEs77/RODpaKwpYKmWcsNs06/z5c+8QsJKaHnNAJupmcTUyFyeB5OMFi8XFnirC4T73scHR7WRf1gb+F3nUtCeiat/HbwBbr00bNChfCM2Uhd33eTUaVn+rCB15YUhySeItGfeKQ5AfpyLyS5CZht5jdoW6msPtZcTr6kKVB6XUOnTItRpcMDeVZm/fY8szr8alb80IDdpSEXmPbk6pNM65LP+1nt8NhPIjXCEub3qijHjdofKmychA==',X'8c1d0d39fe88de9ac21f173f6875e2a1cfb781b1c573c98f8a40cceec0863e2136c244c27220fbdfa0d54345acb56354be9e021d6cb9614422006b77282eec63435d889aeab695ac7520b3255b1462f441483678f91bc1eb7c2a8bc556235d8c8f84a5abc9c7418f9a1f97c924283ed262b4eaf6afb8673327f58124c67700f22b6f308f9adaacc714e75fef31e9c7926af5a35597b519e587f1b584858d4e8e180b62674476b97f4ef002d2c5ac0dec055e93dda52593aa08843a5f8b8f29cb24fecc62963d4cf6314a9c0a3b504ad494cd31d8b9cde910470ead0ab2edecd82558fc045383a9d27d8d50edeb14bdf3127e3adab9a07f3f5bb73cf98d93a149',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('3A0E6009448DDF9409F2ECFFA7E4AEC6','C52',1,1,'OciR7StWFZuQJh0MbHbIu69+wcBV5n6gph8ByB3ZSftd12XcQsPNOUr7lgbraE/iRk0u9RjkI0QPmTqvWxhnemDImMhM4Nlci/6YsrvOsVv8aJhG5u50/r9KNRXFKL1M9F0hzmjqfwvIDzkd/Kv60FNKw/98nZFRheph9r/aTJayV9Zw3en0cMfej/f8HvfPOW9BxcNAdjFXitW2R67TAGNIgUymGiBA7qA+Cmb3MLs0GmPJjzFS/l8mmvAIqkVo/KlYOoLvhByN8ioUbiMCF1t1VjG5CixF5Wl529x1xxMkeRJIwgbTJLLtJba+B3eOyyaYEWeHo4WkhoHsFa7yDxnbbmKcg4ZdbDW0uN/kP24jgXHvfzP8hs1TT9WTDzvHKZ9VUlHTaPbbSJ+AnFv1858owwa68MKaula5tE9O0Ah/HH0dbjU1mBA84fO7tqtftjaHsk5znqXAUyR0XZxuly+O4wkC8g7EIjdE+/Oe7H3z6fxyB9L9bm3XqaJ9LFBWHChL3y79ctlPXFy20Djift0pAprSFBMTX4yjUXQV20P0dRIZi1rLFCvdFgSA0dY0eNtAJu7jlEUiaiEzDTDkEkGShyvLXedT47HiStjIhZB3Tqvguq6Q7J+g0QbWQjSsvx2Gv3SuBsJ4E8hQV4YAzqT8+TFmXofM1YS/jR6U6TcjfT9BNlV3u7NQ5HsrMqvRZmdWoGMKKfHTQi9fO/J5sQeuC2zG1gc7H0SRxGd0FRulwZYQDz1h/C//gMZE+CT3nsVguDU/ZMJeDI9bpGfqWVS29VIwRxypVvn8Ru6dvgJtFjGaCFFLvMmiQHIYjwP0GL1LpyX9VoWMgSN8DBQcKfMIhVRjXtQCxwgDqj1zBXKoKTdbCVVKgYIV+aNWDUggAdqSnFTUbc0IznxJu98Dlp5w4FOmLNVJVKVNGlsVDmJDngOsIzHqHPpeXUGnlYizAvSE5vim3Lfzopc0F+WHLgDLpSHf9F2rZN0qgIPLRjQKFywuRvbdnmEtW5xTkuXyZKt0OhPrPW/XoNt8dDso7lxSGnTLzTgmdXvUi45ti57jiF84cTwK5KAvoe+KusY+kAJuiFFlEpisXNR3BuQNdKfpNso1DJOPKtlLjbkfyuX38rZYQ6sJlPGE765Aob3u4o1KRgAcy8m40gkBwdnVbgP2Mmceqs54S6ApgSg3bWDag8Oyat9mt40huU4L+AUWCbdAyOIHw5TVCgLJIbFbGGUh5xxZGsBSjbpCZ6iYpx30qQ8RohBFSHRdCqHwfjHETqgR/FNFoV7j6m+oVTi6lCDuQzmhRiEXFrWSTqMx6kr+4rMnxBJN9yBfHqSJovPORmTW7hIRrdDXhNdNQSH8muXxnkNygOnkw0oWSiYNacvfosfonjk+9qQDh7PmbN1DT813B74Cvdk3v0D/UnvhykuiZy3TJKfqB4kwUpBRcXWYd+uQ9l92xARBNg7XasYnLlRwAAclNeTgwGP0YtBekg==',X'39d5ef09494b3f6c9fa6f224c24eae37c71d500ca54280b03293de0a8d3275b5d3ff00b01ffbb466b8b4481ea145da6785546feafeffda9f5166437a5995b4bc281a6629a7e5276759e96d168e24b249017c4611b4414e111a5747ed29cd04679b23c9cc786a0aa1a64978387e4d0b53d0810bc001713e5d8e085c25e697b3df1ea647375b401ce0e7e0babc38d23e9c865af128a47c27f9048bf174d09bb0b69f250b0fba864cabeb44520c20f3f70bc3211fae03742a529e216260db14f862e079e3728410e90280638fddb793ecabd9aabebaa70baffd1a53350df5a262877e6910129fcb8b39db2c18946d138c65d7ff83ea1b94ce635c3390b28ff54a5a',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('902BEF4C648EF42C470AD9419E8FC30A','C52',1,1,'MV9zoz/xALGl5YepxTlWIORS4jXSfYAC9IaCrPfrSNB6wkdKKNK+K4GAjS3wihczkAGZ13o+Ftk47RjUajCRYmXPNsQ+HpsXYx0gqlv+klHbjJP5iUuvHRdilcWr8zxERNELFVqF4/11nSQYg/VximCsislVp577sFyOqeh5n3hWkAJW0ii+ECiVABrWMi8dEQdEMG4iqAlIbNeopWAZ6cevkOHlc90gJMhHitFSnFLtjKsMzqYsgZKrjOmJHDLPIKnhgVg9jDOND4UN9+x49CbpkH//Xq3gRGRtlA0aIGIpS9KtvXFFN0Y8+uASnziGW5aB5RZJldiX06q+hE5RxWVK9j2b93u2qWoisws49iSgQ6iGEfkHXA9S79fTDizowg0KV9GD3kVIMF1lxzE9Cu1fv16JInx38FcTCa7nk7HP6W7Xzrb6m688MXw8F13WkTqfztlyVu0uosAL/KynEUO96goH5BOXVo0uApn2wsaDlJxcI+Ej9RuIXnDAPsAJHS34n3qqR5+w2FYsy9MKkfHtgyp++Y3m7GQq3cH/hKCrD/Uz8GZQmV0QfmAm9D7D30DKk+j/HZvoDwG71uvmz3MIIAYFr18iaJU/GZCQKtfAWRn9hy2A5sUapeO9yXS1OgD5QE6sdexnX1xRfhx2KWv36oqI0EYslyZJKAvhXFQOLpiOkAUa/ivf5zm+SmwP4zGfaA4Xpcuk7k8sw9QvIfrSHYTswpKy6vcGzslpyDj6gKRPMeBWqAqm+xF9xWYcVVxy6gQp0NsdpuTLGwoLEstceX4AbAkRnxP8rUf2V5qTkNrgv6dntAsarzU/1sv822PagnoGgNKErXZx9vfB+Z4ipUr5tjBQ2355GQAiOq9/7YyShCDHLIhAK0wllGlYpCowrwCVJS8lu/hoeg51qK+2iJnLNqxvv+ciOQxXlyVQe5v1hFVgcDb7pwkheWaRpNSvzOGgPegKO0wxVi3UFmuDqvWb6PcoEMES82OByhNrcwTyrlh9jURPm4riRIl8nALKA7e+tXnR3bViwT/F4Aevwr5wrE7gJXE1HHCsyt+WRHStVmvaopRTy7mLo59zWWdayfGWKj0FA76a2TtS32LqrSr5DtT5gSg44+RgZkS8X9bOHZxXjLujjjhKmOYzpLjNj93VNzOqKLevoHWi+Cu8tVO7US30gL6/ut1kKV52ZUe+tTii9eoGXCLVvrH7aTWW2JhFJVjOcJGpSCQn48gqSiwzyLDPbB26VqceufO9YPIriiNhtHmzwFv53v1UxtwbzOQb9bloe9AMdbjCSd4XxKhsmMttTD4uYp76YbAkbl2aOuF9CqS27oaUJkvvndmB280QdoVLSav2EgoZsMTaesmqFECWKkXy1pfMz4Lic2vGwtIkVPBrGpfBwckAhty0OV80H5bF+kzffyXF31qco8EhxLi6AFIFMyfTiYV7iPhwkc17iemjX+tQhbOVnsh8USD9Zpr4zgVw05GQpA==',X'18fb082d6971985bdb7e38e2d4203e6e62d5a8094c4fbc599d425c96b0a3a3ddfcc651360c51c403aa4eed3d02728a334a780115a93b8bbb53b99c73be70007fc572fe5c37592e2476e0c2fb0b896f07fef21106a5b64faae75c9976bba07eb1c9d8ba2dadb47d28bc33b35211dc0828a7148e8a8f9e3de804c0486964bb576ea8da57afaf472f4da051e7afeab20dfa908905f383eb4c85de5d61074ec38a0b8aec195eb6723880fa8c93c5cf7868f5e02d6341855ca80a05a67d1ae1e8c45eea8d4f472a1ab4b16a021936424162f250791956467ccc9b2420deccbdeecb9ea484e13c50bc9db2471e798721f5887bd0bfc6f9e80376cc4ac04e44d2deeade',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('BD6FCF57F31A2DB035D276E1B4A216D8','C52',1,1,'L96m77/RxzbMYTi+8DMTMMfMMg0WnunAjRPWr7aHaek02siF+HQ+jXVCcvMMsPbAgLP7jNes24EFQVy8AV20hjsTnbwfm2M/zedJwBxUtwXXjlgeB6XaF7HXYKciTvEINa0mkTHLLmLjDD3951/QjRfyf3uhIkEWgg10kFd+ryfSG9kxH1NufbzvTYe9PqVJG/CVajF5gKm94JnrAZTqBrjDm5ftN7CmySCVU1BD4Y4ZYdCFcCzTfytb8cu2qTb4F8RcVgN5yET9CCziJPz8GsdxpvOSvG58eX7V3e9pzucFbCDtxG5TTEtSX9GksaRMPap1T5g1ZhNILdL2cnsWqAPlyP7jx6hxL+bgT0xgKCVtgOhBNupGZtYfcK3pxzRPaM1Vqe76hjXzncpCq9Mp3XLsoKITQ3fv12O1BIoe9rDwtB2BmlqjVWPJ9DRpIIApK0+dQ/pjnpW+8FDy6CT3i8h7/5u7VaO6rA4SkcBQraFuUkUOPe/d90KmuYeodu30ClcZRFVBcFNK7mN/a2Ohzc8WE7RazMtDNiZvesLz0Oq5nhVJ2GymDLdVl9XlAX2E6jYwA1WfDbJTF4KWK1nb7qrK0cKbEF5i/fcxlCsuBCAU9Fy2bCvPQp/JDqpFCen20kt39IORkH9mNhFLOCef02eD2l/w9BmWIdL2XP7O3g9PfqyA5iLhWhDtixaJ4/ZVuBzMf/QCrotasOCLgfTwm3MMpF0ryihQmaASHrRPaMFbTn5TzcUjsy+XADaBuGRyfPTUhIavvLbAlQxAFdavvXiXkaA9zktAEcuq99sQnDOZpf1RGbU2guI6JVrkEI48uqa5YMw/TmbEdYcXfpfjE34pSN9E86A0ABzGXTG1RcHXyNPwuPqBRovyHubGYInnw6JpF4wO8CBQ4I2y2hAaHnWVrNjm6oA0FkMEicZQK4MumSnmVCxQZQ2SPMFhvqLlq6GVQepP+BWjint6WppvVoFyKXQv1xfE32vTV91oh8/FRohH2Vpm9UO47IqoolYM/MgOjJF9tNLLaKT+APW6QqnN16wCRucSJBOrq9Ezl6pHYlhScUZQjXO+fUYPXoGPIVYi2iJc+VX1JKt5r2I9vZ9CD8r2WdM933FKm+1dd3AEfSA7CAd3iAqh9ihCLqEoLSIzvdIJ0fXdA0t8ABpnLUKDRolMZNbb/CmglCy752Xq6bPvEJehRP6K6tGLsLUdyE2j59c2NR0QXHzQDvnoTk8z1OTz0DJJGntR3eUAjgLWnIlFkSUnam62fSNsd01bvivcjgWzLnKLhLO45drWMJpxAX2nbHIEYaqXeBVt5QEHKVaIjyqLMArt57htETwY9j4vchl0M9J3Op4tBTnwdt2l23ibAMEAgQ+v5CGdEHb6jhAYLwctmYyPDo3f4O+26P6KAlQdkRArc9dVE0bFTwKiSZLVR+nsRdvBDYuI+mPMsWzz0w2nJ07xpqxQXYv+TmdUiMwe6e279BB2SEzVIg==',X'67a017351ea62825e65736fc2dfa582dde140daedde430c7379aebb2f685e4527a8a4fde769936b7d3fd8f77fb1636e62330fa53451bec248c60d91c9a86a6a00c738d95b2169523030a933e698750a63709c8ca2640e1db944adede6989170a5a4b1b006fa5ae7704f48ba5ce3b2521d25372d16ef67f15b6d8bce3fe13c924245f91488abf045f87cfb99d343e8cb0ab785c3b01622cd2c599ef78795f1290575c66fb67e09ec3999999c8db6c3c415671e260bf9d5abad23bdece299d7fe024b8e0aa5e060277ece00908193021732a12d7cdd26f60d683e436deebcdaeddee89ea2735edfd6d66fc5e00c49182b549f60310f16b63e42bc5714d53dd7bcb',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('6B882C899E0BC37475B68ED0DDDB8AE2','C52',1,1,'mWGrvvroqm7JnIWqG0vnFv8UNxNgxVW185DVJozwZxjVTKZ75ua7lt4C0APayKUzspFbH1MZJ754gC76QF6McdbNmyOmbFMHIbNOBq7a5YtZj0+hVSuvOgkX8PNMJeA4wpH7iz2kVmKpKomNyOblDJUmGZG9aeqTGU5d5Ea4YZ1Iou8Qf8IuyUjW6zMR9D1XiDQ06Z3uYU8MedtGb23JP5poSu6juhW8ZZ1lOdqKB7aeqTvRSEv2TsSPmWU+zWuq4ZKaVlZbWCEkWsvedlsZUNEzKa5ymsjHGFdT4tDL/oxSvQdffakjFClJqSvpdrih3QzdLMtupeGbjLtBDXsunDAmJ5aDghxIFeRaTxzKoS/xwKf2BgRFdt4Cig6A9OnpaijDxEQouhwoVH1zJaDKpjCViIX3T1Kgj9WYn8X/Buh2YtlBbvcHoMSeZwjX5HjuS6v3XFbrF2V9bngASE9Yd6wj6Q14CAKM1kxW1LaT2Pl5XATZSdPuBRj/6DXyfOo6KJFnoBlr8n21Td8QH8pvjC6n+F2K6MRLXbPQmvgBn+nqvchUuxTYEySbcGBjtetyRIcEr56tOnIyhTrPqGeyPL3dE4aALJeqJHzS1EWc+acXgkqzJT/s/zNmmwVIi3XJetPHMP2YW1LBSQ1Xlk21fVqzya2oRWRTRHGdGf31p9F7PlNSPTSk0BvniHoUhavciJlrNhfYZuY/ij6Gaz5LzaEY/8b6X3P5alJv7Uyp6/4x27y3IRfdBlx9pRH8KlMoWyyaPujOC5TtL2eH/qMlVx42HhxkQvBWjXXpayLtHYK1EFIPHH7laHuWHTh6S7/4HSwBeZccmRX0GOWdRH74/WQ3jEPMF/yIrED7mfA5x48dyBIjZqMp4qdm0yPiyP0F1X71T5ktGIxrZzu6CGMkf/1SoP+BDf6AVOPBUktYR9gFkXXG9KlKHp4Eh7FBid9px5XiwDrKNDCwTBGQUm47kEcwIuaLRkGPxpzbqQriDRSEt7CLeb2o75oMQGbnK1Smzk1LJ3uTjejHAX5fkZIc3Pb9MSepZadAR44ekSVsONRHMUqwNtF0uWxITGvanbOjWZd5vBC0vHqRKwY1G9YOGINXtMkVezb2Ldyque0PsBCQNr44iy18Goh5KyQ6/5mGKfOAcgYNls3iFP24vJEUraK7tFPDNLf00Wapey0SPKUGQAvo7OR1csQ9TJtPJ9b7lrWcS3BYhK9NXfuqFxNqWX4AYgLQCAO6/Ul0bmOC0hygQ4+t5N+i5MGknmIJNXFF5GmEpHn0LJ14qNBf88XAnQhv9/QUr2u8RQ/SMtUrU+HCabwSQG6L4HWSzd+4z1vwoHBo6Rt41ReIedujHOZPJrSHjRT2ReBLzHujjrupJvuOV08VMZmgJ5PmP6XOBX8OWuRwUjBJnhOnWg4TU97xOrIBJeZ3nhfWxd3/HST7DMys43D00vRkvg+wmHojj53Fo7JPDxc2PHH90970dYFfuQ==',X'2b71887d643474e948d0e7416f627e2c14b845ce5c8cda7264dfc88d48f56d163dedb6e8b7e818d529d1fba7efd070a50dc97469c2b5acf76061be8e66ef8fdc1ea755009f21d977f2ccfcc7f917a9e31c49c6a680f9bb3429a68d56df1023d044c122cbcde877136dd87612d4eacc2ead5385c501fe42846307584f4801d6cac25628f0b2012316124e189dbaaa6da7c74d8765d339e6bf942ea5e9968dadffd6c3aa97d15f858c84a78ae8b85ac081d9678bf62879df79bb1e5786a12fe1a2cd2788a63006dfff35c9623a6ad8d54bc6e91bcf413fc990b2af9142d95f8d06d7d4403023365280b689ea8e19cfb964ae2aed85feec5f9f1c2cd0d17bae40f7',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('EAAF304F8A7DE3694D72C80B54B7CFEF','C52',1,1,'z+BTnVqS9poN8zJO35uWqt/8btuJ9xsY61KQ5jcvYGYrmqCjHbHpcv0NM1ylh7RlRlb6kBsuH2kVkap8WUWnvQOJYny3SA+qCfbi8kfVh7zTy44699HFwaI/f5XBiBpDT9fViIlgOoEjocxylZocept7yQOySSd56a6vWvneKXljNK9jQcUem5oVfLRzMEFma5dsKs8kOh+S4BVtbJ2LANSFod5cYctXYGVDBHm39W0UgdbdyA5Q8YIhFaXIFD/5EorKhFBTlxovFH92igEtl/izTTWdN1yfixB+I5n55QUZmG8KLimuJwhFZkVxXLrenNhg7rAORARXIyEP6fAyP85OujDb31bxcAVY6rcKq+BrJ/1GiJUHXXIGXnAitcTZ/OI9pXhzkHza3I5gboVw2qaCKoYgJEX2/Zq4PWYay1FajuFcn8Ny+y9usbrecxmCiRE1Lcy1xmvqGB2EDjCCo9ZBL/A0Om1IzibBgiQCh8N5JV3z5Q6HrnfUnX0pMm5HdL/BPalBJd/x4+wY1fIG86+WrHZGExc3X6NOYJkaLaQ9e1lkXBK0Cjhn/eDsHsLr9oKLclWrjQctsZDs59mLe7T8fNuY4T0+pEo0FLXSVLb9oH2B9ifb4wJfhWnNCHnlTsnpnVhNe45akNa1Ui+cxQPzS+Vya6omctvJy0AXiIJNGzgvf34XSmmKqFFY8M6xqNcyb3Yq9iVBmAS7E/AcH7M0LCeyWjm0BT90byhCSTpDeedfcOFDuC6HIVZRMkKdL1VIUwWWrvpOfzN/40wApiqNgevdcLOTRcKqnmAWdiuGpJZIN7dUnoftuzg/sucTYHz+MqWQghbP3z3RvNkJ+unkifAOg4sDkhRvCiYb8e1i7M1NH6rRRg0qzXRqPjcDkfAKBRVZl3X1AveKVHgde8TaSGfqgNY1dc1iJDLuDZ9AGIxO/S35GyB7z8saGIRvbao6++ykaQZ9X/iZtIHyXrd6IT6zH81hPNBvMaveuRUik/wv+SW7ba4BsDg3LHLTjff4feZzBupM6xoIcuVcygUkiFPd4tMfc3ai/wzfy1q4LeVuClhhReKYLeEVswZhDZaVZxVzqXJyZnaN1xEbBcVLGdlbJRw1NZCP5V0k2oEGeOGVG2zwctQWAWUUw9ZQMidd+OeN6NXIzcJg7mEtbcfwhyINWfm1hSbt0RQojvG7bL9J+Sq47MavvTtRdUsQdCEwiQ/K475BPQEijBrEwo5JF0fHaEIBAo6me8w7ahQ9vTvabKu3SFodqxiPPwIwE+0ZcnKlWP5RPiRftnSIjZz5KPjXTX4WzWrNobGw4lSjDDCWw9FXBnY5kbvIzLpT/ZxXP8w0tH6u96bgfpRwjSPlfUYOQCZQKujKzPYnHgT9mHEapmjv+MrNp//9YfTEd2NaSDmGOTZUUfqEYMVKURrpo3LG/TJTsp34oZLIl1XRS4MLHv9rfTS6IX9gtsuEYrfCf2PNbNqiaojUszBCyg==',X'3a294adaf233b0491adb623417ec9ad948cade2ec595b8d91a772a2ed767504b51efb7eafbbc5521698428ce6d2ab0ed7d9d4a095ee64f53b7dee7dc3dbec80b737ce9b2f68b2530530acb02bd24d6714cbad5cfea42dbcd53596ee4c6e736a22ee74e83989f3320b48cb5c9fb34a76a05525baf0e57d527388be820004112966193b54d4bf05615f735079819b187e337866db7808f6502ae88ce97e94cb51338141ccdfab79d7ab562cbdcafd4afead5beaff3aeaeee484954da94da40863902b30798496502ba8b4702d64c444abf2e5f5f19cabee2da1b3b248cdf60c84e5c63cbd24999ea9901926299e6bf68a2bdc13ddab8443cc95fd294a398bb70f1',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('980625E79F7C6C0FFC363FAE4C0C85D9','C52',1,1,'3g65+SHHfgofTYi2lmv3OPrfszqjJcJC09agrTapi1EwHPAsgmuNaHqxAO4ayx8bvWhellZlV/WuvEE0K6SJIjrcDOyOYhbZPXGrc0ZRwEDOGHnFESSnC7ut457KFsb2sGzS8oTmdC3B+bvsxhBmksD5L8KutmGNA/pv89bFZRZEvK8Y5H137GgvPA1oZutXXpXz9CLESmjHdjrFDhllRufl41ZYMkIuk4QXrUn3k1dsZHlrKUn45btz+6xIXB8LrsjTN513+i6sC4fEL4g8bWyYchRWqRzXQ8JVU9GhXFulsH/0hYecisL5WeP62uPESt8DUIEoVj9ipIt1mRf8QfwAw2z9QPNkL5qUu7v1jfdTJJWDsJJnYvJysY3If0Ze1bDy8edSgdM7oatyGRILJxEpzY/NModt766R9SSZx1fDSJ8Rt1+e+FcEWD1iSa/LE9SERZpYiYOqN9x2L8aZUnhcyAs2q1THEalGltFsgcYP3i3CYS1XjNLpJB8XQnPlFP00uc03+4jCZZJNuG5CijH8JylHYoLcktX1jITNAgdkj3CfRfF5OE0MKKKla9xJpBv5coe5/kwY8Av4P7s0TltPnlZqFAf/7mFYUWu73xEQ9ndFJLw7ALlYq1HmX7NKAhRtRtnNeayjoWtJboLWkaxHtf5IGVvsvz8+nQnoT2hly4XV9afTmkrWKi/x7MoMhIm5ga7NwuH6pzuHZWTwgCpTPmXDCpGLhhJmPOjIJMgXMgdYNwA0DUTvCunTDxnSJ3TjQKwQ7OtqJ/K9wUhswfW3HJfqZgkpvI3q9SQyDdCf9SUD8jTbNulzpwd2Dife1vcQO3CfJNViB6ygkaRSW+LJRRhaYX/PoRxTDrrmUmC9un+elQdlCL149b6c/i98sy5L23njeWarQzETZymHZB18z8BQgHBBK9UwL6KGPlkxF56JYGu8FAHisOpdOLJiwpUCJJP1W+aEFU+7A8/RjZEL4PoAH3wMli7xJHovh4Panp05CjbbSm+Dhsdr+5srgfcaZzcq9ZRi1Pyc0dv01uxUMXF4xv+b/TvVx+cOUsKhqD+YJ2AKkD9R/t/l/8EkYPcS2b8FfszoqJHNElstroelOdm11HUwSRA+vZFazTDwVB+rhwuyiq3xwdEb4PBxeDtq0pOW6GRPI9hAqX3m3NBNos+T20L1ekrZ1fdF7k79rCCVP3ExFWWsLH3vyopro+JWNPqQqO/YWp5A76vSGU+jbYjakOr8755Rg78IvZ7sETJVuVQ01fARJroX3Ux+q4hX+iYs5cUHxCTEFuNTtLUHpzLXlMxmKfXYFL+0iK6qbHGCKTHu6MBuTrCGya5o8yGA0H21ds1W0iIesc6w8RvJaY0A/Wfr3gzt/kuoFrzcORB+PJzEpOS9l/9Gw6jQ+aa5fySr8Me37erHrTjNEtkL4Hg0CU5lSSjvvQl+NiDlGoHb1Ab/tkLWVBFtbNJzabHmsTTQbolY5fE4KH/etg==',X'7f65786b8296890f126b52b3410f7bde4c72a5fd0d5035789ba6b9d2c42abb1862bcd4a451a42e915040f4eb1e9a97e39ccce95a966d01387d5235a75ce4ad28bcc7656cda0fc9c85af3a7083148ee16dcf89e4bcdf47d8333819274febbfe8ff5f18fffc7a5082cfd476aacf69469546691016766916924748ad6585cfd834ecb039e8c1172fae1870a156e5c55049a63a02daa36faa27725f3f2eda72d8780198908604768475d944ec6e78969c56513b1db96f9305889125b43bccf3d8a3582d61d7fc8a514a17a10fefa96b4d2a67ba1144b6d97b4bed17594538d6dbfebcc7eb3067e88d6a17c7bc0dde22641216b40b742d62220dfaf0ec7e84398aca8',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('784E3384756F039B5A994C08A2E64007','C52',1,1,'orjiwgTszzWfqgip0s81rmSVt9AublyS+0ujAR9isBnbSo5vzK7vKc5pGx2Du+WfxPgzc/VXwsBD2XKusP+qBzgzCYIZyNkRcZzwHzTWcDnHtRKeXXu0PzgoMzgWIGpZ6eJzhH7N/IfToLI98Yj8MBygDLr1A1SZ+BJaTGUJvpvG5dHgLvjLgmobhhS+OcQmrvKTZgU5ZJ8tjBaQfROiXvoKSip4t2382f16JVQm/P7FxZCmfTB+RQ1Dxkr/4K+XTSfWVf+ALsGbXQL7orMeA7QHpi6gJDfqX+eku/WnYiHntFPL3Mty+7ozjjTxnCC/dV27o4ieOUL8nX2D43IoCxB4f0PlNUn6LmMTHBGTL2fuQg5dtJ2uj6qI5UoD/x/4LjUfM1niw+Vyz3WVzqbm8smOmnbwO25QSiGRkgWMBOSykbGKYdu4+GneOSFS1+Vbtxptu93cZixDEOBUidqD6B1M14qh2VgODucPeDTKyDxEtBEhKssRjPvU0SkuaJAKLdLQzx6R4RkFLZkj76eG33sYTYdEwKRAMPnxuls7hOmKVXtSyaF0pdkrQ/TRzhJU2xMHBQW/jwc460o4sB53jTSh56sSEoWUJbLpJHRYtpCfLAhfaWz8e7BvHDFP+uMs+/Tr9hHqlInv9I+NUeUE53+zBJFR3JRZCgkfKwgCAri0KuoE+qU1jADNPNjfgeau5YRpPB7E/kiru5dY/Kzr8QCbAoU/0KyI2s/iyO2PpnN3IwOKq0b8BYDhF9snsCeS9QhdNAqgBVRngMk76vFsqV1PGYhMXkruYTpeJkgDccOpNlhhSmxFPtiHGM5uofdj+7i0Seb5dxfiWRGVsOkGp/2RvfLcujSAKXH0i3KghN7eYHo+M4xPk9lCMnAf1lGOin6SRwghqzn+6k1uNnnTGQGe/p4O5onM/INU8yTRVgNPknbZbVrtFI9xfLgqq+ITjKHMtkEWysjfkttkkgfP83F7N35M3q+xjcVoGKJK0ucyWo43mv7y0T5F1wdYNuwGzFJPsaL7z6W+fm2vhOcR9wxDH2C9kCx5M0aBwetMLIJ5W0tZOVgA766JCFk1OcQWEDkjqoyjdtq8DTPRdyNDIYCG96FC6F8YH4B9Fpm1JrSPKIcp5z6BTvxUaFDQz0RdpnhGB3IVBeCY3MzTcJ+fO8bR2GmqHqDkRQlZBlkpqzUFpFgYC0YqlEm4Zaff9ojd8IBxtbgn11X51pMEwddhyjQd8h0GaZf5JCViZfnu/kXKGLwJGck5uhaeKdutBdE4/qez13+Qd+zuVVdEUKpsDrbFi1LpwZDJLxhABbiGSfwc2uS1tthM1k29BvKav4fCvESbOPbxk+DmGPTOfG1mIn+0xa0i0iJbb0/SnCpR6W2mEnHjRtrwH6Wk4ygGKVtwVW4jLpKeL/E46VZqL15urcd7RxzaCOSQwfMMya9RUrASJYTjFatkKHp69ldtqdXUq+prMwOb+wic+9Wc2iOEVw==',X'4e206b6edc77156c9cadc548af70352494ddef26be47819a2bb72dd31a09b5a4bb8e058929860ed75857799c8c10c02a7e3f66a9cdf449530b6c0b100d3dbd6f4b5ea34d97670e31a275dc78c8d4fe240f8f646aa9e6776e4bee1b6b4238291e4e7b58b3e94d75a9b4bf63433b1c1b4d8055cd3d1c40fa38a652f0b60eed4be0aaed4105b5528ffc12f863d0d3959178c5298f33913b16a57f45ee93cdc7f7186810caafe9b03d01a39e8503a4fef3cfb220bc2a4f653bf4320b1753723cf42aa65e5d7c26482e6ccb9e8b86276056b9c6dcee5af441653844e99cb1585dbb58f6ce6c0c1a33a0c14210f598585eb9eea8dcbeb6b9dfc663d33c0db784503149',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('4BAC8FAA6361ECE17A7C95B3F69720FF','C52',1,1,'2eNfuhwiQ2ZvEu1HnJUJgo+klxoEWgjbYxR00qFj0a4eeXEwIK+C0e2q3HWjsFnD6xSeaLULxbuWcfLGkE7/4k5UfkV8dqrdD7DNp4EKqBt6WLo4h3p+RE7CasDy3YiL0S+6kgxzpwg7xc490xLPXwX/vT43mcR6ps7b8/lisvEFr5L/WUw+XBTYAcOtXD6o0bO7uUkTWjkCeTRg7IBjtYoegy4ot4IiVdwdEzjD9/G66Is4u2yTekJ7j7wbbJBq0x+XAjOQBHlu1Xr+XhVJ0rqdTtdHyQAbiNXya9oXD5t3RicjNrE8WS+h+7xi/ziOwzGuZGsVoGzgaLA9d1aQnyCPtKez3dpGHvNl+5qez4Tih37JxEDNWoid/EMtk9aYqgtUMDaDjwOo1vmsI5M13JGsNWb7VVBUA2iGPSDK1S8DofHs4nQaj/U8SPlFmIB8LQ5HpzAkuXP+T1x0iu0nbR9UDvsoV/3TlcCw/TwULM7BX0umffuP2CLsNNNIO+u3PKw9uOyhyeauU9oxsDj24IpaWyhfUbf1TJ5BdtXgO8xWUErJLYV4uRQxVP4A0OShBmPIeftfgiXhF/R8DtVZbdSDlZhDRvtJgpccjK2/JmoLF7PiHlOffbPHGttWAFQHl0rKjdOOlLvDlIHDd0i5ys9WpjE/dR4QMKJHT6w43VrWrfJlp2vZDObkr94OU1gVd8cKcus7NP2kxtYvyEVQprl/mpdO8TkYWG88aSxaUwxGOMjTUoCVLyNfj1WirxRkZsUddduEgytSKUNseOnhcpM+80/OcK9OJ8hiTzKjHg8sv0nFLXAVzmtKzij5klBDLmlfyG08Hez1K8gdHWT789EBDqkGyI+im848J16+xwcvfHQvYq63TMopzXicbHEWUj3XNEFJfsXfApGuR2SF7L76jTYwjB3f8EIikpnHGsa8mWjWSYyjwDuRD03+q4i7t0o9SqT/novkvXYVYX0kr6tV47tlWU742gS/eRtMlsFfs2B5s+KhP+M1Os612BVDs+w3zcX19vlVOcZlHWRLMLb+AFDKs/S/UAZ9JLlFzbnKcqrGAffu6/Uog7GKAK/RMoa98lExmxPA/Yf9Ij4Jmm4st4qBQQu48BePmvbwowqdEOss8WHV0tVzZuYcAJztT97MxoIzU0DSluMykDQGWQY0Q+S1YfeDCyiz7+3/rQpvzqTbn2BP+fgp8n9731vlgFVFKfMnYYQjjduq0fwvxJCPJqhDcW2nPrUE+sURMnWfSHhEg0Yuj3oFqLrJ2pF7a6koHbX5bXtyWwl5usklCHvBEOFyrYjLiR3nLAQHTC2eih9xV6ERON6Jwzn96fijyfAGA03eJUGXv9PkpEiqgVaSZwDS7YPzJ4o58czVsu4FBup5hbxsSM25ylTgvjPLUAjg+hsdtFWsywOqPtu0M/0Yh2wnROkgMEdTHNXROVNT1BYTFMSiK9waZFwUV5QBpaQS3WQ5JjLrcfErQrkd2w==',X'a1363fda67b55981ada7adff6703f8f812b359d91f13350be10a8bb7061cd2319aba146812ea613d74df9f5a8293cbf7c43cb4a10f415753be6e5b0509ca1ca9d95b65b861df0be871036c0a86696fb44004814aff40a425cb27cd870b2c1379875cf708cbe875472de096bef3a6ef2bb216c7db8c0d367dd7ebd4c63492a90cfb33a8738030e3732e16b99251de443ac9639c28d1dea12951d061b7ce0c9a5bbb8758d8cdf981c5ac561b5e77a3aeb111c70ddc4da4ff508d21ec0af0162f1b31cd5d7c5c171fef645977944a8cb7db1012d60a35e9454e5762a68e4d119521265e6b46a657a706a0c2a0b81c5a5c8ef7bd2c64a71dfac4de49ccec5d2eed1f',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('5162D2C2F382AA3974440ED4449D45D5','C52',1,1,'CwhZUFZmBPxWihAYjM3IISVwuYcbHD7J10EYrwDjsDo9t4gM+M94svWeaA9D3XHK0SNYYow01wckErI7tW0mCj0+Gry/ezJIgiTlI4mdgoPhwehKb7hwXR1jQ3RGE+OatzGJBzPCQDZcmNdFvImkXVlAkFccFXepo+oF3b8L51U84MZThE3Cokz8zgrWrRP2HyNLAFkYadGkuj9WsJcqW/831mnfqFT8abO2q0PSTMJGmqQOCdKNOCWVI9U9lqLmoB0VBaJ2dZ+jYHz6G4aNIkx0YFH2Qa8qiRRQEgmDY8cO7PK8hj9uE47Zmbi40i2JLQKnxHgEzybUkAho8L2CtAyfMEX2KPTvbVq5UFQdFDfDwsXvGnmQYjding7+dMBClqSsbrwP4VN6pDO/bFBqhCfl43ZYOy4YIaywzi9eeM5emjgzFubXRaPXNdS89r+jRDgbpY5VKBFvbMchRlHO3GTDHHyGop1z2uAXZ9EV/vRdb0vXaD141yTpbqUuTVzaAwwRb2epU3sX321+wHbynr/4ItdSk9XGF6wzSTF9eeDgpalGH9sEt++b0UeOWvgHD0hHKzrQ1U/UVSsBzxK6R/4DBJdezcci2D0dToym2xcjWgIF0woI/p7w9sBpHsS39CK5HaSaLcFmVXYD9qMhLZm417+LevIZlrWEyXIvL0vNQuWja14a5KIr/5xRQlFlASLvCs2c1XpVTicw7MHYAQvT36Vo95cMqBq08RP0yeyBhw6O/I2zpSvt3GFI5YhXf70UXlzaSGN0hk/UZ3gyZM2+eLRp57b6C5heLDjT2l7Dlp2k94gu9L12gFXKo9D0jHmTxgOW9Jv0RaZKTfKdY99wDWVzKhI2OmxvqvRLfKBIOW4506jQJs6iPlEGW7gRz8GApc5Pi7lVqF6qmwgCFirnX2SRqbDrGizSh+/pJBP/Yv11CHi+KV7lBewD6yEQR1KjfFL9sXev+ceOx1/BojsVJ3dF3KNokwprmRs9scL9sx7Yf1+QoXD81eucupeE55MLZrp92G0mh6Qz6+h1UFK6pzY0hGOhrczvn3cSwlh1S/tFVBdNM0qkvdMDXMupQanYSmiY3pwJrHEBBsgt5R7+CAQNA2ta39Pv4yTJ60JWRcnmA6/9KklXwwz5ZIF6kwCEATaEBedkMAWZn6o0+o3v25qwT5J/R6QMD39SGE/dIuri10wgj1DJlur9xnM/tUryOUTG0q/E4GyBd/qcPsbzI42z4t+WgbODdSsmii/cRqLMZCmnAhxdzaDAXfYL8OA/5JWth6ulqJC60mQufLQrqRpAi4pf4C7iRjLcVRmEPWdC7StPWPZK6HpJRPU4kvZMgO+2ZNRSM3FiWAo8AepMAhQP5xTAXTmdPorKPWNWjiH50x6AA6G95vp85KDNiqmbITf00ImeGzMrwGvd4YrO5XqT/ac67pTW6u6StFlcTk2Z77YqOYzqZdb/yfwhbgusKbCZ3jjJwlStLTcyfw==',X'5e7b2ce18c43d66c6484c15a8564896dd22b485cd0b58107f1de0ffcc628477fffef93f55fd20523158a60c52866a24e684a26c071b322f84917e6d5fb2763a7cb3faac8e01ca44224ea5ff1408a86a810f1f044edb409608c926ea49b05c7ee5f2ac25d8016b9197aa7ba6c37942112fc2b18636cdff7a7c6ec6b75400c78902e3a99c5961998126196fade70a30a98e586da27bf38ea19e6b70edda6c0406eff5d09c0bafbbde4bedf262e49709e32e397526932284108bfd83dd273c909dfee7989ad691eedf9194f15f9576f7ab95b29d0394c469f461e300dc5daae4321921b93253987978da9e14261e6cfdbe7ff2ebea08c83ba1adbbfa676908c18c6',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('BE087FF1982D7C7C8A4375D36264FB9A','C52',1,1,'xD7bVxbLO9/WJ2CeMUiJ7m1hslznt94UXSvmja+EJHAqB2Fm+gCDg8giuNrHhTXU4/XODA3XZS9q5sYz8U06F3wi+Piq+9FonECkjDIzOqXue/w6tN4QzZkWCqkzW/m2xDmi3uKPdJgTnKsqNf7c7VaDuAybno7sJvzd6HhkKCyDYrWsYZqfZjTXrxRVa53ddY8fD1OKX+f+1floBeIvju55ECQwEL1JlYQYs6z7IEpRbZ2g4Qra5f5N8Kebuyq3NE6I6/0/2Mkx/Qem7X8VccShttRO+x97eZHX6zHvADCI0t3JFvnSkYG6FSESlCFonmGv8rfTtlAPOW+UJ/30q3EV8kC8XAi+ZLZeyuilRNgzPoxJy4uRQa2qc9X+QrxgrwJLjFlmzEwWpmH9yTSazMcfy3hkQAgOfWvmHUNW38KpdE6eq4mzQtMvX1PcwNlXTJVOVUj0RWxK6qQoSKGjPo8p3I1axedQR/skoxS3ckUIbM/H3xwrvZpn3QM5ZATZ97mTcoJQZ8LmJDAENp/lR7yqdXThtVgX21lKKryEIYIV/ADDOGQF1B1YMxdM13Ari0RQ9xyBoXOnZZn0enqKmtsTyjjrlH6kFSrlwqai/CmAZjx+xoxtxvK38tX7YauqKXIJfiZEqHGx5WUq+nhkC1PLB31EAhca2QRD1x89LN8N75SD9kRIZ9Jft5drDwpapjsmbuvltIZFbcOInGkpOERgGmHCiNEh7XG2Ts1g8V56JaJQr9JullL7hkk5PrOt2mGD2fASu0hXQywEt25b0BE3PWfZNsaT+8HJa8It7Lk4DGrYGsI/G/rKWdKUfyIkIr4YeDbDyMjOBbct4I14OsV/Gp7Wnx9sBRkmIB4YBHsXysiPH4XrG2fgi2+RmfHLtV6Fbh20riEwfzHNZim+KMi3v/AofYL/gIxEGZKMIbwsTRf5g2GWDlnpqccMZBAY4ZDZ9/oQANHofxyXcUYZYx6oitCgqsO1ZA2U4PVy/a8l4vrN08Rm7qQKjjvtfg9NVEaJLfu6+eFWfBatZxsnbGW5Dbkrml7alZlQdY/GNreM4cHwfXqlzHY3yQvieFA1CxSagqj2r/eGYQSrFz7SbygMQBhtrXeWlbgG2KZ5n2Ve2KfX1ucLEd7z+U1QjR6s4ZX5hES3Qi3mIzZCTzlPomr4GcEZmTWY4ay0OunkMoquXQfQ+VFKb84w3fW5EuKEDkTg/5leQLXFVR6NNChRLlHFhJrgykbC25UTFWEvWgMH4ArKyGOkmaDyB4JJTXnqcWcRu4U/R0GRQg8R8L7hdWisM5mu6ULcsCmDkpnyrc3NZq+vTD7C4iR2rw2u34hlRLmTW7Z4mq1MSsD9VJVYkWuRMi8AtfKGZiw9AE2iRdASzje4lFOxLbFuJnUVFHC+7GblFFew1ayIkGVwE7MMjnYKRl1O5YLXJW4sGLPZPSnVJ06dArBo/tmdTx6jXOlHqnOB7eMkxhyAxM2qXMiW0w==',X'33da20980cc7ca010b19b2b378995eecc953a599fa1acbee9abcd69cd6e3e1e6d7a4955d2df9b055d14f5e9eaf293fed716464b0a731a31d36bdf886c36e7b65fe7b614eedd819e50da8463c9c4ff2b742ad933853e11f7d1b5fb849f3f60f311b5f20354a891d37cf743059e6eb519a40d5d7c574fd959670ea31b796f05767c2733a36f0d7ac051bee0613056f5386b349545ac4f93da60aed321a33b457419c03e1e08eb6d7d78eb117a85f1c470d90ffcab61f84271219d97fd55e04523fbf15f37d6f5d495305d7e67bda452d3705f24c1205b7ef2f86db48e70e7d5a1075da7e692de34e3dae7b3b9f5f0137a7ed608500658e7d3e7fc1ccf6e6d8a7ff',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('F02AF1EE4496F97FC3CCE6A7A9CCBEFE','C52',1,1,'vcp8PK1XzwiSnU88uv3tXYKktp0D4nj3J23/J+zanffneLyw3pG6p1ZL30xtnR+glJLiUTdGtydxWCZ6xiGVHbjsfbHm0xMOUep9AnzTc0T7PkbJ5y1iNP5OhfXPyr2MEUY+5xpavyPnx3cQLiBHuzv/KnFUVTefhRKWY7L+XRlfaCSnGdqt9j/wAQOyMk19fUx3L5o2t3xStFE/p0oWyzhV7S/9bZjPrRFcHJ6YFwR5KGsB4zGVptcNncoZCjQ0Au2Kph1zSDya29ORTEA0AbQLXhwhHz33fmDDI90ORbsnSpWsXfaD3Zhf26OlyQ1Q3/TfLcZsLHr/Sz8AQf6qLQ5HGVWukXlL0JYfGbeLyCCT2DmWGr5SZh3mSZ6aIXb3JkqNUlz/aGRPOFoNY9X4lopWNF4/dxI0Tljazye/LYxxqM3R16Rutp+V/C6Dt0q2e0JmNWCpMFa6JqrKkaenjwW1+T63n2v30dzHOr3PlL1JeieefbjgQvK9IYjvHtZgdJ/ObxLYUjbOdjvtSwQoHVRUp+3FCk6ukWGnxKNt4o9FKcLxq04/ILnqNn84Jo+faVe3n5fQBIv4DMUwbqPomhludZx2k4tSpS+cHVbFrLHzyqqKkqa5MJL+fzUmFhplQ2NreeA/uKTS3YFG6p7K85ZxRlu42rWKLNHjoM1k9XDvu3nqf2XYXPKITw88BbhZtlFac0E4TXNcl6qL/U8SmMYHgSnSPoSViZy2/+nrrKYflvx3MN0pEj7fs6bK1+GsLVYA155o7Gdw5DGNXvJFCdYep0vPvc79WzpluUxnNjDPabPcXw/pm56fPYca5zx6UYjxvK/zYSMqPYQUHVy9mwUFdcqKSF/+59e2LwzRFgGj4UFGJ3t5PQZpuITaWXvc8wN+W+yZm+LA6MToDVHB6bCU5BCXFsH3lTTTGLr1qI0WC8ZMYAnNUYOViWjaMwa4J1ioH/CADmKbA/1BdkGDYnAo3sxIM/bR6weskfHmxVQAqWETuHAyUKz9BjqMPksBCHDDOJMzccngFDxb2HDFSlYwaQJJada7FnMJYzEuVPyQpLKddO1qRIBefKIWgxAP2F6M+J81z3F6XGieGlwJao2I29VTu5MHkfncw55mkPZqxAKCQ+bTHcxOPvHBDzlGJcpzJUgB5/ozQRImsPgK2b5CD10kncp5CY0EzpPrI28q10QWZU68sZNXfuGvZAeTz0koWQ7O23p6InaNf0wC6Z77fmY0XaFVAXwLz8GSm2uwp0RNiMOG+UiCIM2cMkxdIhmQDqRngfC5bhENPFrt/QvP3WI1DJJSLgXhE83+Y6eqQIxd7OrmeglKTlYp3C5ZGWmP5ChlsIpQtlv6Cqg1oAH7h3iEYYl++CXOAVkBu2zUzw2YUhPixFRN/3r9cggWF4iMjUogkD220nsDsRiXLxb7w3UOrFdS1Z/TeLcRg7EDD8rwftLs04fXNvqMyYG4gKgp4/RL7CYO+dLN6/dcGg==',X'44ec6795049174691f500e49d4bd57b5f44ef379c844f1ef023314b322f4a2da653abb0a7f3ff496e7c597f9e72952a06ca7fda05302e5e262e0203ccb4df9e2af44f512be05c54cb308c43940f7729b71048c4231f8ce7af7181c5928329b2ae21b7e32d2b573fdd211c27af676399283b7121d78fc571a3079a1e2c76884b337d4f526bca927e0be625a39e0849832a29839d673c6b501c532ac67a1928eed6d309d2fd9a88a82473494b390ae26fc1b8c085febc53f60aff36bb9ab23d16f0603210eab326ef5abe9d829fda905ac42ac8a0bc7bd353932a02e2d7a7c8a7cdb99d66e82a44f36bbbb0dd87486d7dc25cdbe18b4389fd1f3d8e315fcca6610',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('A040461C975FEAD897A71BC6F9EA40D9','C52',1,1,'mOXrskroov1BoWMzMO2t2zpvZSUg2/xcSNE/wvjDQ6ups40ovBFVh54aL7jAilCKj5aFZxFGMA1rL+6kFfsZiFtU15D1ZrtLbx0czxCwelLaqmqwXblzQDAxANPs/lbhuxLPytbwCRh3WauI9y4OwmFThBBzpR7aFWr7E1dEOHPFuUCb3fJLiiXZiTYFrUNizFgPfyLXxCAHTC5Uk1NyzSoweD02sMQz5qVXRApyBZ55NpSe8G54kj+b5q9JX7IZUjAxMNdXmSO4GrKynObkjCYN4XLGMQkXnroFLg/Gg62gJrwMiMsFFvhj2LE+4CSPGJSzsCmLMjKo/5vJV8Uz09deEbfwRsQwOse90f9px3isJTtNxNWiCEwY/7uaUpASXuAziPLe4N/XNwiodRggQ9EGXMgYtk+Lb5+JTSTXGsJICPGji31B4rZriyY3ltKSuJXzsm58YFTSvaCM6qudO+5Prpo2GzIwCjKbDHltlNg0NWxMpFbFJBnbkge86jV2D9OCdjCtYhLCgfYzzAXxLxAqH2hwxoxyMZKkbYTGqC5WeKn4JuKiHZgkoKtSHrrHKC97uoSs+ddHNYRlm9snS075Ic4+u9LLJlXZvBI/bLNQxGvN82S3x9+wJz7AIYWoGwYb8qSgF7ncSkohz7szq5gXGKd24varMoKg1AXvW/RIrAlp4MQBheuzu+7xLi1JOoG35furkyS3mWxMJwYGUSa34Mdnxf8cbJfZauhKjWAYTr5VnNDePvmimxWObaw1+r8CAoYjQaVOyDlgKrwX9AZANohL1ecjiMzUiPRj4bkHNUUpP7GPvFoGiejDYf4hCnh1/rReRWGMvxAUArjyzti4DcsIjvuUHah+s03VqOdswfpI/DFGsZYM8BLDzIdxc+VWsUECziUmwZ68nI6lAHRpRU1OI57xalC1RCHfo5BaP3RS4xzbehLZZ9TIarDfylwJxUVq8TbpRM/k7H1hWTgQWSQbsdUVUjCWHjaegPWSNRZ0iDW/mVsO4qaS/E6yOPD0sKrLx5TtQYg/UE/QVqWI/MgytvxDK8ehlWaVXSw+mGcJmP1vfH50UkMKAEfRZlmFBSXX/W3MQytSWQmLVr2BCWhMNQ8CY7gTZqhN4Wy+KnZVnOc/AAFWBmPf+nBBluSHn+nQDs2DuKayAnoHqrtNhDiBgrrSDVGo4o90oXrj/6xS3FhNnDg4BdvOYcBwp0wZ4YC4Wkbfm4bVBdm0eddVcrrnGQ4wTumr53zEkmRs7LtiE3xPuhhcf26nNFL5oyH3yT5CMUUEGBXgrIw85WClojtvegLxKr1GWBdIWrgOy8+/q4dcColu4qNAwDtP2BJjr5mQb48Bs8I2qw6cbEULI0qTj0XCLpbbJpWnJ4O3QnxZsAAo164HdOcVeybJsYBGCVYdTYTuW4reqjxvzh18IXBFAEIG7USKlPI70J80Z9sM/TyVH9ZGiwSeec8n0nR2VSOfSvh3G1ssk+AvlA==',X'01f73ca2365ce49fe6ddab30c5559dee18e08ef2fa7ac2afa4d50e3eb85a137c065592b4bb087079144b2944bffeff488679d8eb6b1eb623fb2750fce1bc0d406aa4a2a25eba2a93cb8afc1b932d5b7f04b15778cd0e239f32554463a6fcc9878b3c104fc8499413d26ceb7d514574816c4d45b659473286440955ba082e9cc7acab2a110348b53ec5744411f20f96f264741dfb162033f6af941eb7b21e9a64b2c6152d45521b57204431d13e4a41ca79534f5e6497d3e935cf14c11bd4c464dc38801701a055fda747a6361a59f486626795556dcc0bd9d13faf21f75139e2f5dcb1f88de027a15c016ad7912481f6bb032e3e90c9decf6010688d40d3cda9',1,4096,0);
-INSERT INTO EbicsDownloadTransactions VALUES('C043D89CA5A1317EBF065F9B96DE31B2','C52',1,1,'IoAZOJ4fs2IUlIMzeafoQnd/GBIafXD0XoU6azo7CkKsn5rH5rZEQ+oBBZRvTN9K8eb9QisfWgetKKb1v6sjeEox8Pj2hV6A1c0u+iD0rXCaEfoup1sDpSGLCekg9OBpTz6bfZPQd/nQoo6o3v7i0jWVDYrYX0z3nZjqoUUlMxycSqVIV76meDSfgU3aDYkdizA3q7CKQPMvcXYuECOU2uwbnlaIZrBf9GxdM96AwC6LtTidI9s8JfSfL7Zbswz5xlk7fRlrtCPdI9cf3vH78YA/fFuXkpWLukeqvfF45pxozy+4ZMFA91NYUxGpdZWw/2C0aieK+IQokVPqIfJhUUbcip2i23uOm3WLoWiseol/RNIyLQmQ99UCkbHgHlk2UpCjiCI5Uwe6NfnMnneyJJUgeC0DabHgaUGVXhanbygFSn8LajmOwO91V/1+pl9hQzvwZMWsIS238Ma3OdAkY+9hh4PItn48w6Lei+IholkatgC8Px8/F154Y20Lt0CEayQry7K0NpTWVyG5LYveNLJHO3n9sfOorgBjaYZJL4iZ/uvcOn9spLXWHHyhf7JZTWJF0O4cbOzKGp5vr4bj/4od7Ewqt2yrg+Vxrb1ByFSjT0tBjdcPCjLzPZIEz4/r4+HEGlSd6QSfatHx73ZGA31ZGSeIw9YlXtgb4D06l7a25K4trJWbTGLMOvB9dJo8MLivrHzy9fQSoCYmDX/ekwdilYqpDcBNVWE8ieUPT3SutzQ1EfoeqZLAI679+oObARE5aBnRaNfSm4zBBqUo/RS9tL9356fp4v0MNLMZ7WwV2IM2FaPSVLykyIJql24cX54b8itkuL2D/wgeiCw42FBBpsylBtohI8WCO/WwbWXRhaYnIX4viaFf2+/68zYNV2lcs43IxBLe8qY4bG373T4BR0U7IV7q7qRi4/COtEULnzRY4Nc2GOANNpEhVQpoevnG4x/+DPtjOQzyGLuC/6XYlbNMXAo8iD292TVvMOK6heHyI9hWtHHWA4SMfDlKa7TsNhXkzfMODIZiwnVV0PA0XVnIoiwi9e8xq4cQm3wNGjG4KI8JFq+q4gnuxa+GaUWmNxxL5/4bo24X/ZH9OT4LEqjZQsxmce+lmwXkA5xmGuTlqdKOXeLicsRqAtmqPbypKbQ2aLs5+62kM/IIIEfZXM9hX2AQ4bQGavyW4LHIOgPYLT2F/SvpCIuljQOx/6KHgTXsAu8ZNWTeFfXc7G8MrSEjuBH5hSZGcqHraXJSH5IdIld+FONHTdNHKzl8CFP0psRWOSuzof/ZteqyGr0n29X5G13C8+pACRJ+k6hptCOajyWT57bQz6eKpuL5s6yLPD5VwLD6+52tok7P2gBy/aGVDmQTVuLIMlDYx/BaI3Ponf//G4YpM5VHfEiG6PE6LUV+MuFHn/o44IkfwhBDfEcGtFsshozU0bOCugnBj6qFf22SiAgkKhvm7Y+c5oulsVwz34LTjNtumj8O0g==',X'82c229e015612103c12665e43cc5c08c238943c3c35c45e172bf6cec570241a7c45e2364d50bff98ebb646d712ffa02a550f8a5520bbc050d0f02e9d094bc5615840f09a4257bfaa966e8d27a90002b2923642eb88a0238e139d66cc31c8299b8630c40d2f97c777000c0d82a12ac78a0562f93d569cb4b8fb109c0676c88169eb15bcba399a35b6f2004adabf0ed672d65ac2da0885b2ffebc49904b478c3883197859e376250d171b6482061853b5370d35fa1b12c39e4c418a7d03ba968614c412294de9b751361aebff85e3fe42cc590e68c8a9b2c5981447e4c5d7eedaa2cfcec36797aeeb42cd9a9b690bb03e513d5cfe2147c5f165df4a9f9f522aad7',1,4096,0);
-CREATE TABLE EbicsUploadTransactions (transactionID TEXT NOT NULL, orderType TEXT NOT NULL, orderID TEXT NOT NULL, host INT NOT NULL, subscriber INT NOT NULL, numSegments INT NOT NULL, lastSeenSegment INT NOT NULL, transactionKeyEnc BLOB NOT NULL, CONSTRAINT fk_EbicsUploadTransactions_host_id FOREIGN KEY (host) REFERENCES EbicsHosts(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_EbicsUploadTransactions_subscriber_id FOREIGN KEY (subscriber) REFERENCES EbicsSubscribers(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE EbicsUploadTransactionChunks (transactionID TEXT NOT NULL, chunkIndex INT NOT NULL, chunkContent BLOB NOT NULL);
-CREATE TABLE EbicsOrderSignatures (id INTEGER PRIMARY KEY AUTOINCREMENT, orderID TEXT NOT NULL, orderType TEXT NOT NULL, partnerID TEXT NOT NULL, userID TEXT NOT NULL, signatureAlgorithm TEXT NOT NULL, signatureValue BLOB NOT NULL);
-CREATE TABLE BankAccountFreshTransactions (id INTEGER PRIMARY KEY AUTOINCREMENT, "transaction" BIGINT NOT NULL, CONSTRAINT fk_BankAccountFreshTransactions_transaction_id FOREIGN KEY ("transaction") REFERENCES BankAccountTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO BankAccountFreshTransactions VALUES(1,1);
-INSERT INTO BankAccountFreshTransactions VALUES(2,2);
-CREATE TABLE BankAccountReports (id INTEGER PRIMARY KEY AUTOINCREMENT, reportId TEXT NOT NULL, creationTime BIGINT NOT NULL, xmlMessage TEXT NOT NULL, bankAccount INT NOT NULL, CONSTRAINT fk_BankAccountReports_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES BankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE BankAccountStatements (id INTEGER PRIMARY KEY AUTOINCREMENT, statementId TEXT NOT NULL, creationTime BIGINT NOT NULL, xmlMessage TEXT NOT NULL, bankAccount INT NOT NULL, balanceClbd TEXT NOT NULL, CONSTRAINT fk_BankAccountStatements_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES BankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE TalerWithdrawals (id INTEGER PRIMARY KEY AUTOINCREMENT, wopid BINARY(16) NOT NULL, amount TEXT NOT NULL, selectionDone BOOLEAN DEFAULT 0 NOT NULL, aborted BOOLEAN DEFAULT 0 NOT NULL, confirmationDone BOOLEAN DEFAULT 0 NOT NULL, reservePub TEXT NULL, selectedExchangePayto TEXT NULL, walletBankAccount INT NOT NULL, CONSTRAINT fk_TalerWithdrawals_walletBankAccount_id FOREIGN KEY (walletBankAccount) REFERENCES BankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO TalerWithdrawals VALUES(1,X'221e264ade01413992eb8a968c9440fe','8',1,0,1,'CVRZ3HNSZXCXX1J58PX9NAWKHNRJS52G4NMFWJHW9T586MWZDQDG','payto://iban/SANDBOXX/DE221125?receiver-name=Exchange+Company',9);
-CREATE TABLE DemobankCustomers (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, passwordHash TEXT NOT NULL, "name" TEXT NULL);
-INSERT INTO DemobankCustomers VALUES(1,'fortytwo','sha256-salted$jyQVJ6We9+s=$aeqxYNPDzc97jqBNAhgeGne8c2pk0mj2jJKDI0Sq1iE=','Forty Two');
-INSERT INTO DemobankCustomers VALUES(2,'fortythree','sha256-salted$MYTXNiFGqdk=$ud5y8CLNtaXubK0kJvjBKU+F/Zv2pNGWmJzUoKeGo00=','Forty Three');
-INSERT INTO DemobankCustomers VALUES(3,'exchange','sha256-salted$AVegAy38XJM=$Rl6h3JilRGimj3KHpHsYJgYbZeOyK7dpuiv0g9YAaf0=','Exchange Company');
-INSERT INTO DemobankCustomers VALUES(4,'tor','sha256-salted$luSF2lL1rgA=$PSuRbJsjLM6m4JDueBGhj7OLZUmCRYlPWMPh1PGa+Dc=','Tor Project');
-INSERT INTO DemobankCustomers VALUES(5,'gnunet','sha256-salted$jWMnD08445E=$mCpxm8BkvrpK93Ll79Vfgvl6OfbvK92JbLKZ8zhXXlA=','GNUnet');
-INSERT INTO DemobankCustomers VALUES(6,'tutorial','sha256-salted$q+QsYxChb0c=$A+c2a33loaqJDzgcsd15DBwjC9Nrgos+S/88v5wWVgM=','Tutorial');
-INSERT INTO DemobankCustomers VALUES(7,'survey','sha256-salted$yormcjJ+/lw=$0lQ0ybnT8QBrXJ7mxTp8dVbgTOkUaiVfq4PboOpJZhY=','Survey');
-INSERT INTO DemobankCustomers VALUES(8,'testuser-cd3gzzhb','sha256-salted$WV8oVwBhyf4=$njnH1M+8lDE90GTRZF3vIfsA8TbmLLll0BN8J+2pOOY=',NULL);
-CREATE TABLE NexusScheduledTasks (id INTEGER PRIMARY KEY AUTOINCREMENT, resourceType TEXT NOT NULL, resourceId TEXT NOT NULL, taskName TEXT NOT NULL, taskType TEXT NOT NULL, taskCronspec TEXT NOT NULL, taskParams TEXT NOT NULL, nextScheduledExecutionSec BIGINT NULL, lastScheduledExecutionSec BIGINT NULL);
-INSERT INTO NexusScheduledTasks VALUES(1,'bank-account','exchange-nexus','exchange-payments','submit','* * *',replace('{\n "rangeType" : null,\n "level" : null\n}','\n',char(10)),NULL,1660992813);
-INSERT INTO NexusScheduledTasks VALUES(2,'bank-account','exchange-nexus','exchange-history','fetch','* * *',replace('{\n "rangeType" : "latest",\n "level" : "report"\n}','\n',char(10)),NULL,1660992813);
-CREATE TABLE NexusUsers (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, password TEXT NOT NULL, superuser BOOLEAN NOT NULL);
-INSERT INTO NexusUsers VALUES(1,'exchange','sha256-salted$y6dRxUtLdOg=$bHmiqQfiuRAARZlNjdIqRjQKU2+YpsQrmk2gqp6vBrg=',1);
-CREATE TABLE NexusBankConnections (id INTEGER PRIMARY KEY AUTOINCREMENT, connectionId TEXT NOT NULL, "type" TEXT NOT NULL, "user" BIGINT NOT NULL, CONSTRAINT fk_NexusBankConnections_user_id FOREIGN KEY ("user") REFERENCES NexusUsers(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO NexusBankConnections VALUES(1,'talerconn','ebics',1);
-CREATE TABLE NexusBankAccounts (id INTEGER PRIMARY KEY AUTOINCREMENT, bankAccountId TEXT NOT NULL, accountHolder TEXT NOT NULL, iban TEXT NOT NULL, bankCode TEXT NOT NULL, defaultBankConnection BIGINT NULL, lastStatementCreationTimestamp BIGINT NULL, lastReportCreationTimestamp BIGINT NULL, lastNotificationCreationTimestamp BIGINT NULL, highestSeenBankMessageSerialId BIGINT NOT NULL, pain001counter BIGINT DEFAULT 1 NOT NULL, CONSTRAINT fk_NexusBankAccounts_defaultBankConnection_id FOREIGN KEY (defaultBankConnection) REFERENCES NexusBankConnections(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO NexusBankAccounts VALUES(1,'exchange-nexus','Account Holder','DE221125','SANDBOXX',1,NULL,NULL,NULL,30,1);
-CREATE TABLE NexusBankTransactions (id INTEGER PRIMARY KEY AUTOINCREMENT, accountTransactionId TEXT NOT NULL, bankAccount BIGINT NOT NULL, creditDebitIndicator TEXT NOT NULL, currency TEXT NOT NULL, amount TEXT NOT NULL, status VARCHAR(16) NOT NULL, updatedBy BIGINT NULL, transactionJson TEXT NOT NULL, CONSTRAINT fk_NexusBankTransactions_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES NexusBankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_NexusBankTransactions_updatedBy_id FOREIGN KEY (updatedBy) REFERENCES NexusBankTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO NexusBankTransactions VALUES(1,'AcctSvcrRef:RD95P1QY',1,'CRDT','TESTKUDOS','8','BOOK',NULL,replace('{\n "amount" : "TESTKUDOS:8",\n "creditDebitIndicator" : "CRDT",\n "status" : "BOOK",\n "bankTransactionCode" : "PMNT-ICDT-ESCT",\n "valueDate" : "2022-08-20Z",\n "bookingDate" : "2022-08-20Z",\n "accountServicerRef" : "RD95P1QY",\n "batches" : [ {\n "batchTransactions" : [ {\n "amount" : "TESTKUDOS:8",\n "creditDebitIndicator" : "CRDT",\n "details" : {\n "debtor" : {\n "name" : "Name unknown"\n },\n "debtorAccount" : {\n "iban" : "DE020224"\n },\n "debtorAgent" : {\n "bic" : "SANDBOXX"\n },\n "endToEndId" : "NOTPROVIDED",\n "paymentInformationId" : "NOTPROVIDED",\n "unstructuredRemittanceInformation" : "CVRZ3HNSZXCXX1J58PX9NAWKHNRJS52G4NMFWJHW9T586MWZDQDG"\n }\n } ]\n } ]\n}','\n',char(10)));
-CREATE TABLE PaymentInitiations (id INTEGER PRIMARY KEY AUTOINCREMENT, bankAccount BIGINT NOT NULL, preparationDate BIGINT NOT NULL, submissionDate BIGINT NULL, "sum" DECIMAL(20, 2) NOT NULL, currency TEXT NOT NULL, endToEndId TEXT NOT NULL, paymentInformationId TEXT NOT NULL, instructionId TEXT NOT NULL, subject TEXT NOT NULL, creditorIban TEXT NOT NULL, creditorBic TEXT NULL, creditorName TEXT NOT NULL, submitted BOOLEAN DEFAULT 0 NOT NULL, messageId TEXT NOT NULL, rawConfirmation BIGINT NULL, CONSTRAINT fk_PaymentInitiations_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES NexusBankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_PaymentInitiations_rawConfirmation_id FOREIGN KEY (rawConfirmation) REFERENCES NexusBankTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE NexusEbicsSubscribers (id INTEGER PRIMARY KEY AUTOINCREMENT, ebicsURL TEXT NOT NULL, hostID TEXT NOT NULL, partnerID TEXT NOT NULL, userID TEXT NOT NULL, systemID TEXT NULL, signaturePrivateKey BLOB NOT NULL, encryptionPrivateKey BLOB NOT NULL, authenticationPrivateKey BLOB NOT NULL, bankEncryptionPublicKey BLOB NULL, bankAuthenticationPublicKey BLOB NULL, nexusBankConnection BIGINT NOT NULL, ebicsIniState VARCHAR(16) NOT NULL, ebicsHiaState VARCHAR(16) NOT NULL, CONSTRAINT fk_NexusEbicsSubscribers_nexusBankConnection_id FOREIGN KEY (nexusBankConnection) REFERENCES NexusBankConnections(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO NexusEbicsSubscribers VALUES(1,'http://localhost:18082/ebicsweb','talerebics','talerpartner','exchangeebics',NULL,X'308204bd020100300d06092a864886f70d0101010500048204a7308204a302010002820101008b45a51bfb7d2631622bd4c9c6927af3a1d2353df012123c529884b44b87fc9726de0a32076ae9125c775b14b9063d258b340709bde79fb491a77217b6840b1a25e28771a6067460b8a19a72baff6ce273b1e92dce20546e70e74a71c2c96a7a45a0b9a24d9d7ad3f014f284e7d28f4cb8c937321d4b5feef500f1cf8821bf0ffe02f8e9eccca33734aa113b4d532937ab922e5aca318c3ff671fbf56d85a6742d751ec098fc1c3841dcf7b6b77fcab735d1d104ed4d63fc0c3881f1823c9f6ed43c486b44db9398eb438f03523db91bacf417f2bc46f985f75dfe24d2546e2e65d748e6ef54f84933e28e9e604db5ae39c56f7b21f00c7394bd58b42d349865020301000102820101008b355302f44eb4b559de5bf44fc2ac99079fd8ce0f3fd0f070d2b89a8a80e3aea60ffcfae2c52f30c6321b5d4c4ffb20a2d29f52527ac9fcb03641e987ead63a0db22f161f1086950317ad0c8ef3aeff6f0b5efb04f4f5cfea9495a9be3c9b6c9a5a3c130a27a5d5603d5fe80edc3d963f8208e4d3b93aabdc435470cf2e840d56a9121686175330f986d6ad0d425ca85be9c7c4773932505b56417c41b6d1a787f019e138755afa79f320627aa426471987228a101a31c82c870ec29ca9dbf39d1498936be78b78c0a4d21b199f96ced749dab693b563c545b907aa6ecf08d8ab9e5c299141ec638701c15293a4e307919783d388a353bf5360701f5e568a4502818100de32962435707972139d100c5f0382fd7727c23e5f69e3ba9aee42e5caa9993c9ce13ebf9b1ad9644be02cc29f0addeb33bf9a25db4315b2b47638a32b1309dfb10c11b736ea122e5af08bf6a7e14127bcd87e1401d430ede370599023c588e9efd188898cb1a245354ef5c19bdb4eecb55fb882b84e4b188977239e55ce34c302818100a0758cbbe010ecf6f0f9becc853a54e545392fda584de730e74bf1eb9092e78ff2ff645daa0a3006ffd74e5f609577907a859fe0c497465f13e95e7210c92404cd7c4baa695ee56e98aa623285eba6bdcee1243ef8ede50fa3faa8aaae936e204274e12c2ca4ba86ee037033d457bd0fd6a5f2d4250f205c27469da1e0cd8bb70281804bf1202da9f2121ff222293d01305311cc2ad391bbcc961fce1a06d54109ec2cb235addb90e8814a6d40662bf26da56160e3688cedbea4e8da12d9d2b2c32409c71a27e7e5a5e4a6e13ffba646c48f1f44c4fd7a5b11a9d3747b8eb0dbf9048d6800c658b4b475908fe2b7cdff35da68bea8c38831f3d868bf7aefba8afb1a3f02818074f61a769c165a548a44d1924d0ebef13c2b3a396322ae01d4a764193c92089ec216ed76e4ca7645b3d9a2741d77f5e66798dd783e74b243fdc49f26701bddd86e5c4adf55dd6949db985ee9cafa81d95b627b4437b958bdb4deb2716fbd6189bc476c170217b52b437558253f8410f8e9929f558a09e3a1a8b36d95a0c2d3330281804720ac1734782b6879ebd9715f3ed5fa581631078eead6f088635e41a5d31abd4d6260a3140c7beb04b7cfdf71d89d0409907b831b15d35435bf08532935e5d55f8731d8d8cfeca709793793d35629d196edea36dc473732c07621469c6d1a28a4822c277c6eacfb47023aeb6cd5db83297659fbae7ea7028c01706be4d083aa',X'308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100b980b760d30d0a6e8ae94917b9fad6cabdb17913d6995c43f054020e1e62b69591ea67c5bcda04024074b10136e9a49924e253fe22867de077f09a948d0ebbbfbca5976603e9e9b9de7d4b90131ad8dc15fd1cd1b5d6cc8e8715e274c0264d739dc421e234c3c616b6e7f40ff1294800106ca952c440a04335b3423bf188d3d69574c809f99618cd69061f0aa35c71c7c77be6920f41a0847ac7f955ec3ceb31244284218a128eed7dc8c081d8b0028a68ad7695cab623cf246cb84424c3a862c14c8aa07da9b6ebf13a0f71e7be39c661c21dbcb2276f8da0344ada6deef2320759539968e2d80184434b97b22c299875f2ba3f2ed2ae55bcaa70ba9aa62bb90203010001028201000a2e6b6230133e28550d7aca8795a1e65cc4f9dd41e106f45fa36cbd73a37d5bf637445cd101b248a15b064007d0890d32be0d581c72ff43abb193fa654792bc7251305f1405e9a31ef80786afd5c0634bfda9704527b5f078af95cf4ca08d8db3f208de0e815444f8e3003d43c23d466ba05b26c4c8bb43151672a3319d8dead7fd00abb79a1eae31ac6e4f428d0e2fda81b2721c574c1c3dc3332aa2102b76a57d9ba4ca63125e4e107b3f485c8d141330a3cc3cba0e6c132bb6c107c5e1d5e04ceff1bc281343bfa3b15c5779f128f4ad71fd481e4ff11508bf853a9b680940e24e56da04e4560e3df66906949b9690670564aab4982a07ce8502d9436c1102818100fb49f36910c067c69e58de86e709d11144844c82aeee07ebed1abf6956e03b346adc556bb1939c0873bacfbde85fa1892883d52c151e8476a7ff92ca3826f5f160858d3908f0b3d36e4d846bb7ad64f1f3384bd4a14aab92a990edb92c4464662f6e183cb5490572fe3bba5193b5585151be87b0cd3367ff60ebacfcb7cbe00d02818100bcfb07402b64032285e1b4afcccfd5d0032d56bf1c78db7530d6cb7ac3fe22ba1ca9ed58f7528e4dd7ae5620fc7ef6d86134bbe5a6a026fcb4860fb760c4b901fc952734593179404d718f816535b939140d5dd8d3e5f13775c2b5e18cc6e7b56e30e44f398fd5560b54993eee733f3955c49de74423970007de057a1cc4235d0281803d2a32e54ffe85440326fe8337995c1a27e34bfc43380d15901102a6514f231a0f28b262144729a3a507c3a925f6a10b11a18531c5b237ebe9d87b925d389e84b249cfa62256f46e725acbf0ac34b86d6c1637def9a3833f9fa67736ab5fba50651b172b2fb5266e671382b6788d9b81afb400b3383f5b00fe465f44e437ebc10281802f59e2be346111dc0399c3314d6b4212a5c925742b49290bdb19e6d032eda97be294bd50ce5f942273094eb16332d8dcecb64ee242f6dbedf3b9a794761db49187dd437e7d5ec517d48fc0ba5646b8cb5177ebecd9634326774e3b4e717ca1303794ee8fdf4767d7f06cd91d08983dde3adc5208516d6d7767813cf414e31c4d02818100e0544db1c5238a1ca3a3f6ca65b6e7e8df45fd35676f456626c97284f9b8e30dff4ec62aeade5b9df898ec4dd632b20e044c6c1a979d01ceda111f9a5b7684ed948a6cf64b6e94e0ffdcac7fcb2cd89e5ae47c9fc48383d61af19971f6d11996d029578fde20c08841bb0bda825cf1d5bddd6d65ee8aeeb17e5cfc9b5c0a7cca',X'308204bd020100300d06092a864886f70d0101010500048204a7308204a3020100028201010090884642528b7cacb40d3256bb9cc0a482ee74d393d341504a623c4189e707d5eea02914f1dfb7499f9119810a063902736f6255e98609dfaa1a5da1fa85fe27ff35459a836c058f22dff586eedb56d48fdaf1e639d28bc4e856a7dcd407e72fd61065c213c8a25df6aa6203216c751471dd8e2005e2b821a61c1dc6e5fec4e9bc53db3f3138ceb4bf660551fb5d8a4e11bff76e18b151ce4d478490799cc3564924d85d95746a057c2d376a22726c74ef63fbedc42d0afca253f43c0000602f0325c84008a4a68c0cdcdd31a3db0677053a88bc8a929604f02f4bca99a618696ecd57941a98e0644c97efed0d469002ab733b841c23c01bd21a0d401139fb63020301000102820100159f9dcb5c682c0df69e26d2dd1cd5a187493fc74bcd866f09c1eabbef72d634469045b5317ec4004ad43d9995b35aa2283d18dc3ba4e7234462cf716576d89089592201bcf9d35717e3a3eb3d1f29bd818c4336ab9df9754b4173b9d12b218681a3506619e9a189275754749d72898db67f6c3d1444584208851a5b609b9e4014722c023fb92cece3039f9d14453d710b0c4fbc6f9e764a6c35feb0f1493bceb3f0a6c55d9790f9c2213070565d5df84ecb1c9442bf34c1c66ddb5f0f2969958a443b6194d8bcfdffd107395a4c6006726d2d1b99d021437af0728292d5ccc074ae0e3f2e72ec0f2faa4a6c2b711644eaf43f1e05a42aa4d14fa84f8321e61102818100c2ce5ebc48dcdcdf198558d47fbdfc94e1f1cc26e2f7bb631ac0198256f08e4f90294af52a0ecd21d6cea3bf1d91ba07efa3757513c4f58e5e0a921223cc7eb59ed17e77efe28511d8904d31ece83d14915f6234091c804cb49af5ba30e3b18dfa9495db4eb34f7bab7e48acfbbba81e907dcaf4b2a86490207a21e93d3fd60b02818100bdef0f4fdf0da05f595d5417a90b785bd57560a6dd4bc6625c01670fe9551ac9ca5caf95942e6091950d778f955f941f1f267f7038a1bee1245d636490d033e6e5c21617263238b1fa77756f9acf526fa039ad7f43e07a3ffeb1e147053f6c4eb03bb57f211d3e594c20ef7b71b8d02f0f0c7750c1a5c05a7ab46cc1f7e47f090281807939d14c5c0f4d476c6b45e71f034c7e1dc8c9a15d568a7ed6b3ba6c18cc23d33143f10875beb63a9ba105d735806d02e946901e664a08012b566aa5ed2f219ec6115a212adf8cad9955db23f96860323f70dafcc4babec07d177d58fb7986117361298c4b025cb0f9fc611f7c9bbfb81d749a6b020eb65dd6480a78498c43170281803f3f9c99bc6d8d3a334820f8c01251c24313135c7dd4fdfb43283469d809bf21f38169f725a14c072edb8d35034910ca4c55459ad941038f75cca38c99acbb9be866f9743c03fd5d474b009069bd20768ba4a961f7f888bd46d37571710dedc3466c9bc3fa0303003999be261d78addafde7e8d3bba8b6a56ab72a806d4c6a01028181008ab20d0288018e0831bab5fcfd6910cbeab2bffad727da1af6bd64a4eff994ba5561252536f8a2722c78194aabd2062a20ebbbed6c53713c9945fabe3304efd177b7a08167a5f3be791fe8ee58523d154249c744e51dba7a96b6303dee9681d781f2a668fd6a89ba4a1ba27820953f003e4bd9106f32423f7eb3c03054443178',X'30820122300d06092a864886f70d01010105000382010f003082010a02820101009c86f065677481b259c68e3d9b6cf33e32a4802e3dc7d96d60b6d8b158d56579604072a9244c24f640e15d3fc3d1f0055a6dcb4d298a21db570e3d795f7c8c5de2894c769673e2539ca0043a78e61deb3f383a13c5cc091400e6c300249a0cd161007d5d3f0946233a422418dd88c7aba6359f8d3e42ce19d4ca8203305d6e0cbb92dbf668997b6c4e7bccd9070ef9c742fab237d12c2bbac8e883aad4fcc0a3f1371416cc79bad1931fb2cb1a8f18559f0bb879737aa62fee955d1f4efbed3b4758aa7d079c3ccc01bccbbfa9ac100da3c848c766492cc82efd1317e1e38263c7fda9eb4eba6a15ee3d9ccbbae5c706928c199b38d0384236320a9e9ad849510203010001',X'30820122300d06092a864886f70d01010105000382010f003082010a0282010100952d1b1bbc7d3a08639e8afc234dd8f2ecd08343df7262a733a3c3255dbae958b2bd1daae2450c5098e505d076c68aa629b2e07c46cbec1328df958f048742c1deb3d1c8692763b4e26c0a1e4afe4fd68bcb465bf8a1d67ba30478aa816a18f285809a1f787f8ec4542159a7308206858674db20ea2d6d6e72b3a555c7caad591c32e10ddc9d5d7d32d2ffd566c05f855717625c555c50c98cf2a435c620420657c19f56054b5162a60ab1ee6e8adb17141c123b5848ff303f4994ea4416c3a5ec5ce5325853ef54f3a7f1cda1cc9d33a22bd28921ce8ccc720b0cb8accc2aa80b3fc400b6c8b3cff78f8ff3760355a84d7e2c0b9cb15558ce0811642ba533130203010001',1,'SENT','SENT');
-CREATE TABLE NexusBankBalances (id INTEGER PRIMARY KEY AUTOINCREMENT, balance TEXT NOT NULL, creditDebitIndicator TEXT NOT NULL, bankAccount BIGINT NOT NULL, "date" TEXT NOT NULL, CONSTRAINT fk_NexusBankBalances_bankAccount_id FOREIGN KEY (bankAccount) REFERENCES NexusBankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE AnastasisIncomingPayments (id INTEGER PRIMARY KEY AUTOINCREMENT, payment BIGINT NOT NULL, subject TEXT NOT NULL, timestampMs BIGINT NOT NULL, incomingPaytoUri TEXT NOT NULL, CONSTRAINT fk_AnastasisIncomingPayments_payment_id FOREIGN KEY (payment) REFERENCES NexusBankTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE TalerIncomingPayments (id INTEGER PRIMARY KEY AUTOINCREMENT, payment BIGINT NOT NULL, reservePublicKey TEXT NOT NULL, timestampMs BIGINT NOT NULL, incomingPaytoUri TEXT NOT NULL, CONSTRAINT fk_TalerIncomingPayments_payment_id FOREIGN KEY (payment) REFERENCES NexusBankTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO TalerIncomingPayments VALUES(1,1,'CVRZ3HNSZXCXX1J58PX9NAWKHNRJS52G4NMFWJHW9T586MWZDQDG',1660992761519,'payto://iban/SANDBOXX/DE020224?receiver-name=Name+unknown');
-CREATE TABLE Facades (id INTEGER PRIMARY KEY AUTOINCREMENT, facadeName TEXT NOT NULL, "type" TEXT NOT NULL, creator BIGINT NOT NULL, CONSTRAINT fk_Facades_creator_id FOREIGN KEY (creator) REFERENCES NexusUsers(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO Facades VALUES(1,'test-facade','taler-wire-gateway',1);
-CREATE TABLE TalerRequestedPayments (id INTEGER PRIMARY KEY AUTOINCREMENT, facade BIGINT NOT NULL, payment BIGINT NOT NULL, requestUid TEXT NOT NULL, amount TEXT NOT NULL, exchangeBaseUrl TEXT NOT NULL, wtid TEXT NOT NULL, creditAccount TEXT NOT NULL, CONSTRAINT fk_TalerRequestedPayments_facade_id FOREIGN KEY (facade) REFERENCES Facades(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_TalerRequestedPayments_payment_id FOREIGN KEY (payment) REFERENCES PaymentInitiations(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE FacadeState (id INTEGER PRIMARY KEY AUTOINCREMENT, bankAccount TEXT NOT NULL, bankConnection TEXT NOT NULL, currency TEXT NOT NULL, reserveTransferLevel TEXT NOT NULL, facade BIGINT NOT NULL, highestSeenMessageSerialId BIGINT DEFAULT 0 NOT NULL, CONSTRAINT fk_FacadeState_facade_id FOREIGN KEY (facade) REFERENCES Facades(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO FacadeState VALUES(1,'exchange-nexus','talerconn','TESTKUDOS','UNUSED',1,1);
-CREATE TABLE TalerInvalidIncomingPayments (id INTEGER PRIMARY KEY AUTOINCREMENT, payment BIGINT NOT NULL, timestampMs BIGINT NOT NULL, refunded BOOLEAN DEFAULT 0 NOT NULL, CONSTRAINT fk_TalerInvalidIncomingPayments_payment_id FOREIGN KEY (payment) REFERENCES NexusBankTransactions(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-CREATE TABLE NexusBankMessages (id INTEGER PRIMARY KEY AUTOINCREMENT, bankConnection BIGINT NOT NULL, messageId TEXT NOT NULL, code TEXT NOT NULL, message BLOB NOT NULL, errors BOOLEAN DEFAULT 0 NOT NULL, CONSTRAINT fk_NexusBankMessages_bankConnection_id FOREIGN KEY (bankConnection) REFERENCES NexusBankConnections(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO NexusBankMessages VALUES(1,1,'sandbox-1660992750001','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323735303030313c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a33302e30303132365a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a33302e30303132365a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(2,1,'sandbox-1660992752392','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323735323339323c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a33322e3339323237395a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a33322e3339323237395a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(3,1,'sandbox-1660992754615','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323735343631353c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a33342e3631353538365a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a33342e3631353538365a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(4,1,'sandbox-1660992756828','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323735363832383c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a33362e3832383231365a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a33362e3832383231365a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(5,1,'sandbox-1660992759039','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323735393033393c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a33392e3033393634325a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a33392e3033393634325a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(6,1,'sandbox-1660992761241','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323736313234313c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a34312e3234313036365a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a34312e3234313036365a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(7,1,'sandbox-1660992763585','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323736333538353c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a34332e3538353930355a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a34332e3538353930355a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(8,1,'sandbox-1660992765793','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323736353739333c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a34352e3739333531355a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a34352e3739333531355a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(9,1,'sandbox-1660992767985','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323736373938353c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a34372e39383533325a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a34372e39383533325a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(10,1,'sandbox-1660992770143','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323737303134333c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a35302e3134333731315a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a35302e3134333731315a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(11,1,'sandbox-1660992772321','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323737323332313c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a35322e3332313134315a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a35322e3332313134315a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(12,1,'sandbox-1660992774477','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323737343437373c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a35342e3437373733395a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a35342e3437373733395a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(13,1,'sandbox-1660992776641','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323737363634313c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a35362e3634313234345a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a35362e3634313234345a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(14,1,'sandbox-1660992778791','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323737383739313c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a35382e3739313733345a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35323a35382e3739313733345a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(15,1,'sandbox-1660992780967','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323738303936373c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a30302e3936373034335a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a30302e3936373034335a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(16,1,'sandbox-1660992783117','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323738333131373c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a30332e3131373536365a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a30332e3131373536365a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(17,1,'sandbox-1660992785270','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323738353237303c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a30352e3237303231325a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a30352e3237303231325a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(18,1,'sandbox-1660992787450','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323738373435303c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a30372e3435303539385a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a30372e3435303539385a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(19,1,'sandbox-1660992789599','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323738393539393c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a30392e3539393032375a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a30392e3539393032375a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(20,1,'sandbox-1660992791746','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323739313734363c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a31312e3734363038325a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a31312e3734363038325a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(21,1,'sandbox-1660992793892','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323739333839323c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a31332e3839323338345a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a31332e3839323338345a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(22,1,'sandbox-1660992796028','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323739363032383c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a31362e3032383436325a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a31362e3032383436325a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(23,1,'sandbox-1660992798186','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323739383138363c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a31382e3138363631325a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a31382e3138363631325a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(24,1,'sandbox-1660992800327','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323830303332373c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a32302e3332373338365a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a32302e3332373338365a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(25,1,'sandbox-1660992802472','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323830323437323c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a32322e3437323235355a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a32322e3437323235355a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(26,1,'sandbox-1660992804606','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323830343630363c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a32342e3630363239375a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a32342e3630363239375a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(27,1,'sandbox-1660992806744','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323830363734343c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a32362e3734343236375a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a32362e3734343236375a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(28,1,'sandbox-1660992808880','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323830383838303c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a32382e3838303135365a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a32382e3838303135365a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(29,1,'sandbox-1660992811008','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323831313030383c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a33312e3030383830345a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a33312e3030383830345a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-INSERT INTO NexusBankMessages VALUES(30,1,'sandbox-1660992813135','C52',X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0a3c446f63756d656e7420786d6c6e733d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d2275726e3a69736f3a7374643a69736f3a32303032323a746563683a7873643a63616d742e3035322e3030312e30322063616d742e3035322e3030312e30322e787364223e0a20203c426b546f4373746d72416363745270743e0a202020203c4772704864723e0a2020202020203c4d736749643e73616e64626f782d313636303939323831333133353c2f4d736749643e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a33332e3133353236325a3c2f4372654474546d3e0a202020203c2f4772704864723e0a202020203c5270743e0a2020202020203c49643e303c2f49643e0a2020202020203c456c6374726e635365714e623e303c2f456c6374726e635365714e623e0a2020202020203c4c676c5365714e623e303c2f4c676c5365714e623e0a2020202020203c4372654474546d3e323032322d30382d32305431303a35333a33332e3133353236325a3c2f4372654474546d3e0a2020202020203c416363743e0a20202020202020203c49643e0a202020202020202020203c4942414e3e44453232313132353c2f4942414e3e0a20202020202020203c2f49643e0a20202020202020203c4363793e544553544b55444f533c2f4363793e0a20202020202020203c4f776e723e0a202020202020202020203c4e6d3e44656269746f722f4f776e6572204e616d653c2f4e6d3e0a20202020202020203c2f4f776e723e0a20202020202020203c537663723e0a202020202020202020203c46696e496e73746e49643e0a2020202020202020202020203c4e6d3e4c6962657566696e2042616e6b3c2f4e6d3e0a2020202020202020202020203c4f7468723e0a20202020202020202020202020203c49643e303c2f49643e0a20202020202020202020202020203c497373723e58593c2f497373723e0a2020202020202020202020203c2f4f7468723e0a202020202020202020203c2f46696e496e73746e49643e0a20202020202020203c2f537663723e0a2020202020203c2f416363743e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e505243443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e303c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c42616c3e0a20202020202020203c54703e0a202020202020202020203c43644f7250727472793e0a2020202020202020202020203c43643e434c42443c2f43643e0a202020202020202020203c2f43644f7250727472793e0a20202020202020203c2f54703e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f44743e0a2020202020203c2f42616c3e0a2020202020203c4e7472793e0a20202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020203c436474446274496e643e435244543c2f436474446274496e643e0a20202020202020203c5374733e424f4f4b3c2f5374733e0a20202020202020203c426f6f6b6744743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f426f6f6b6744743e0a20202020202020203c56616c44743e0a202020202020202020203c44743e323032322d30382d32305a3c2f44743e0a20202020202020203c2f56616c44743e0a20202020202020203c41636374537663725265663e52443935503151593c2f41636374537663725265663e0a20202020202020203c426b547843643e0a202020202020202020203c446f6d6e3e0a2020202020202020202020203c43643e504d4e543c2f43643e0a2020202020202020202020203c466d6c793e0a20202020202020202020202020203c43643e494344543c2f43643e0a20202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a2020202020202020202020203c2f466d6c793e0a202020202020202020203c2f446f6d6e3e0a202020202020202020203c50727472793e0a2020202020202020202020203c43643e303c2f43643e0a2020202020202020202020203c497373723e58593c2f497373723e0a202020202020202020203c2f50727472793e0a20202020202020203c2f426b547843643e0a20202020202020203c4e74727944746c733e0a202020202020202020203c547844746c733e0a2020202020202020202020203c526566733e0a20202020202020202020202020203c4d736749643e4e4f5450524f56494445443c2f4d736749643e0a20202020202020202020202020203c506d74496e6649643e4e4f5450524f56494445443c2f506d74496e6649643e0a20202020202020202020202020203c456e64546f456e6449643e4e4f5450524f56494445443c2f456e64546f456e6449643e0a2020202020202020202020203c2f526566733e0a2020202020202020202020203c416d7444746c733e0a20202020202020202020202020203c5478416d743e0a202020202020202020202020202020203c416d74204363793d22544553544b55444f53223e383c2f416d743e0a20202020202020202020202020203c2f5478416d743e0a2020202020202020202020203c2f416d7444746c733e0a2020202020202020202020203c426b547843643e0a20202020202020202020202020203c446f6d6e3e0a202020202020202020202020202020203c43643e504d4e543c2f43643e0a202020202020202020202020202020203c466d6c793e0a2020202020202020202020202020202020203c43643e494344543c2f43643e0a2020202020202020202020202020202020203c537562466d6c7943643e455343543c2f537562466d6c7943643e0a202020202020202020202020202020203c2f466d6c793e0a20202020202020202020202020203c2f446f6d6e3e0a20202020202020202020202020203c50727472793e0a202020202020202020202020202020203c43643e303c2f43643e0a202020202020202020202020202020203c497373723e58593c2f497373723e0a20202020202020202020202020203c2f50727472793e0a2020202020202020202020203c2f426b547843643e0a2020202020202020202020203c526c746450746965733e0a20202020202020202020202020203c446274723e0a202020202020202020202020202020203c4e6d3e4e616d6520756e6b6e6f776e3c2f4e6d3e0a20202020202020202020202020203c2f446274723e0a20202020202020202020202020203c44627472416363743e0a202020202020202020202020202020203c49643e0a2020202020202020202020202020202020203c4942414e3e44453032303232343c2f4942414e3e0a202020202020202020202020202020203c2f49643e0a20202020202020202020202020203c2f44627472416363743e0a2020202020202020202020203c2f526c746450746965733e0a2020202020202020202020203c526c7464416774733e0a20202020202020202020202020203c446274724167743e0a202020202020202020202020202020203c46696e496e73746e49643e0a2020202020202020202020202020202020203c4249433e53414e44424f58583c2f4249433e0a202020202020202020202020202020203c2f46696e496e73746e49643e0a20202020202020202020202020203c2f446274724167743e0a2020202020202020202020203c2f526c7464416774733e0a2020202020202020202020203c526d74496e663e0a20202020202020202020202020203c55737472643e4356525a33484e535a58435858314a35385058394e41574b484e524a53353247344e4d46574a485739543538364d575a445144473c2f55737472643e0a2020202020202020202020203c2f526d74496e663e0a202020202020202020203c2f547844746c733e0a20202020202020203c2f4e74727944746c733e0a2020202020203c2f4e7472793e0a202020203c2f5270743e0a20203c2f426b546f4373746d72416363745270743e0a3c2f446f63756d656e743e',0);
-CREATE TABLE OfferedBankAccounts (id INTEGER PRIMARY KEY AUTOINCREMENT, offeredAccountId TEXT NOT NULL, bankConnection BIGINT NOT NULL, iban TEXT NOT NULL, bankCode TEXT NOT NULL, holderName TEXT NOT NULL, imported BIGINT NULL, CONSTRAINT fk_OfferedBankAccounts_bankConnection_id FOREIGN KEY (bankConnection) REFERENCES NexusBankConnections(id) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT fk_OfferedBankAccounts_imported_id FOREIGN KEY (imported) REFERENCES NexusBankAccounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT);
-INSERT INTO OfferedBankAccounts VALUES(1,'exchange',1,'DE221125','SANDBOXX','Account Holder',1);
-CREATE TABLE NexusPermissions (id INTEGER PRIMARY KEY AUTOINCREMENT, resourceType TEXT NOT NULL, resourceId TEXT NOT NULL, subjectType TEXT NOT NULL, subjectName TEXT NOT NULL, permissionName TEXT NOT NULL);
-DELETE FROM sqlite_sequence;
-INSERT INTO sqlite_sequence VALUES('DemobankConfigs',1);
-INSERT INTO sqlite_sequence VALUES('BankAccounts',9);
-INSERT INTO sqlite_sequence VALUES('DemobankCustomers',8);
-INSERT INTO sqlite_sequence VALUES('EbicsHosts',1);
-INSERT INTO sqlite_sequence VALUES('EbicsSubscribers',1);
-INSERT INTO sqlite_sequence VALUES('NexusUsers',1);
-INSERT INTO sqlite_sequence VALUES('NexusBankConnections',1);
-INSERT INTO sqlite_sequence VALUES('NexusEbicsSubscribers',1);
-INSERT INTO sqlite_sequence VALUES('EbicsSubscriberPublicKeys',3);
-INSERT INTO sqlite_sequence VALUES('OfferedBankAccounts',1);
-INSERT INTO sqlite_sequence VALUES('NexusBankAccounts',1);
-INSERT INTO sqlite_sequence VALUES('NexusScheduledTasks',2);
-INSERT INTO sqlite_sequence VALUES('Facades',1);
-INSERT INTO sqlite_sequence VALUES('FacadeState',1);
-INSERT INTO sqlite_sequence VALUES('NexusBankMessages',30);
-INSERT INTO sqlite_sequence VALUES('TalerWithdrawals',1);
-INSERT INTO sqlite_sequence VALUES('BankAccountTransactions',2);
-INSERT INTO sqlite_sequence VALUES('BankAccountFreshTransactions',2);
-INSERT INTO sqlite_sequence VALUES('NexusBankTransactions',1);
-INSERT INTO sqlite_sequence VALUES('TalerIncomingPayments',1);
-CREATE UNIQUE INDEX accountLabelIndex ON BankAccounts (label);
-CREATE UNIQUE INDEX NexusBankAccounts_bankAccountId ON NexusBankAccounts (bankAccountId);
-CREATE UNIQUE INDEX Facades_facadeName ON Facades (facadeName);
-CREATE UNIQUE INDEX OfferedBankAccounts_offeredAccountId_bankConnection ON OfferedBankAccounts (offeredAccountId, bankConnection);
-CREATE UNIQUE INDEX NexusPermissions_resourceType_resourceId_subjectType_subjectName_permissionName ON NexusPermissions (resourceType, resourceId, subjectType, subjectName, permissionName);
-COMMIT;
diff --git a/src/auditor/revoke-basedb.age b/src/auditor/revoke-basedb.age
deleted file mode 100644
index c7d49c42b..000000000
--- a/src/auditor/revoke-basedb.age
+++ /dev/null
@@ -1 +0,0 @@
-1660992814
diff --git a/src/auditor/revoke-basedb.mpub b/src/auditor/revoke-basedb.mpub
deleted file mode 100644
index 3afd7dcbe..000000000
--- a/src/auditor/revoke-basedb.mpub
+++ /dev/null
@@ -1 +0,0 @@
-7WGDAMGZX7JDVWSQ4XY23WJZ0SQJ8A16YYFZZD1K8EKH3G08M2MG
diff --git a/src/auditor/revoke-basedb.sql b/src/auditor/revoke-basedb.sql
deleted file mode 100644
index 247548a33..000000000
--- a/src/auditor/revoke-basedb.sql
+++ /dev/null
@@ -1,16080 +0,0 @@
---
--- PostgreSQL database dump
---
-
--- Dumped from database version 13.7 (Debian 13.7-0+deb11u1)
--- Dumped by pg_dump version 13.7 (Debian 13.7-0+deb11u1)
-
-SET statement_timeout = 0;
-SET lock_timeout = 0;
-SET idle_in_transaction_session_timeout = 0;
-SET client_encoding = 'UTF8';
-SET standard_conforming_strings = on;
-SELECT pg_catalog.set_config('search_path', '', false);
-SET check_function_bodies = false;
-SET xmloption = content;
-SET client_min_messages = warning;
-SET row_security = off;
-
---
--- Name: _v; Type: SCHEMA; Schema: -; Owner: -
---
-
-CREATE SCHEMA _v;
-
-
---
--- Name: SCHEMA _v; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON SCHEMA _v IS 'Schema for versioning data and functionality.';
-
-
---
--- Name: auditor; Type: SCHEMA; Schema: -; Owner: -
---
-
-CREATE SCHEMA auditor;
-
-
---
--- Name: SCHEMA auditor; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON SCHEMA auditor IS 'taler-auditor data';
-
-
---
--- Name: exchange; Type: SCHEMA; Schema: -; Owner: -
---
-
-CREATE SCHEMA exchange;
-
-
---
--- Name: SCHEMA exchange; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON SCHEMA exchange IS 'taler-exchange data';
-
-
---
--- Name: merchant; Type: SCHEMA; Schema: -; Owner: -
---
-
-CREATE SCHEMA merchant;
-
-
---
--- Name: SCHEMA merchant; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON SCHEMA merchant IS 'taler-merchant data';
-
-
---
--- Name: assert_patch_is_applied(text); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_patch_is_applied(in_patch_name text) RETURNS text
- LANGUAGE plpgsql
- AS $$
-DECLARE
- t_text TEXT;
-BEGIN
- SELECT patch_name INTO t_text FROM _v.patches WHERE patch_name = in_patch_name;
- IF NOT FOUND THEN
- RAISE EXCEPTION 'Patch % is not applied!', in_patch_name;
- END IF;
- RETURN format('Patch %s is applied.', in_patch_name);
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_patch_is_applied(in_patch_name text); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_patch_is_applied(in_patch_name text) IS 'Function that can be used to make sure that patch has been applied.';
-
-
---
--- Name: assert_user_is_not_superuser(); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_user_is_not_superuser() RETURNS text
- LANGUAGE plpgsql
- AS $$
-DECLARE
- v_super bool;
-BEGIN
- SELECT usesuper INTO v_super FROM pg_user WHERE usename = current_user;
- IF v_super THEN
- RAISE EXCEPTION 'Current user is superuser - cannot continue.';
- END IF;
- RETURN 'assert_user_is_not_superuser: OK';
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_user_is_not_superuser(); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_user_is_not_superuser() IS 'Function that can be used to make sure that patch is being applied using normal (not superuser) account.';
-
-
---
--- Name: assert_user_is_one_of(text[]); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_user_is_one_of(VARIADIC p_acceptable_users text[]) RETURNS text
- LANGUAGE plpgsql
- AS $$
-DECLARE
-BEGIN
- IF current_user = any( p_acceptable_users ) THEN
- RETURN 'assert_user_is_one_of: OK';
- END IF;
- RAISE EXCEPTION 'User is not one of: % - cannot continue.', p_acceptable_users;
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_user_is_one_of(VARIADIC p_acceptable_users text[]); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_user_is_one_of(VARIADIC p_acceptable_users text[]) IS 'Function that can be used to make sure that patch is being applied by one of defined users.';
-
-
---
--- Name: assert_user_is_superuser(); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_user_is_superuser() RETURNS text
- LANGUAGE plpgsql
- AS $$
-DECLARE
- v_super bool;
-BEGIN
- SELECT usesuper INTO v_super FROM pg_user WHERE usename = current_user;
- IF v_super THEN
- RETURN 'assert_user_is_superuser: OK';
- END IF;
- RAISE EXCEPTION 'Current user is not superuser - cannot continue.';
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_user_is_superuser(); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_user_is_superuser() IS 'Function that can be used to make sure that patch is being applied using superuser account.';
-
-
---
--- Name: register_patch(text); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.register_patch(text) RETURNS SETOF integer
- LANGUAGE sql
- AS $_$
- SELECT _v.register_patch( $1, NULL, NULL );
-$_$;
-
-
---
--- Name: FUNCTION register_patch(text); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.register_patch(text) IS 'Wrapper to allow registration of patches without requirements and conflicts.';
-
-
---
--- Name: register_patch(text, text[]); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.register_patch(text, text[]) RETURNS SETOF integer
- LANGUAGE sql
- AS $_$
- SELECT _v.register_patch( $1, $2, NULL );
-$_$;
-
-
---
--- Name: FUNCTION register_patch(text, text[]); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.register_patch(text, text[]) IS 'Wrapper to allow registration of patches without conflicts.';
-
-
---
--- Name: register_patch(text, text[], text[]); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.register_patch(in_patch_name text, in_requirements text[], in_conflicts text[], OUT versioning integer) RETURNS SETOF integer
- LANGUAGE plpgsql
- AS $$
-DECLARE
- t_text TEXT;
- t_text_a TEXT[];
- i INT4;
-BEGIN
- -- Thanks to this we know only one patch will be applied at a time
- LOCK TABLE _v.patches IN EXCLUSIVE MODE;
-
- SELECT patch_name INTO t_text FROM _v.patches WHERE patch_name = in_patch_name;
- IF FOUND THEN
- RAISE EXCEPTION 'Patch % is already applied!', in_patch_name;
- END IF;
-
- t_text_a := ARRAY( SELECT patch_name FROM _v.patches WHERE patch_name = any( in_conflicts ) );
- IF array_upper( t_text_a, 1 ) IS NOT NULL THEN
- RAISE EXCEPTION 'Versioning patches conflict. Conflicting patche(s) installed: %.', array_to_string( t_text_a, ', ' );
- END IF;
-
- IF array_upper( in_requirements, 1 ) IS NOT NULL THEN
- t_text_a := '{}';
- FOR i IN array_lower( in_requirements, 1 ) .. array_upper( in_requirements, 1 ) LOOP
- SELECT patch_name INTO t_text FROM _v.patches WHERE patch_name = in_requirements[i];
- IF NOT FOUND THEN
- t_text_a := t_text_a || in_requirements[i];
- END IF;
- END LOOP;
- IF array_upper( t_text_a, 1 ) IS NOT NULL THEN
- RAISE EXCEPTION 'Missing prerequisite(s): %.', array_to_string( t_text_a, ', ' );
- END IF;
- END IF;
-
- INSERT INTO _v.patches (patch_name, applied_tsz, applied_by, requires, conflicts ) VALUES ( in_patch_name, now(), current_user, coalesce( in_requirements, '{}' ), coalesce( in_conflicts, '{}' ) );
- RETURN;
-END;
-$$;
-
-
---
--- Name: FUNCTION register_patch(in_patch_name text, in_requirements text[], in_conflicts text[], OUT versioning integer); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.register_patch(in_patch_name text, in_requirements text[], in_conflicts text[], OUT versioning integer) IS 'Function to register patches in database. Raises exception if there are conflicts, prerequisites are not installed or the migration has already been installed.';
-
-
---
--- Name: unregister_patch(text); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.unregister_patch(in_patch_name text, OUT versioning integer) RETURNS SETOF integer
- LANGUAGE plpgsql
- AS $$
-DECLARE
- i INT4;
- t_text_a TEXT[];
-BEGIN
- -- Thanks to this we know only one patch will be applied at a time
- LOCK TABLE _v.patches IN EXCLUSIVE MODE;
-
- t_text_a := ARRAY( SELECT patch_name FROM _v.patches WHERE in_patch_name = ANY( requires ) );
- IF array_upper( t_text_a, 1 ) IS NOT NULL THEN
- RAISE EXCEPTION 'Cannot uninstall %, as it is required by: %.', in_patch_name, array_to_string( t_text_a, ', ' );
- END IF;
-
- DELETE FROM _v.patches WHERE patch_name = in_patch_name;
- GET DIAGNOSTICS i = ROW_COUNT;
- IF i < 1 THEN
- RAISE EXCEPTION 'Patch % is not installed, so it can''t be uninstalled!', in_patch_name;
- END IF;
-
- RETURN;
-END;
-$$;
-
-
---
--- Name: FUNCTION unregister_patch(in_patch_name text, OUT versioning integer); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.unregister_patch(in_patch_name text, OUT versioning integer) IS 'Function to unregister patches in database. Dies if the patch is not registered, or if unregistering it would break dependencies.';
-
-
---
--- Name: add_constraints_to_account_merges_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_account_merges_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE account_merges_' || partition_suffix || ' '
- 'ADD CONSTRAINT account_merges_' || partition_suffix || '_account_merge_request_serial_id_key '
- 'UNIQUE (account_merge_request_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_aggregation_tracking_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_aggregation_tracking_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE aggregation_tracking_' || partition_suffix || ' '
- 'ADD CONSTRAINT aggregation_tracking_' || partition_suffix || '_aggregation_serial_id_key '
- 'UNIQUE (aggregation_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_contracts_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_contracts_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE contracts_' || partition_suffix || ' '
- 'ADD CONSTRAINT contracts_' || partition_suffix || '_contract_serial_id_key '
- 'UNIQUE (contract_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_cs_nonce_locks_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_cs_nonce_locks_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE cs_nonce_locks_' || partition_suffix || ' '
- 'ADD CONSTRAINT cs_nonce_locks_' || partition_suffix || '_cs_nonce_lock_serial_id_key '
- 'UNIQUE (cs_nonce_lock_serial_id)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_deposits_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_deposits_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE deposits_' || partition_suffix || ' '
- 'ADD CONSTRAINT deposits_' || partition_suffix || '_deposit_serial_id_pkey '
- 'PRIMARY KEY (deposit_serial_id) '
- ',ADD CONSTRAINT deposits_' || partition_suffix || '_coin_pub_merchant_pub_h_contract_terms_key '
- 'UNIQUE (coin_pub, merchant_pub, h_contract_terms)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_known_coins_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_known_coins_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE known_coins_' || partition_suffix || ' '
- 'ADD CONSTRAINT known_coins_' || partition_suffix || '_known_coin_id_key '
- 'UNIQUE (known_coin_id)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_legitimization_processes_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_legitimization_processes_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- partition_name VARCHAR;
-BEGIN
- partition_name = concat_ws('_', 'legitimization_processes', partition_suffix);
- EXECUTE FORMAT (
- 'ALTER TABLE ' || partition_name
- || ' '
- 'ADD CONSTRAINT ' || partition_name || '_serial_key '
- 'UNIQUE (legitimization_process_serial_id)');
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || partition_name || '_by_provider_and_legi_index '
- 'ON '|| partition_name || ' '
- '(provider_section,provider_legitimization_id)'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || partition_name || '_by_provider_and_legi_index '
- 'IS ' || quote_literal('used (rarely) in kyc_provider_account_lookup') || ';'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_legitimization_requirements_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_legitimization_requirements_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- partition_name VARCHAR;
-BEGIN
- partition_name = concat_ws('_', 'legitimization_requirements', partition_suffix);
- EXECUTE FORMAT (
- 'ALTER TABLE ' || partition_name
- || ' '
- 'ADD CONSTRAINT ' || partition_name || '_serial_id_key '
- 'UNIQUE (legitimization_requirement_serial_id)');
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_deposits_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_purse_deposits_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE purse_deposits_' || partition_suffix || ' '
- 'ADD CONSTRAINT purse_deposits_' || partition_suffix || '_purse_deposit_serial_id_key '
- 'UNIQUE (purse_deposit_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_merges_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_purse_merges_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE purse_merges_' || partition_suffix || ' '
- 'ADD CONSTRAINT purse_merges_' || partition_suffix || '_purse_merge_request_serial_id_key '
- 'UNIQUE (purse_merge_request_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_refunds_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_purse_refunds_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE purse_refunds_' || partition_suffix || ' '
- 'ADD CONSTRAINT purse_refunds_' || partition_suffix || '_purse_refunds_serial_id_key '
- 'UNIQUE (purse_refunds_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_requests_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_purse_requests_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE purse_requests_' || partition_suffix || ' '
- 'ADD CONSTRAINT purse_requests_' || partition_suffix || '_purse_requests_serial_id_key '
- 'UNIQUE (purse_requests_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_recoup_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_recoup_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE recoup_' || partition_suffix || ' '
- 'ADD CONSTRAINT recoup_' || partition_suffix || '_recoup_uuid_key '
- 'UNIQUE (recoup_uuid) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_recoup_refresh_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_recoup_refresh_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE recoup_refresh_' || partition_suffix || ' '
- 'ADD CONSTRAINT recoup_refresh_' || partition_suffix || '_recoup_refresh_uuid_key '
- 'UNIQUE (recoup_refresh_uuid) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refresh_commitments_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_refresh_commitments_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE refresh_commitments_' || partition_suffix || ' '
- 'ADD CONSTRAINT refresh_commitments_' || partition_suffix || '_melt_serial_id_key '
- 'UNIQUE (melt_serial_id)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refresh_revealed_coins_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_refresh_revealed_coins_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE refresh_revealed_coins_' || partition_suffix || ' '
- 'ADD CONSTRAINT refresh_revealed_coins_' || partition_suffix || '_rrc_serial_key '
- 'UNIQUE (rrc_serial) '
- ',ADD CONSTRAINT refresh_revealed_coins_' || partition_suffix || '_coin_ev_key '
- 'UNIQUE (coin_ev) '
- ',ADD CONSTRAINT refresh_revealed_coins_' || partition_suffix || '_h_coin_ev_key '
- 'UNIQUE (h_coin_ev) '
- ',ADD PRIMARY KEY (melt_serial_id, freshcoin_index) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refresh_transfer_keys_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_refresh_transfer_keys_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE refresh_transfer_keys_' || partition_suffix || ' '
- 'ADD CONSTRAINT refresh_transfer_keys_' || partition_suffix || '_rtc_serial_key '
- 'UNIQUE (rtc_serial)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refunds_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_refunds_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE refunds_' || partition_suffix || ' '
- 'ADD CONSTRAINT refunds_' || partition_suffix || '_refund_serial_id_key '
- 'UNIQUE (refund_serial_id) '
- ',ADD PRIMARY KEY (deposit_serial_id, rtransaction_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_reserves_close_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_reserves_close_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE reserves_close_' || partition_suffix || ' '
- 'ADD CONSTRAINT reserves_close_' || partition_suffix || '_close_uuid_pkey '
- 'PRIMARY KEY (close_uuid)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_reserves_in_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_reserves_in_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE reserves_in_' || partition_suffix || ' '
- 'ADD CONSTRAINT reserves_in_' || partition_suffix || '_reserve_in_serial_id_key '
- 'UNIQUE (reserve_in_serial_id)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_reserves_out_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_reserves_out_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE reserves_out_' || partition_suffix || ' '
- 'ADD CONSTRAINT reserves_out_' || partition_suffix || '_reserve_out_serial_id_key '
- 'UNIQUE (reserve_out_serial_id)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wad_in_entries_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wad_in_entries_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wad_in_entries_' || partition_suffix || ' '
- 'ADD CONSTRAINT wad_in_entries_' || partition_suffix || '_wad_in_entry_serial_id_key '
- 'UNIQUE (wad_in_entry_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wad_out_entries_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wad_out_entries_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wad_out_entries_' || partition_suffix || ' '
- 'ADD CONSTRAINT wad_out_entries_' || partition_suffix || '_wad_out_entry_serial_id_key '
- 'UNIQUE (wad_out_entry_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wads_in_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wads_in_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wads_in_' || partition_suffix || ' '
- 'ADD CONSTRAINT wads_in_' || partition_suffix || '_wad_in_serial_id_key '
- 'UNIQUE (wad_in_serial_id) '
- ',ADD CONSTRAINT wads_in_' || partition_suffix || '_wad_is_origin_exchange_url_key '
- 'UNIQUE (wad_id, origin_exchange_url) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wads_out_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wads_out_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wads_out_' || partition_suffix || ' '
- 'ADD CONSTRAINT wads_out_' || partition_suffix || '_wad_out_serial_id_key '
- 'UNIQUE (wad_out_serial_id) '
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wire_out_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wire_out_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wire_out_' || partition_suffix || ' '
- 'ADD CONSTRAINT wire_out_' || partition_suffix || '_wireout_uuid_pkey '
- 'PRIMARY KEY (wireout_uuid)'
- );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wire_targets_partition(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.add_constraints_to_wire_targets_partition(partition_suffix character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- EXECUTE FORMAT (
- 'ALTER TABLE wire_targets_' || partition_suffix || ' '
- 'ADD CONSTRAINT wire_targets_' || partition_suffix || '_wire_target_serial_id_key '
- 'UNIQUE (wire_target_serial_id)'
- );
-END
-$$;
-
-
---
--- Name: create_foreign_hash_partition(character varying, integer, character varying, integer, character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_foreign_hash_partition(source_table_name character varying, modulus integer, shard_suffix character varying, current_shard_num integer, local_user character varying DEFAULT 'taler-exchange-httpd'::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'Creating %_% on %', source_table_name, shard_suffix, shard_suffix;
- EXECUTE FORMAT(
- 'CREATE FOREIGN TABLE IF NOT EXISTS %I '
- 'PARTITION OF %I '
- 'FOR VALUES WITH (MODULUS %s, REMAINDER %s) '
- 'SERVER %I'
- ,source_table_name || '_' || shard_suffix
- ,source_table_name
- ,modulus
- ,current_shard_num-1
- ,shard_suffix
- );
- EXECUTE FORMAT(
- 'ALTER FOREIGN TABLE %I OWNER TO %I'
- ,source_table_name || '_' || shard_suffix
- ,local_user
- );
-END
-$$;
-
-
---
--- Name: create_foreign_range_partition(character varying, integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_foreign_range_partition(source_table_name character varying, partition_num integer) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'TODO';
-END
-$$;
-
-
---
--- Name: create_foreign_servers(integer, character varying, character varying, character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_foreign_servers(amount integer, domain character varying, remote_user character varying DEFAULT 'taler'::character varying, remote_user_password character varying DEFAULT 'taler'::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- PERFORM prepare_sharding();
- FOR i IN 1..amount LOOP
- PERFORM create_shard_server(
- i::varchar
- ,amount
- ,i
- ,'shard-' || i::varchar || '.' || domain
- ,remote_user
- ,remote_user_password
- ,'taler-exchange'
- ,'5432'
- ,'taler-exchange-httpd'
- );
- END LOOP;
- PERFORM drop_default_partitions();
-END
-$$;
-
-
---
--- Name: create_hash_partition(character varying, integer, integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_hash_partition(source_table_name character varying, modulus integer, partition_num integer) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'Creating partition %_%', source_table_name, partition_num;
- EXECUTE FORMAT(
- 'CREATE TABLE IF NOT EXISTS %I '
- 'PARTITION OF %I '
- 'FOR VALUES WITH (MODULUS %s, REMAINDER %s)'
- ,source_table_name || '_' || partition_num
- ,source_table_name
- ,modulus
- ,partition_num-1
- );
-END
-$$;
-
-
---
--- Name: create_partitioned_table(character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_partitioned_table(table_definition character varying, table_name character varying, main_table_partition_str character varying, shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- IF shard_suffix IS NOT NULL THEN
- table_name=table_name || '_' || shard_suffix;
- main_table_partition_str = '';
- END IF;
- EXECUTE FORMAT(
- table_definition,
- table_name,
- main_table_partition_str
- );
-END
-$$;
-
-
---
--- Name: create_partitions(integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_partitions(num_partitions integer) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- modulus INTEGER;
-BEGIN
- modulus := num_partitions;
- PERFORM detach_default_partitions();
- LOOP
- PERFORM create_hash_partition(
- 'wire_targets'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_wire_targets_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'reserves'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'reserves_in'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_reserves_in_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'reserves_close'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_reserves_close_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'reserves_out'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_reserves_out_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'reserves_out_by_reserve'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'known_coins'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_known_coins_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'refresh_commitments'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_refresh_commitments_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'refresh_revealed_coins'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_refresh_revealed_coins_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'refresh_transfer_keys'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_refresh_transfer_keys_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'deposits'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_deposits_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'refunds'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_refunds_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'wire_out'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_wire_out_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'aggregation_transient'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'aggregation_tracking'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_aggregation_tracking_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'recoup'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_recoup_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'recoup_by_reserve'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'recoup_refresh'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_recoup_refresh_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'prewire'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'cs_nonce_locks'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_cs_nonce_locks_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'purse_requests'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_purse_requests_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'purse_refunds'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_purse_refunds_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'purse_merges'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_purse_merges_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'account_merges'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_account_merges_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'contracts'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_contracts_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'history_requests'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'close_requests'
- ,modulus
- ,num_partitions
- );
- PERFORM create_hash_partition(
- 'purse_deposits'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_purse_deposits_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'wad_out_entries'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_wad_out_entries_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'wads_in'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_wads_in_partition(num_partitions::varchar);
- PERFORM create_hash_partition(
- 'wad_in_entries'
- ,modulus
- ,num_partitions
- );
- PERFORM add_constraints_to_wad_in_entries_partition(num_partitions::varchar);
- num_partitions=num_partitions-1;
- EXIT WHEN num_partitions=0;
- END LOOP;
- PERFORM drop_default_partitions();
-END
-$$;
-
-
---
--- Name: create_range_partition(character varying, integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_range_partition(source_table_name character varying, partition_num integer) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'TODO';
-END
-$$;
-
-
---
--- Name: create_shard_server(character varying, integer, integer, character varying, character varying, character varying, character varying, integer, character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_shard_server(shard_suffix character varying, total_num_shards integer, current_shard_num integer, remote_host character varying, remote_user character varying, remote_user_password character varying, remote_db_name character varying DEFAULT 'taler-exchange'::character varying, remote_port integer DEFAULT 5432, local_user character varying DEFAULT 'taler-exchange-httpd'::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'Creating server %', remote_host;
- EXECUTE FORMAT(
- 'CREATE SERVER IF NOT EXISTS %I '
- 'FOREIGN DATA WRAPPER postgres_fdw '
- 'OPTIONS (dbname %L, host %L, port %L)'
- ,shard_suffix
- ,remote_db_name
- ,remote_host
- ,remote_port
- );
- EXECUTE FORMAT(
- 'CREATE USER MAPPING IF NOT EXISTS '
- 'FOR %I SERVER %I '
- 'OPTIONS (user %L, password %L)'
- ,local_user
- ,shard_suffix
- ,remote_user
- ,remote_user_password
- );
- EXECUTE FORMAT(
- 'GRANT ALL PRIVILEGES '
- 'ON FOREIGN SERVER %I '
- 'TO %I;'
- ,shard_suffix
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'wire_targets'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'reserves'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'reserves_in'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'reserves_out'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'reserves_out_by_reserve'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'reserves_close'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'known_coins'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'refresh_commitments'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'refresh_revealed_coins'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'refresh_transfer_keys'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'deposits'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'refunds'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'wire_out'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'aggregation_transient'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'aggregation_tracking'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'recoup'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'recoup_by_reserve'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'recoup_refresh'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'prewire'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'cs_nonce_locks'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'purse_requests'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'purse_refunds'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'purse_merges'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'account_merges'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'contracts'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'history_requests'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'close_requests'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'purse_deposits'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'wad_out_entries'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'wads_in'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
- PERFORM create_foreign_hash_partition(
- 'wad_in_entries'
- ,total_num_shards
- ,shard_suffix
- ,current_shard_num
- ,local_user
- );
-END
-$$;
-
-
---
--- Name: FUNCTION create_shard_server(shard_suffix character varying, total_num_shards integer, current_shard_num integer, remote_host character varying, remote_user character varying, remote_user_password character varying, remote_db_name character varying, remote_port integer, local_user character varying); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.create_shard_server(shard_suffix character varying, total_num_shards integer, current_shard_num integer, remote_host character varying, remote_user character varying, remote_user_password character varying, remote_db_name character varying, remote_port integer, local_user character varying) IS 'Create a shard server on the master
- node with all foreign tables and user mappings';
-
-
---
--- Name: create_table_account_merges(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_account_merges(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'account_merges';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(account_merge_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',wallet_h_payto BYTEA NOT NULL CHECK (LENGTH(wallet_h_payto)=32)'
- ',PRIMARY KEY (purse_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_pub '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_aggregation_tracking(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_aggregation_tracking(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'aggregation_tracking';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(aggregation_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',deposit_serial_id INT8 PRIMARY KEY'
- ',wtid_raw BYTEA NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (deposit_serial_id)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_wtid_raw_index '
- 'ON ' || table_name || ' '
- '(wtid_raw);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_wtid_raw_index '
- 'IS ' || quote_literal('for lookup_transactions') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_aggregation_transient(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_aggregation_transient(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'aggregation_transient';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
- ',merchant_pub BYTEA CHECK (LENGTH(merchant_pub)=32)'
- ',exchange_account_section TEXT NOT NULL'
- ',legitimization_requirement_serial_id INT8 NOT NULL DEFAULT(0)'
- ',wtid_raw BYTEA NOT NULL CHECK (LENGTH(wtid_raw)=32)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (wire_target_h_payto)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_close_requests(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_close_requests(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'close_requests';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(close_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)'
- ',close_timestamp INT8 NOT NULL'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',close_val INT8 NOT NULL'
- ',close_frac INT4 NOT NULL'
- ',PRIMARY KEY (reserve_pub,close_timestamp)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_pub)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_contracts(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_contracts(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'contracts';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(contract_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',pub_ckey BYTEA NOT NULL CHECK (LENGTH(pub_ckey)=32)'
- ',contract_sig BYTEA NOT NULL CHECK (LENGTH(contract_sig)=64)'
- ',e_contract BYTEA NOT NULL'
- ',purse_expiration INT8 NOT NULL'
- ',PRIMARY KEY (purse_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_cs_nonce_locks(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_cs_nonce_locks(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(cs_nonce_lock_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',nonce BYTEA PRIMARY KEY CHECK (LENGTH(nonce)=32)'
- ',op_hash BYTEA NOT NULL CHECK (LENGTH(op_hash)=64)'
- ',max_denomination_serial INT8 NOT NULL'
- ') %s ;'
- ,'cs_nonce_locks'
- ,'PARTITION BY HASH (nonce)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_deposits(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_deposits(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'deposits';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(deposit_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',shard INT8 NOT NULL'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',known_coin_id INT8 NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',wallet_timestamp INT8 NOT NULL'
- ',exchange_timestamp INT8 NOT NULL'
- ',refund_deadline INT8 NOT NULL'
- ',wire_deadline INT8 NOT NULL'
- ',merchant_pub BYTEA NOT NULL CHECK (LENGTH(merchant_pub)=32)'
- ',h_contract_terms BYTEA NOT NULL CHECK (LENGTH(h_contract_terms)=64)'
- ',coin_sig BYTEA NOT NULL CHECK (LENGTH(coin_sig)=64)'
- ',wire_salt BYTEA NOT NULL CHECK (LENGTH(wire_salt)=16)'
- ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
- ',done BOOLEAN NOT NULL DEFAULT FALSE'
- ',extension_blocked BOOLEAN NOT NULL DEFAULT FALSE'
- ',extension_details_serial_id INT8'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (coin_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
- 'ON ' || table_name || ' '
- '(coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_deposits_by_ready(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_deposits_by_ready(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'deposits_by_ready';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(wire_deadline INT8 NOT NULL'
- ',shard INT8 NOT NULL'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',deposit_serial_id INT8'
- ') %s ;'
- ,table_name
- ,'PARTITION BY RANGE (wire_deadline)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
- 'ON ' || table_name || ' '
- '(wire_deadline ASC, shard ASC, coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_deposits_for_matching(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_deposits_for_matching(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'deposits_for_matching';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(refund_deadline INT8 NOT NULL'
- ',merchant_pub BYTEA NOT NULL CHECK (LENGTH(merchant_pub)=32)'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',deposit_serial_id INT8'
- ') %s ;'
- ,table_name
- ,'PARTITION BY RANGE (refund_deadline)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
- 'ON ' || table_name || ' '
- '(refund_deadline ASC, merchant_pub, coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_history_requests(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_history_requests(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'history_requests';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(history_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)'
- ',request_timestamp INT8 NOT NULL'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',history_fee_val INT8 NOT NULL'
- ',history_fee_frac INT4 NOT NULL'
- ',PRIMARY KEY (reserve_pub,request_timestamp)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_pub)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_known_coins(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_known_coins(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR default 'known_coins';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(known_coin_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',denominations_serial INT8 NOT NULL'
- ',coin_pub BYTEA NOT NULL PRIMARY KEY CHECK (LENGTH(coin_pub)=32)'
- ',age_commitment_hash BYTEA CHECK (LENGTH(age_commitment_hash)=32)'
- ',denom_sig BYTEA NOT NULL'
- ',remaining_val INT8 NOT NULL DEFAULT(0)'
- ',remaining_frac INT4 NOT NULL DEFAULT(0)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (coin_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
-END
-$$;
-
-
---
--- Name: create_table_legitimization_processes(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_legitimization_processes(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(legitimization_process_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',h_payto BYTEA NOT NULL CHECK (LENGTH(h_payto)=32)'
- ',expiration_time INT8 NOT NULL DEFAULT (0)'
- ',provider_section VARCHAR NOT NULL'
- ',provider_user_id VARCHAR DEFAULT NULL'
- ',provider_legitimization_id VARCHAR DEFAULT NULL'
- ',UNIQUE (h_payto, provider_section)'
- ') %s ;'
- ,'legitimization_processes'
- ,'PARTITION BY HASH (h_payto)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_legitimization_requirements(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_legitimization_requirements(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(legitimization_requirement_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',h_payto BYTEA NOT NULL CHECK (LENGTH(h_payto)=32)'
- ',required_checks VARCHAR NOT NULL'
- ',UNIQUE (h_payto, required_checks)'
- ') %s ;'
- ,'legitimization_requirements'
- ,'PARTITION BY HASH (h_payto)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_prewire(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_prewire(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'prewire';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(prewire_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY'
- ',wire_method TEXT NOT NULL'
- ',finished BOOLEAN NOT NULL DEFAULT false'
- ',failed BOOLEAN NOT NULL DEFAULT false'
- ',buf BYTEA NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (prewire_uuid)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_finished_index '
- 'ON ' || table_name || ' '
- '(finished);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_finished_index '
- 'IS ' || quote_literal('for gc_prewire') || ';'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_failed_finished_index '
- 'ON ' || table_name || ' '
- '(failed,finished);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_failed_finished_index '
- 'IS ' || quote_literal('for wire_prepare_data_get') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_purse_deposits(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_purse_deposits(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'purse_deposits';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(purse_deposit_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',partner_serial_id INT8'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',coin_pub BYTEA NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',coin_sig BYTEA NOT NULL CHECK(LENGTH(coin_sig)=64)'
- ',PRIMARY KEY (purse_pub,coin_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub '
- 'ON ' || table_name || ' '
- '(coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_purse_merges(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_purse_merges(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'purse_merges';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(purse_merge_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY '
- ',partner_serial_id INT8'
- ',reserve_pub BYTEA NOT NULL CHECK(length(reserve_pub)=32)'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',merge_sig BYTEA NOT NULL CHECK (LENGTH(merge_sig)=64)'
- ',merge_timestamp INT8 NOT NULL'
- ',PRIMARY KEY (purse_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_reserve_pub '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_reserve_pub '
- 'IS ' || quote_literal('needed in reserve history computation') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_purse_refunds(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_purse_refunds(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'purse_refunds';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(purse_refunds_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',PRIMARY KEY (purse_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
-END
-$$;
-
-
---
--- Name: create_table_purse_requests(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_purse_requests(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'purse_requests';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(purse_requests_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
- ',merge_pub BYTEA NOT NULL CHECK (LENGTH(merge_pub)=32)'
- ',purse_creation INT8 NOT NULL'
- ',purse_expiration INT8 NOT NULL'
- ',h_contract_terms BYTEA NOT NULL CHECK (LENGTH(h_contract_terms)=64)'
- ',age_limit INT4 NOT NULL'
- ',flags INT4 NOT NULL'
- ',refunded BOOLEAN NOT NULL DEFAULT(FALSE)'
- ',finished BOOLEAN NOT NULL DEFAULT(FALSE)'
- ',in_reserve_quota BOOLEAN NOT NULL DEFAULT(FALSE)'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',purse_fee_val INT8 NOT NULL'
- ',purse_fee_frac INT4 NOT NULL'
- ',balance_val INT8 NOT NULL DEFAULT (0)'
- ',balance_frac INT4 NOT NULL DEFAULT (0)'
- ',purse_sig BYTEA NOT NULL CHECK(LENGTH(purse_sig)=64)'
- ',PRIMARY KEY (purse_pub)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_merge_pub '
- 'ON ' || table_name || ' '
- '(merge_pub);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_purse_expiration '
- 'ON ' || table_name || ' '
- '(purse_expiration);'
- );
-END
-$$;
-
-
---
--- Name: create_table_recoup(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_recoup(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'recoup';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(recoup_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',coin_sig BYTEA NOT NULL CHECK(LENGTH(coin_sig)=64)'
- ',coin_blind BYTEA NOT NULL CHECK(LENGTH(coin_blind)=32)'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',recoup_timestamp INT8 NOT NULL'
- ',reserve_out_serial_id INT8 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (coin_pub);'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
- 'ON ' || table_name || ' '
- '(coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_recoup_by_reserve(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_recoup_by_reserve(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'recoup_by_reserve';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(reserve_out_serial_id INT8 NOT NULL'
- ',coin_pub BYTEA CHECK (LENGTH(coin_pub)=32)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_out_serial_id)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
- 'ON ' || table_name || ' '
- '(reserve_out_serial_id);'
- );
-END
-$$;
-
-
---
--- Name: create_table_recoup_refresh(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_recoup_refresh(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'recoup_refresh';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(recoup_refresh_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',known_coin_id BIGINT NOT NULL'
- ',coin_sig BYTEA NOT NULL CHECK(LENGTH(coin_sig)=64)'
- ',coin_blind BYTEA NOT NULL CHECK(LENGTH(coin_blind)=32)'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',recoup_timestamp INT8 NOT NULL'
- ',rrc_serial INT8 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (coin_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_rrc_serial_index '
- 'ON ' || table_name || ' '
- '(rrc_serial);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
- 'ON ' || table_name || ' '
- '(coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_refresh_commitments(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_refresh_commitments(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'refresh_commitments';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(melt_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',rc BYTEA PRIMARY KEY CHECK (LENGTH(rc)=64)'
- ',old_coin_pub BYTEA NOT NULL'
- ',old_coin_sig BYTEA NOT NULL CHECK(LENGTH(old_coin_sig)=64)'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',noreveal_index INT4 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (rc)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_old_coin_pub_index '
- 'ON ' || table_name || ' '
- '(old_coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_refresh_revealed_coins(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_refresh_revealed_coins(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'refresh_revealed_coins';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(rrc_serial BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',melt_serial_id INT8 NOT NULL'
- ',freshcoin_index INT4 NOT NULL'
- ',link_sig BYTEA NOT NULL CHECK(LENGTH(link_sig)=64)'
- ',denominations_serial INT8 NOT NULL'
- ',coin_ev BYTEA NOT NULL'
- ',h_coin_ev BYTEA NOT NULL CHECK(LENGTH(h_coin_ev)=64)'
- ',ev_sig BYTEA NOT NULL'
- ',ewv BYTEA NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (melt_serial_id)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_coins_by_melt_serial_id_index '
- 'ON ' || table_name || ' '
- '(melt_serial_id);'
- );
-END
-$$;
-
-
---
--- Name: create_table_refresh_transfer_keys(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_refresh_transfer_keys(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'refresh_transfer_keys';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(rtc_serial BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',melt_serial_id INT8 PRIMARY KEY'
- ',transfer_pub BYTEA NOT NULL CHECK(LENGTH(transfer_pub)=32)'
- ',transfer_privs BYTEA NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (melt_serial_id)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_refunds(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_refunds(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'refunds';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(refund_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
- ',deposit_serial_id INT8 NOT NULL'
- ',merchant_sig BYTEA NOT NULL CHECK(LENGTH(merchant_sig)=64)'
- ',rtransaction_id INT8 NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (coin_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
- 'ON ' || table_name || ' '
- '(coin_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_reserves(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_reserves(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'reserves';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(reserve_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA PRIMARY KEY CHECK(LENGTH(reserve_pub)=32)'
- ',current_balance_val INT8 NOT NULL DEFAULT(0)'
- ',current_balance_frac INT4 NOT NULL DEFAULT(0)'
- ',purses_active INT8 NOT NULL DEFAULT(0)'
- ',purses_allowed INT8 NOT NULL DEFAULT(0)'
- ',max_age INT4 NOT NULL DEFAULT(120)'
- ',expiration_date INT8 NOT NULL'
- ',gc_date INT8 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_expiration_index '
- 'ON ' || table_name || ' '
- '(expiration_date'
- ',current_balance_val'
- ',current_balance_frac'
- ');'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_expiration_index '
- 'IS ' || quote_literal('used in get_expired_reserves') || ';'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_uuid_index '
- 'ON ' || table_name || ' '
- '(reserve_uuid);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_gc_date_index '
- 'ON ' || table_name || ' '
- '(gc_date);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_gc_date_index '
- 'IS ' || quote_literal('for reserve garbage collection') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_reserves_close(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_reserves_close(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR default 'reserves_close';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(close_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA NOT NULL'
- ',execution_date INT8 NOT NULL'
- ',wtid BYTEA NOT NULL CHECK (LENGTH(wtid)=32)'
- ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',closing_fee_val INT8 NOT NULL'
- ',closing_fee_frac INT4 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_close_uuid_index '
- 'ON ' || table_name || ' '
- '(close_uuid);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_pub_index '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_reserves_in(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_reserves_in(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR default 'reserves_in';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(reserve_in_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',reserve_pub BYTEA PRIMARY KEY'
- ',wire_reference INT8 NOT NULL'
- ',credit_val INT8 NOT NULL'
- ',credit_frac INT4 NOT NULL'
- ',wire_source_h_payto BYTEA CHECK (LENGTH(wire_source_h_payto)=32)'
- ',exchange_account_section TEXT NOT NULL'
- ',execution_date INT8 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (reserve_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_in_serial_id_index '
- 'ON ' || table_name || ' '
- '(reserve_in_serial_id);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_exch_accnt_section_execution_date_idx '
- 'ON ' || table_name || ' '
- '(exchange_account_section '
- ',execution_date'
- ');'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_exch_accnt_reserve_in_serial_id_idx '
- 'ON ' || table_name || ' '
- '(exchange_account_section,'
- 'reserve_in_serial_id DESC'
- ');'
- );
-END
-$$;
-
-
---
--- Name: create_table_reserves_out(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_reserves_out(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR default 'reserves_out';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(reserve_out_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',h_blind_ev BYTEA CHECK (LENGTH(h_blind_ev)=64) UNIQUE'
- ',denominations_serial INT8 NOT NULL'
- ',denom_sig BYTEA NOT NULL'
- ',reserve_uuid INT8 NOT NULL'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',execution_date INT8 NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ') %s ;'
- ,'reserves_out'
- ,'PARTITION BY HASH (h_blind_ev)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_out_serial_id_index '
- 'ON ' || table_name || ' '
- '(reserve_out_serial_id);'
- );
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_uuid_and_execution_date_index '
- 'ON ' || table_name || ' '
- '(reserve_uuid, execution_date);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_by_reserve_uuid_and_execution_date_index '
- 'IS ' || quote_literal('for get_reserves_out and exchange_do_withdraw_limit_check') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_reserves_out_by_reserve(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_reserves_out_by_reserve(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'reserves_out_by_reserve';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(reserve_uuid INT8 NOT NULL'
- ',h_blind_ev BYTEA CHECK (LENGTH(h_blind_ev)=64)'
- ') %s '
- ,table_name
- ,'PARTITION BY HASH (reserve_uuid)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
- 'ON ' || table_name || ' '
- '(reserve_uuid);'
- );
-END
-$$;
-
-
---
--- Name: create_table_wad_in_entries(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wad_in_entries(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'wad_in_entries';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(wad_in_entry_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',wad_in_serial_id INT8'
- ',reserve_pub BYTEA NOT NULL CHECK(LENGTH(reserve_pub)=32)'
- ',purse_pub BYTEA PRIMARY KEY CHECK(LENGTH(purse_pub)=32)'
- ',h_contract BYTEA NOT NULL CHECK(LENGTH(h_contract)=64)'
- ',purse_expiration INT8 NOT NULL'
- ',merge_timestamp INT8 NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',wad_fee_val INT8 NOT NULL'
- ',wad_fee_frac INT4 NOT NULL'
- ',deposit_fees_val INT8 NOT NULL'
- ',deposit_fees_frac INT4 NOT NULL'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',purse_sig BYTEA NOT NULL CHECK (LENGTH(purse_sig)=64)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_reserve_pub '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
- EXECUTE FORMAT (
- 'COMMENT ON INDEX ' || table_name || '_reserve_pub '
- 'IS ' || quote_literal('needed in reserve history computation') || ';'
- );
-END
-$$;
-
-
---
--- Name: create_table_wad_out_entries(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wad_out_entries(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'wad_out_entries';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(wad_out_entry_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',wad_out_serial_id INT8'
- ',reserve_pub BYTEA NOT NULL CHECK(LENGTH(reserve_pub)=32)'
- ',purse_pub BYTEA PRIMARY KEY CHECK(LENGTH(purse_pub)=32)'
- ',h_contract BYTEA NOT NULL CHECK(LENGTH(h_contract)=64)'
- ',purse_expiration INT8 NOT NULL'
- ',merge_timestamp INT8 NOT NULL'
- ',amount_with_fee_val INT8 NOT NULL'
- ',amount_with_fee_frac INT4 NOT NULL'
- ',wad_fee_val INT8 NOT NULL'
- ',wad_fee_frac INT4 NOT NULL'
- ',deposit_fees_val INT8 NOT NULL'
- ',deposit_fees_frac INT4 NOT NULL'
- ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
- ',purse_sig BYTEA NOT NULL CHECK (LENGTH(purse_sig)=64)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (purse_pub)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_pub '
- 'ON ' || table_name || ' '
- '(reserve_pub);'
- );
-END
-$$;
-
-
---
--- Name: create_table_wads_in(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wads_in(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'wads_in';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(wad_in_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',wad_id BYTEA PRIMARY KEY CHECK (LENGTH(wad_id)=24)'
- ',origin_exchange_url TEXT NOT NULL'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',arrival_time INT8 NOT NULL'
- ',UNIQUE (wad_id, origin_exchange_url)'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (wad_id)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_wads_out(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wads_out(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'wads_out';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I '
- '(wad_out_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',wad_id BYTEA PRIMARY KEY CHECK (LENGTH(wad_id)=24)'
- ',partner_serial_id INT8 NOT NULL'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ',execution_time INT8 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (wad_id)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: create_table_wire_out(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wire_out(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-DECLARE
- table_name VARCHAR DEFAULT 'wire_out';
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(wireout_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',execution_date INT8 NOT NULL'
- ',wtid_raw BYTEA UNIQUE NOT NULL CHECK (LENGTH(wtid_raw)=32)'
- ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
- ',exchange_account_section TEXT NOT NULL'
- ',amount_val INT8 NOT NULL'
- ',amount_frac INT4 NOT NULL'
- ') %s ;'
- ,table_name
- ,'PARTITION BY HASH (wtid_raw)'
- ,shard_suffix
- );
- table_name = concat_ws('_', table_name, shard_suffix);
- EXECUTE FORMAT (
- 'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_wire_target_h_payto_index '
- 'ON ' || table_name || ' '
- '(wire_target_h_payto);'
- );
-END
-$$;
-
-
---
--- Name: create_table_wire_targets(character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.create_table_wire_targets(shard_suffix character varying DEFAULT NULL::character varying) RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- PERFORM create_partitioned_table(
- 'CREATE TABLE IF NOT EXISTS %I'
- '(wire_target_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
- ',wire_target_h_payto BYTEA PRIMARY KEY CHECK (LENGTH(wire_target_h_payto)=32)'
- ',payto_uri VARCHAR NOT NULL'
- ') %s ;'
- ,'wire_targets'
- ,'PARTITION BY HASH (wire_target_h_payto)'
- ,shard_suffix
- );
-END
-$$;
-
-
---
--- Name: defer_wire_out(); Type: PROCEDURE; Schema: exchange; Owner: -
---
-
-CREATE PROCEDURE exchange.defer_wire_out()
- LANGUAGE plpgsql
- AS $$
-BEGIN
-
-IF EXISTS (
- SELECT 1
- FROM exchange.information_Schema.constraint_column_usage
- WHERE table_name='wire_out'
- AND constraint_name='wire_out_ref')
-THEN
- SET CONSTRAINTS wire_out_ref DEFERRED;
-END IF;
-
-END $$;
-
-
---
--- Name: deposits_delete_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.deposits_delete_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-DECLARE
- was_ready BOOLEAN;
-BEGIN
- was_ready = NOT (OLD.done OR OLD.extension_blocked);
- IF (was_ready)
- THEN
- DELETE FROM exchange.deposits_by_ready
- WHERE wire_deadline = OLD.wire_deadline
- AND shard = OLD.shard
- AND coin_pub = OLD.coin_pub
- AND deposit_serial_id = OLD.deposit_serial_id;
- DELETE FROM exchange.deposits_for_matching
- WHERE refund_deadline = OLD.refund_deadline
- AND merchant_pub = OLD.merchant_pub
- AND coin_pub = OLD.coin_pub
- AND deposit_serial_id = OLD.deposit_serial_id;
- END IF;
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION deposits_delete_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.deposits_delete_trigger() IS 'Replicate deposit deletions into materialized indices.';
-
-
---
--- Name: deposits_insert_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.deposits_insert_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-DECLARE
- is_ready BOOLEAN;
-BEGIN
- is_ready = NOT (NEW.done OR NEW.extension_blocked);
- IF (is_ready)
- THEN
- INSERT INTO exchange.deposits_by_ready
- (wire_deadline
- ,shard
- ,coin_pub
- ,deposit_serial_id)
- VALUES
- (NEW.wire_deadline
- ,NEW.shard
- ,NEW.coin_pub
- ,NEW.deposit_serial_id);
- INSERT INTO exchange.deposits_for_matching
- (refund_deadline
- ,merchant_pub
- ,coin_pub
- ,deposit_serial_id)
- VALUES
- (NEW.refund_deadline
- ,NEW.merchant_pub
- ,NEW.coin_pub
- ,NEW.deposit_serial_id);
- END IF;
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION deposits_insert_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.deposits_insert_trigger() IS 'Replicate deposit inserts into materialized indices.';
-
-
---
--- Name: deposits_update_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.deposits_update_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-DECLARE
- was_ready BOOLEAN;
-DECLARE
- is_ready BOOLEAN;
-BEGIN
- was_ready = NOT (OLD.done OR OLD.extension_blocked);
- is_ready = NOT (NEW.done OR NEW.extension_blocked);
- IF (was_ready AND NOT is_ready)
- THEN
- DELETE FROM exchange.deposits_by_ready
- WHERE wire_deadline = OLD.wire_deadline
- AND shard = OLD.shard
- AND coin_pub = OLD.coin_pub
- AND deposit_serial_id = OLD.deposit_serial_id;
- DELETE FROM exchange.deposits_for_matching
- WHERE refund_deadline = OLD.refund_deadline
- AND merchant_pub = OLD.merchant_pub
- AND coin_pub = OLD.coin_pub
- AND deposit_serial_id = OLD.deposit_serial_id;
- END IF;
- IF (is_ready AND NOT was_ready)
- THEN
- INSERT INTO exchange.deposits_by_ready
- (wire_deadline
- ,shard
- ,coin_pub
- ,deposit_serial_id)
- VALUES
- (NEW.wire_deadline
- ,NEW.shard
- ,NEW.coin_pub
- ,NEW.deposit_serial_id);
- INSERT INTO exchange.deposits_for_matching
- (refund_deadline
- ,merchant_pub
- ,coin_pub
- ,deposit_serial_id)
- VALUES
- (NEW.refund_deadline
- ,NEW.merchant_pub
- ,NEW.coin_pub
- ,NEW.deposit_serial_id);
- END IF;
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION deposits_update_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.deposits_update_trigger() IS 'Replicate deposits changes into materialized indices.';
-
-
---
--- Name: detach_default_partitions(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.detach_default_partitions() RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'Detaching all default table partitions';
- ALTER TABLE IF EXISTS wire_targets
- DETACH PARTITION wire_targets_default;
- ALTER TABLE IF EXISTS reserves
- DETACH PARTITION reserves_default;
- ALTER TABLE IF EXISTS reserves_in
- DETACH PARTITION reserves_in_default;
- ALTER TABLE IF EXISTS reserves_close
- DETACH PARTITION reserves_close_default;
- ALTER TABLE IF EXISTS reserves_out
- DETACH PARTITION reserves_out_default;
- ALTER TABLE IF EXISTS reserves_out_by_reserve
- DETACH PARTITION reserves_out_by_reserve_default;
- ALTER TABLE IF EXISTS known_coins
- DETACH PARTITION known_coins_default;
- ALTER TABLE IF EXISTS refresh_commitments
- DETACH PARTITION refresh_commitments_default;
- ALTER TABLE IF EXISTS refresh_revealed_coins
- DETACH PARTITION refresh_revealed_coins_default;
- ALTER TABLE IF EXISTS refresh_transfer_keys
- DETACH PARTITION refresh_transfer_keys_default;
- ALTER TABLE IF EXISTS deposits
- DETACH PARTITION deposits_default;
- ALTER TABLE IF EXISTS refunds
- DETACH PARTITION refunds_default;
- ALTER TABLE IF EXISTS wire_out
- DETACH PARTITION wire_out_default;
- ALTER TABLE IF EXISTS aggregation_transient
- DETACH PARTITION aggregation_transient_default;
- ALTER TABLE IF EXISTS aggregation_tracking
- DETACH PARTITION aggregation_tracking_default;
- ALTER TABLE IF EXISTS recoup
- DETACH PARTITION recoup_default;
- ALTER TABLE IF EXISTS recoup_by_reserve
- DETACH PARTITION recoup_by_reserve_default;
- ALTER TABLE IF EXISTS recoup_refresh
- DETACH PARTITION recoup_refresh_default;
- ALTER TABLE IF EXISTS prewire
- DETACH PARTITION prewire_default;
- ALTER TABLE IF EXISTS cs_nonce_locks
- DETACH partition cs_nonce_locks_default;
- ALTER TABLE IF EXISTS purse_requests
- DETACH partition purse_requests_default;
- ALTER TABLE IF EXISTS purse_refunds
- DETACH partition purse_refunds_default;
- ALTER TABLE IF EXISTS purse_merges
- DETACH partition purse_merges_default;
- ALTER TABLE IF EXISTS account_merges
- DETACH partition account_merges_default;
- ALTER TABLE IF EXISTS contracts
- DETACH partition contracts_default;
- ALTER TABLE IF EXISTS history_requests
- DETACH partition history_requests_default;
- ALTER TABLE IF EXISTS close_requests
- DETACH partition close_requests_default;
- ALTER TABLE IF EXISTS purse_deposits
- DETACH partition purse_deposits_default;
- ALTER TABLE IF EXISTS wad_out_entries
- DETACH partition wad_out_entries_default;
- ALTER TABLE IF EXISTS wads_in
- DETACH partition wads_in_default;
- ALTER TABLE IF EXISTS wad_in_entries
- DETACH partition wad_in_entries_default;
-END
-$$;
-
-
---
--- Name: FUNCTION detach_default_partitions(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.detach_default_partitions() IS 'We need to drop default and create new one before deleting the default partitions
- otherwise constraints get lost too. Might be needed in shardig too';
-
-
---
--- Name: drop_default_partitions(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.drop_default_partitions() RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- RAISE NOTICE 'Dropping default table partitions';
- DROP TABLE IF EXISTS wire_targets_default;
- DROP TABLE IF EXISTS reserves_default;
- DROP TABLE IF EXISTS reserves_in_default;
- DROP TABLE IF EXISTS reserves_close_default;
- DROP TABLE IF EXISTS reserves_out_default;
- DROP TABLE IF EXISTS reserves_out_by_reserve_default;
- DROP TABLE IF EXISTS known_coins_default;
- DROP TABLE IF EXISTS refresh_commitments_default;
- DROP TABLE IF EXISTS refresh_revealed_coins_default;
- DROP TABLE IF EXISTS refresh_transfer_keys_default;
- DROP TABLE IF EXISTS deposits_default;
- DROP TABLE IF EXISTS refunds_default;
- DROP TABLE IF EXISTS wire_out_default;
- DROP TABLE IF EXISTS aggregation_transient_default;
- DROP TABLE IF EXISTS aggregation_tracking_default;
- DROP TABLE IF EXISTS recoup_default;
- DROP TABLE IF EXISTS recoup_by_reserve_default;
- DROP TABLE IF EXISTS recoup_refresh_default;
- DROP TABLE IF EXISTS prewire_default;
- DROP TABLE IF EXISTS cs_nonce_locks_default;
- DROP TABLE IF EXISTS purse_requests_default;
- DROP TABLE IF EXISTS purse_refunds_default;
- DROP TABLE IF EXISTS purse_merges_default;
- DROP TABLE IF EXISTS account_merges_default;
- DROP TABLE IF EXISTS contracts_default;
- DROP TABLE IF EXISTS history_requests_default;
- DROP TABLE IF EXISTS close_requests_default;
- DROP TABLE IF EXISTS purse_deposits_default;
- DROP TABLE IF EXISTS wad_out_entries_default;
- DROP TABLE IF EXISTS wads_in_default;
- DROP TABLE IF EXISTS wad_in_entries_default;
-END
-$$;
-
-
---
--- Name: FUNCTION drop_default_partitions(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.drop_default_partitions() IS 'Drop all default partitions once other partitions are attached.
- Might be needed in sharding too.';
-
-
---
--- Name: exchange_do_account_merge(bytea, bytea, bytea); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_account_merge(in_purse_pub bytea, in_reserve_pub bytea, in_reserve_sig bytea, OUT out_balance_ok boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-BEGIN
- -- FIXME: function/API is dead! Do DCE?
-END $$;
-
-
---
--- Name: exchange_do_batch_withdraw(bigint, integer, bytea, bigint, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_batch_withdraw(amount_val bigint, amount_frac integer, rpub bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT ruuid bigint) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- reserve_gc INT8;
-DECLARE
- reserve_val INT8;
-DECLARE
- reserve_frac INT4;
-BEGIN
--- Shards: reserves by reserve_pub (SELECT)
--- reserves_out (INSERT, with CONFLICT detection) by wih
--- reserves by reserve_pub (UPDATE)
--- reserves_in by reserve_pub (SELECT)
--- wire_targets by wire_target_h_payto
-
-SELECT
- current_balance_val
- ,current_balance_frac
- ,gc_date
- ,reserve_uuid
- INTO
- reserve_val
- ,reserve_frac
- ,reserve_gc
- ,ruuid
- FROM exchange.reserves
- WHERE reserves.reserve_pub=rpub;
-
-IF NOT FOUND
-THEN
- -- reserve unknown
- reserve_found=FALSE;
- balance_ok=FALSE;
- ruuid=2;
- RETURN;
-END IF;
-
--- Check reserve balance is sufficient.
-IF (reserve_val > amount_val)
-THEN
- IF (reserve_frac >= amount_frac)
- THEN
- reserve_val=reserve_val - amount_val;
- reserve_frac=reserve_frac - amount_frac;
- ELSE
- reserve_val=reserve_val - amount_val - 1;
- reserve_frac=reserve_frac + 100000000 - amount_frac;
- END IF;
-ELSE
- IF (reserve_val = amount_val) AND (reserve_frac >= amount_frac)
- THEN
- reserve_val=0;
- reserve_frac=reserve_frac - amount_frac;
- ELSE
- reserve_found=TRUE;
- balance_ok=FALSE;
- RETURN;
- END IF;
-END IF;
-
--- Calculate new expiration dates.
-min_reserve_gc=GREATEST(min_reserve_gc,reserve_gc);
-
--- Update reserve balance.
-UPDATE reserves SET
- gc_date=min_reserve_gc
- ,current_balance_val=reserve_val
- ,current_balance_frac=reserve_frac
-WHERE
- reserves.reserve_pub=rpub;
-
-reserve_found=TRUE;
-balance_ok=TRUE;
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_batch_withdraw(amount_val bigint, amount_frac integer, rpub bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT ruuid bigint); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_batch_withdraw(amount_val bigint, amount_frac integer, rpub bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT ruuid bigint) IS 'Checks whether the reserve has sufficient balance for a withdraw operation (or the request is repeated and was previously approved) and if so updates the database with the result. Excludes storing the planchets.';
-
-
---
--- Name: exchange_do_batch_withdraw_insert(bytea, bigint, integer, bytea, bigint, bytea, bytea, bytea, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_batch_withdraw_insert(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, ruuid bigint, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, OUT out_denom_unknown boolean, OUT out_nonce_reuse boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- denom_serial INT8;
-BEGIN
--- Shards: reserves by reserve_pub (SELECT)
--- reserves_out (INSERT, with CONFLICT detection) by wih
--- reserves by reserve_pub (UPDATE)
--- reserves_in by reserve_pub (SELECT)
--- wire_targets by wire_target_h_payto
-
-out_denom_unknown=TRUE;
-out_conflict=TRUE;
-out_nonce_reuse=TRUE;
-
-SELECT denominations_serial
- INTO denom_serial
- FROM exchange.denominations
- WHERE denom_pub_hash=h_denom_pub;
-
-IF NOT FOUND
-THEN
- -- denomination unknown, should be impossible!
- out_denom_unknown=TRUE;
- ASSERT false, 'denomination unknown';
- RETURN;
-END IF;
-out_denom_unknown=FALSE;
-
-INSERT INTO exchange.reserves_out
- (h_blind_ev
- ,denominations_serial
- ,denom_sig
- ,reserve_uuid
- ,reserve_sig
- ,execution_date
- ,amount_with_fee_val
- ,amount_with_fee_frac)
-VALUES
- (h_coin_envelope
- ,denom_serial
- ,denom_sig
- ,ruuid
- ,reserve_sig
- ,now
- ,amount_val
- ,amount_frac)
-ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- out_conflict=TRUE;
- RETURN;
-END IF;
-out_conflict=FALSE;
-
--- Special actions needed for a CS withdraw?
-out_nonce_reuse=FALSE;
-IF NOT NULL cs_nonce
-THEN
- -- Cache CS signature to prevent replays in the future
- -- (and check if cached signature exists at the same time).
- INSERT INTO exchange.cs_nonce_locks
- (nonce
- ,max_denomination_serial
- ,op_hash)
- VALUES
- (cs_nonce
- ,denom_serial
- ,h_coin_envelope)
- ON CONFLICT DO NOTHING;
-
- IF NOT FOUND
- THEN
- -- See if the existing entry is identical.
- SELECT 1
- FROM exchange.cs_nonce_locks
- WHERE nonce=cs_nonce
- AND op_hash=h_coin_envelope;
- IF NOT FOUND
- THEN
- out_nonce_reuse=TRUE;
- ASSERT false, 'nonce reuse attempted by client';
- RETURN;
- END IF;
- END IF;
-END IF;
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_batch_withdraw_insert(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, ruuid bigint, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, OUT out_denom_unknown boolean, OUT out_nonce_reuse boolean, OUT out_conflict boolean); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_batch_withdraw_insert(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, ruuid bigint, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, OUT out_denom_unknown boolean, OUT out_nonce_reuse boolean, OUT out_conflict boolean) IS 'Stores information about a planchet for a batch withdraw operation. Checks if the planchet already exists, and in that case indicates a conflict';
-
-
---
--- Name: exchange_do_close_request(bytea, bigint, bytea); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_close_request(in_reserve_pub bytea, in_close_timestamp bigint, in_reserve_sig bytea, OUT out_final_balance_val bigint, OUT out_final_balance_frac integer, OUT out_balance_ok boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-BEGIN
-
- SELECT
- current_balance_val
- ,current_balance_frac
- INTO
- out_final_balance_val
- ,out_final_balance_frac
- FROM exchange.reserves
- WHERE reserve_pub=in_reserve_pub;
-
- IF NOT FOUND
- THEN
- out_final_balance_val=0;
- out_final_balance_frac=0;
- out_balance_ok = FALSE;
- out_conflict = FALSE;
- END IF;
-
- INSERT INTO exchange.close_requests
- (reserve_pub
- ,close_timestamp
- ,reserve_sig
- ,close_val
- ,close_frac)
- VALUES
- (in_reserve_pub
- ,in_close_timestamp
- ,in_reserve_sig
- ,out_final_balance_val
- ,out_final_balance_frac)
- ON CONFLICT DO NOTHING;
- out_conflict = NOT FOUND;
-
- UPDATE reserves SET
- current_balance_val=0
- ,current_balance_frac=0
- WHERE reserve_pub=in_reserve_pub;
- out_balance_ok = TRUE;
-
-END $$;
-
-
---
--- Name: exchange_do_deposit(bigint, integer, bytea, bytea, bigint, bigint, bigint, bigint, bytea, character varying, bytea, bigint, bytea, bytea, bigint, boolean, character varying); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_deposit(in_amount_with_fee_val bigint, in_amount_with_fee_frac integer, in_h_contract_terms bytea, in_wire_salt bytea, in_wallet_timestamp bigint, in_exchange_timestamp bigint, in_refund_deadline bigint, in_wire_deadline bigint, in_merchant_pub bytea, in_receiver_wire_account character varying, in_h_payto bytea, in_known_coin_id bigint, in_coin_pub bytea, in_coin_sig bytea, in_shard bigint, in_extension_blocked boolean, in_extension_details character varying, OUT out_exchange_timestamp bigint, OUT out_balance_ok boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- wtsi INT8; -- wire target serial id
-DECLARE
- xdi INT8; -- eXstension details serial id
-BEGIN
--- Shards: INSERT extension_details (by extension_details_serial_id)
--- INSERT wire_targets (by h_payto), on CONFLICT DO NOTHING;
--- INSERT deposits (by coin_pub, shard), ON CONFLICT DO NOTHING;
--- UPDATE known_coins (by coin_pub)
-
-IF NOT NULL in_extension_details
-THEN
- INSERT INTO exchange.extension_details
- (extension_options)
- VALUES
- (in_extension_details)
- RETURNING extension_details_serial_id INTO xdi;
-ELSE
- xdi=NULL;
-END IF;
-
-
-INSERT INTO exchange.wire_targets
- (wire_target_h_payto
- ,payto_uri)
- VALUES
- (in_h_payto
- ,in_receiver_wire_account)
-ON CONFLICT DO NOTHING -- for CONFLICT ON (wire_target_h_payto)
- RETURNING wire_target_serial_id INTO wtsi;
-
-IF NOT FOUND
-THEN
- SELECT wire_target_serial_id
- INTO wtsi
- FROM exchange.wire_targets
- WHERE wire_target_h_payto=in_h_payto;
-END IF;
-
-
-INSERT INTO exchange.deposits
- (shard
- ,coin_pub
- ,known_coin_id
- ,amount_with_fee_val
- ,amount_with_fee_frac
- ,wallet_timestamp
- ,exchange_timestamp
- ,refund_deadline
- ,wire_deadline
- ,merchant_pub
- ,h_contract_terms
- ,coin_sig
- ,wire_salt
- ,wire_target_h_payto
- ,extension_blocked
- ,extension_details_serial_id
- )
- VALUES
- (in_shard
- ,in_coin_pub
- ,in_known_coin_id
- ,in_amount_with_fee_val
- ,in_amount_with_fee_frac
- ,in_wallet_timestamp
- ,in_exchange_timestamp
- ,in_refund_deadline
- ,in_wire_deadline
- ,in_merchant_pub
- ,in_h_contract_terms
- ,in_coin_sig
- ,in_wire_salt
- ,in_h_payto
- ,in_extension_blocked
- ,xdi)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: see if an identical record exists.
- -- Note that by checking 'coin_sig', we implicitly check
- -- identity over everything that the signature covers.
- -- We do select over merchant_pub and wire_target_h_payto
- -- primarily here to maximally use the existing index.
- SELECT
- exchange_timestamp
- INTO
- out_exchange_timestamp
- FROM exchange.deposits
- WHERE shard=in_shard
- AND merchant_pub=in_merchant_pub
- AND wire_target_h_payto=in_h_payto
- AND coin_pub=in_coin_pub
- AND coin_sig=in_coin_sig;
-
- IF NOT FOUND
- THEN
- -- Deposit exists, but with differences. Not allowed.
- out_balance_ok=FALSE;
- out_conflict=TRUE;
- RETURN;
- END IF;
-
- -- Idempotent request known, return success.
- out_balance_ok=TRUE;
- out_conflict=FALSE;
-
- RETURN;
-END IF;
-
-
-out_exchange_timestamp=in_exchange_timestamp;
-
--- Check and update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=remaining_frac-in_amount_with_fee_frac
- + CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val-in_amount_with_fee_val
- - CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 1
- ELSE 0
- END
- WHERE coin_pub=in_coin_pub
- AND ( (remaining_val > in_amount_with_fee_val) OR
- ( (remaining_frac >= in_amount_with_fee_frac) AND
- (remaining_val >= in_amount_with_fee_val) ) );
-
-IF NOT FOUND
-THEN
- -- Insufficient balance.
- out_balance_ok=FALSE;
- out_conflict=FALSE;
- RETURN;
-END IF;
-
--- Everything fine, return success!
-out_balance_ok=TRUE;
-out_conflict=FALSE;
-
-END $$;
-
-
---
--- Name: exchange_do_expire_purse(bigint, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_expire_purse(in_start_time bigint, in_end_time bigint, OUT out_found boolean) RETURNS boolean
- LANGUAGE plpgsql
- AS $$
-DECLARE
- my_purse_pub BYTEA;
-DECLARE
- my_deposit record;
-BEGIN
-
-SELECT purse_pub
- INTO my_purse_pub
- FROM exchange.purse_requests
- WHERE (purse_expiration >= in_start_time) AND
- (purse_expiration < in_end_time) AND
- (NOT finished) AND
- (NOT refunded)
- ORDER BY purse_expiration ASC
- LIMIT 1;
-out_found = FOUND;
-IF NOT FOUND
-THEN
- RETURN;
-END IF;
-
-UPDATE purse_requests
- SET refunded=TRUE,
- finished=TRUE
- WHERE purse_pub=my_purse_pub;
-
-INSERT INTO exchange.purse_refunds
- (purse_pub)
- VALUES
- (my_purse_pub);
-
--- restore balance to each coin deposited into the purse
-FOR my_deposit IN
- SELECT coin_pub
- ,amount_with_fee_val
- ,amount_with_fee_frac
- FROM exchange.purse_deposits
- WHERE purse_pub = my_purse_pub
-LOOP
- UPDATE known_coins SET
- remaining_frac=remaining_frac+my_deposit.amount_with_fee_frac
- - CASE
- WHEN remaining_frac+my_deposit.amount_with_fee_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val+my_deposit.amount_with_fee_val
- + CASE
- WHEN remaining_frac+my_deposit.amount_with_fee_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE coin_pub = my_deposit.coin_pub;
- END LOOP;
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_expire_purse(in_start_time bigint, in_end_time bigint, OUT out_found boolean); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_expire_purse(in_start_time bigint, in_end_time bigint, OUT out_found boolean) IS 'Finds an expired purse in the given time range and refunds the coins (if any).';
-
-
---
--- Name: exchange_do_gc(bigint, bigint); Type: PROCEDURE; Schema: exchange; Owner: -
---
-
-CREATE PROCEDURE exchange.exchange_do_gc(in_ancient_date bigint, in_now bigint)
- LANGUAGE plpgsql
- AS $$
-DECLARE
- reserve_uuid_min INT8; -- minimum reserve UUID still alive
-DECLARE
- melt_min INT8; -- minimum melt still alive
-DECLARE
- coin_min INT8; -- minimum known_coin still alive
-DECLARE
- deposit_min INT8; -- minimum deposit still alive
-DECLARE
- reserve_out_min INT8; -- minimum reserve_out still alive
-DECLARE
- denom_min INT8; -- minimum denomination still alive
-BEGIN
-
-DELETE FROM exchange.prewire
- WHERE finished=TRUE;
-
-DELETE FROM exchange.wire_fee
- WHERE end_date < in_ancient_date;
-
--- TODO: use closing fee as threshold?
-DELETE FROM exchange.reserves
- WHERE gc_date < in_now
- AND current_balance_val = 0
- AND current_balance_frac = 0;
-
-SELECT
- reserve_out_serial_id
- INTO
- reserve_out_min
- FROM exchange.reserves_out
- ORDER BY reserve_out_serial_id ASC
- LIMIT 1;
-
-DELETE FROM exchange.recoup
- WHERE reserve_out_serial_id < reserve_out_min;
--- FIXME: recoup_refresh lacks GC!
-
-SELECT
- reserve_uuid
- INTO
- reserve_uuid_min
- FROM exchange.reserves
- ORDER BY reserve_uuid ASC
- LIMIT 1;
-
-DELETE FROM exchange.reserves_out
- WHERE reserve_uuid < reserve_uuid_min;
-
--- FIXME: this query will be horribly slow;
--- need to find another way to formulate it...
-DELETE FROM exchange.denominations
- WHERE expire_legal < in_now
- AND denominations_serial NOT IN
- (SELECT DISTINCT denominations_serial
- FROM exchange.reserves_out)
- AND denominations_serial NOT IN
- (SELECT DISTINCT denominations_serial
- FROM exchange.known_coins
- WHERE coin_pub IN
- (SELECT DISTINCT coin_pub
- FROM exchange.recoup))
- AND denominations_serial NOT IN
- (SELECT DISTINCT denominations_serial
- FROM exchange.known_coins
- WHERE coin_pub IN
- (SELECT DISTINCT coin_pub
- FROM exchange.recoup_refresh));
-
-SELECT
- melt_serial_id
- INTO
- melt_min
- FROM exchange.refresh_commitments
- ORDER BY melt_serial_id ASC
- LIMIT 1;
-
-DELETE FROM exchange.refresh_revealed_coins
- WHERE melt_serial_id < melt_min;
-
-DELETE FROM exchange.refresh_transfer_keys
- WHERE melt_serial_id < melt_min;
-
-SELECT
- known_coin_id
- INTO
- coin_min
- FROM exchange.known_coins
- ORDER BY known_coin_id ASC
- LIMIT 1;
-
-DELETE FROM exchange.deposits
- WHERE known_coin_id < coin_min;
-
-SELECT
- deposit_serial_id
- INTO
- deposit_min
- FROM exchange.deposits
- ORDER BY deposit_serial_id ASC
- LIMIT 1;
-
-DELETE FROM exchange.refunds
- WHERE deposit_serial_id < deposit_min;
-
-DELETE FROM exchange.aggregation_tracking
- WHERE deposit_serial_id < deposit_min;
-
-SELECT
- denominations_serial
- INTO
- denom_min
- FROM exchange.denominations
- ORDER BY denominations_serial ASC
- LIMIT 1;
-
-DELETE FROM exchange.cs_nonce_locks
- WHERE max_denomination_serial <= denom_min;
-
-END $$;
-
-
---
--- Name: exchange_do_history_request(bytea, bytea, bigint, bigint, integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_history_request(in_reserve_pub bytea, in_reserve_sig bytea, in_request_timestamp bigint, in_history_fee_val bigint, in_history_fee_frac integer, OUT out_balance_ok boolean, OUT out_idempotent boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-BEGIN
-
- -- Insert and check for idempotency.
- INSERT INTO exchange.history_requests
- (reserve_pub
- ,request_timestamp
- ,reserve_sig
- ,history_fee_val
- ,history_fee_frac)
- VALUES
- (in_reserve_pub
- ,in_request_timestamp
- ,in_reserve_sig
- ,in_history_fee_val
- ,in_history_fee_frac)
- ON CONFLICT DO NOTHING;
-
- IF NOT FOUND
- THEN
- out_balance_ok=TRUE;
- out_idempotent=TRUE;
- RETURN;
- END IF;
-
- out_idempotent=FALSE;
-
- -- Update reserve balance.
- UPDATE reserves
- SET
- current_balance_frac=current_balance_frac-in_history_fee_frac
- + CASE
- WHEN current_balance_frac < in_history_fee_frac
- THEN 100000000
- ELSE 0
- END,
- current_balance_val=current_balance_val-in_history_fee_val
- - CASE
- WHEN current_balance_frac < in_history_fee_frac
- THEN 1
- ELSE 0
- END
- WHERE
- reserve_pub=in_reserve_pub
- AND ( (current_balance_val > in_history_fee_val) OR
- ( (current_balance_frac >= in_history_fee_frac) AND
- (current_balance_val >= in_history_fee_val) ) );
-
- IF NOT FOUND
- THEN
- -- Either reserve does not exist, or balance insufficient.
- -- Both we treat the same here as balance insufficient.
- out_balance_ok=FALSE;
- RETURN;
- END IF;
-
- out_balance_ok=TRUE;
-END $$;
-
-
---
--- Name: exchange_do_melt(bytea, bigint, integer, bytea, bytea, bytea, bigint, integer, boolean); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_melt(in_cs_rms bytea, in_amount_with_fee_val bigint, in_amount_with_fee_frac integer, in_rc bytea, in_old_coin_pub bytea, in_old_coin_sig bytea, in_known_coin_id bigint, in_noreveal_index integer, in_zombie_required boolean, OUT out_balance_ok boolean, OUT out_zombie_bad boolean, OUT out_noreveal_index integer) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- denom_max INT8;
-BEGIN
--- Shards: INSERT refresh_commitments (by rc)
--- (rare:) SELECT refresh_commitments (by old_coin_pub) -- crosses shards!
--- (rare:) SEELCT refresh_revealed_coins (by melt_serial_id)
--- (rare:) PERFORM recoup_refresh (by rrc_serial) -- crosses shards!
--- UPDATE known_coins (by coin_pub)
-
-INSERT INTO exchange.refresh_commitments
- (rc
- ,old_coin_pub
- ,old_coin_sig
- ,amount_with_fee_val
- ,amount_with_fee_frac
- ,noreveal_index
- )
- VALUES
- (in_rc
- ,in_old_coin_pub
- ,in_old_coin_sig
- ,in_amount_with_fee_val
- ,in_amount_with_fee_frac
- ,in_noreveal_index)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: see if an identical record exists.
- out_noreveal_index=-1;
- SELECT
- noreveal_index
- INTO
- out_noreveal_index
- FROM exchange.refresh_commitments
- WHERE rc=in_rc;
- out_balance_ok=FOUND;
- out_zombie_bad=FALSE; -- zombie is OK
- RETURN;
-END IF;
-
-
-IF in_zombie_required
-THEN
- -- Check if this coin was part of a refresh
- -- operation that was subsequently involved
- -- in a recoup operation. We begin by all
- -- refresh operations our coin was involved
- -- with, then find all associated reveal
- -- operations, and then see if any of these
- -- reveal operations was involved in a recoup.
- PERFORM
- FROM exchange.recoup_refresh
- WHERE rrc_serial IN
- (SELECT rrc_serial
- FROM exchange.refresh_revealed_coins
- WHERE melt_serial_id IN
- (SELECT melt_serial_id
- FROM exchange.refresh_commitments
- WHERE old_coin_pub=in_old_coin_pub));
- IF NOT FOUND
- THEN
- out_zombie_bad=TRUE;
- out_balance_ok=FALSE;
- RETURN;
- END IF;
-END IF;
-
-out_zombie_bad=FALSE; -- zombie is OK
-
-
--- Check and update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=remaining_frac-in_amount_with_fee_frac
- + CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val-in_amount_with_fee_val
- - CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 1
- ELSE 0
- END
- WHERE coin_pub=in_old_coin_pub
- AND ( (remaining_val > in_amount_with_fee_val) OR
- ( (remaining_frac >= in_amount_with_fee_frac) AND
- (remaining_val >= in_amount_with_fee_val) ) );
-
-IF NOT FOUND
-THEN
- -- Insufficient balance.
- out_noreveal_index=-1;
- out_balance_ok=FALSE;
- RETURN;
-END IF;
-
-
-
--- Special actions needed for a CS melt?
-IF NOT NULL in_cs_rms
-THEN
- -- Get maximum denominations serial value in
- -- existence, this will determine how long the
- -- nonce will be locked.
- SELECT
- denominations_serial
- INTO
- denom_max
- FROM exchange.denominations
- ORDER BY denominations_serial DESC
- LIMIT 1;
-
- -- Cache CS signature to prevent replays in the future
- -- (and check if cached signature exists at the same time).
- INSERT INTO exchange.cs_nonce_locks
- (nonce
- ,max_denomination_serial
- ,op_hash)
- VALUES
- (cs_rms
- ,denom_serial
- ,in_rc)
- ON CONFLICT DO NOTHING;
-
- IF NOT FOUND
- THEN
- -- Record exists, make sure it is the same
- SELECT 1
- FROM exchange.cs_nonce_locks
- WHERE nonce=cs_rms
- AND op_hash=in_rc;
-
- IF NOT FOUND
- THEN
- -- Nonce reuse detected
- out_balance_ok=FALSE;
- out_zombie_bad=FALSE;
- out_noreveal_index=42; -- FIXME: return error message more nicely!
- ASSERT false, 'nonce reuse attempted by client';
- END IF;
- END IF;
-END IF;
-
--- Everything fine, return success!
-out_balance_ok=TRUE;
-out_noreveal_index=in_noreveal_index;
-
-END $$;
-
-
---
--- Name: exchange_do_purse_deposit(bigint, bytea, bigint, integer, bytea, bytea, bigint, integer); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_purse_deposit(in_partner_id bigint, in_purse_pub bytea, in_amount_with_fee_val bigint, in_amount_with_fee_frac integer, in_coin_pub bytea, in_coin_sig bytea, in_amount_without_fee_val bigint, in_amount_without_fee_frac integer, OUT out_balance_ok boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- was_merged BOOLEAN;
-DECLARE
- psi INT8; -- partner's serial ID (set if merged)
-DECLARE
- my_amount_val INT8; -- total in purse
-DECLARE
- my_amount_frac INT4; -- total in purse
-DECLARE
- was_paid BOOLEAN;
-DECLARE
- my_reserve_pub BYTEA;
-BEGIN
-
--- Store the deposit request.
-INSERT INTO exchange.purse_deposits
- (partner_serial_id
- ,purse_pub
- ,coin_pub
- ,amount_with_fee_val
- ,amount_with_fee_frac
- ,coin_sig)
- VALUES
- (in_partner_id
- ,in_purse_pub
- ,in_coin_pub
- ,in_amount_with_fee_val
- ,in_amount_with_fee_frac
- ,in_coin_sig)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: check if coin_sig is the same,
- -- if so, success, otherwise conflict!
- PERFORM
- FROM exchange.purse_deposits
- WHERE coin_pub = in_coin_pub
- AND purse_pub = in_purse_pub
- AND coin_sig = in_cion_sig;
- IF NOT FOUND
- THEN
- -- Deposit exists, but with differences. Not allowed.
- out_balance_ok=FALSE;
- out_conflict=TRUE;
- RETURN;
- END IF;
-END IF;
-
-
--- Debit the coin
--- Check and update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=remaining_frac-in_amount_with_fee_frac
- + CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val-in_amount_with_fee_val
- - CASE
- WHEN remaining_frac < in_amount_with_fee_frac
- THEN 1
- ELSE 0
- END
- WHERE coin_pub=in_coin_pub
- AND ( (remaining_val > in_amount_with_fee_val) OR
- ( (remaining_frac >= in_amount_with_fee_frac) AND
- (remaining_val >= in_amount_with_fee_val) ) );
-
-IF NOT FOUND
-THEN
- -- Insufficient balance.
- out_balance_ok=FALSE;
- out_conflict=FALSE;
- RETURN;
-END IF;
-
-
--- Credit the purse.
-UPDATE purse_requests
- SET
- balance_frac=balance_frac+in_amount_without_fee_frac
- - CASE
- WHEN balance_frac+in_amount_without_fee_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- balance_val=balance_val+in_amount_without_fee_val
- + CASE
- WHEN balance_frac+in_amount_without_fee_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE purse_pub=in_purse_pub;
-
-out_conflict=FALSE;
-out_balance_ok=TRUE;
-
--- See if we can finish the merge or need to update the trigger time and partner.
-SELECT partner_serial_id
- ,reserve_pub
- INTO psi
- ,my_reserve_pub
- FROM exchange.purse_merges
- WHERE purse_pub=in_purse_pub;
-
-IF NOT FOUND
-THEN
- RETURN;
-END IF;
-
-SELECT
- amount_with_fee_val
- ,amount_with_fee_frac
- INTO
- my_amount_val
- ,my_amount_frac
- FROM exchange.purse_requests
- WHERE (purse_pub=in_purse_pub)
- AND ( ( ( (amount_with_fee_val <= balance_val)
- AND (amount_with_fee_frac <= balance_frac) )
- OR (amount_with_fee_val < balance_val) ) );
-IF NOT FOUND
-THEN
- RETURN;
-END IF;
-
-IF (0 != psi)
-THEN
- -- The taler-exchange-router will take care of this.
- UPDATE purse_actions
- SET action_date=0 --- "immediately"
- ,partner_serial_id=psi
- WHERE purse_pub=in_purse_pub;
-ELSE
- -- This is a local reserve, update balance immediately.
- UPDATE reserves
- SET
- current_balance_frac=current_balance_frac+my_amount_frac
- - CASE
- WHEN current_balance_frac + my_amount_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- current_balance_val=current_balance_val+my_amount_val
- + CASE
- WHEN current_balance_frac + my_amount_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE reserve_pub=my_reserve_pub;
-
- -- ... and mark purse as finished.
- -- FIXME: combine with UPDATE above?
- UPDATE purse_requests
- SET finished=true
- WHERE purse_pub=in_purse_pub;
-END IF;
-
-
-END $$;
-
-
---
--- Name: exchange_do_purse_merge(bytea, bytea, bigint, bytea, character varying, bytea, bytea, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_purse_merge(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_partner_url character varying, in_reserve_pub bytea, in_wallet_h_payto bytea, in_expiration_date bigint, OUT out_no_partner boolean, OUT out_no_balance boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- my_amount_val INT8;
-DECLARE
- my_amount_frac INT4;
-DECLARE
- my_purse_fee_val INT8;
-DECLARE
- my_purse_fee_frac INT4;
-DECLARE
- my_partner_serial_id INT8;
-DECLARE
- my_finished BOOLEAN;
-BEGIN
-
-IF in_partner_url IS NULL
-THEN
- my_partner_serial_id=0;
-ELSE
- SELECT
- partner_serial_id
- INTO
- my_partner_serial_id
- FROM exchange.partners
- WHERE partner_base_url=in_partner_url
- AND start_date <= in_merge_timestamp
- AND end_date > in_merge_timestamp;
- IF NOT FOUND
- THEN
- out_no_partner=TRUE;
- out_conflict=FALSE;
- RETURN;
- END IF;
-END IF;
-
-out_no_partner=FALSE;
-
-
--- Check purse is 'full'.
-SELECT amount_with_fee_val
- ,amount_with_fee_frac
- ,purse_fee_val
- ,purse_fee_frac
- ,finished
- INTO my_amount_val
- ,my_amount_frac
- ,my_purse_fee_val
- ,my_purse_fee_frac
- ,my_finished
- FROM exchange.purse_requests
- WHERE purse_pub=in_purse_pub
- AND balance_val >= amount_with_fee_val
- AND ( (balance_frac >= amount_with_fee_frac) OR
- (balance_val > amount_with_fee_val) );
-IF NOT FOUND
-THEN
- out_no_balance=TRUE;
- out_conflict=FALSE;
- RETURN;
-END IF;
-out_no_balance=FALSE;
-
--- Store purse merge signature, checks for purse_pub uniqueness
-INSERT INTO exchange.purse_merges
- (partner_serial_id
- ,reserve_pub
- ,purse_pub
- ,merge_sig
- ,merge_timestamp)
- VALUES
- (my_partner_serial_id
- ,in_reserve_pub
- ,in_purse_pub
- ,in_merge_sig
- ,in_merge_timestamp)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: see if an identical record exists.
- -- Note that by checking 'merge_sig', we implicitly check
- -- identity over everything that the signature covers.
- PERFORM
- FROM exchange.purse_merges
- WHERE purse_pub=in_purse_pub
- AND merge_sig=in_merge_sig;
- IF NOT FOUND
- THEN
- -- Purse was merged, but to some other reserve. Not allowed.
- out_conflict=TRUE;
- RETURN;
- END IF;
-
- -- "success"
- out_conflict=FALSE;
- RETURN;
-END IF;
-out_conflict=FALSE;
-
-ASSERT NOT my_finished, 'internal invariant failed';
-
-
--- Initialize reserve, if not yet exists.
-INSERT INTO reserves
- (reserve_pub
- ,expiration_date
- ,gc_date)
- VALUES
- (in_reserve_pub
- ,in_expiration_date
- ,in_expiration_date)
- ON CONFLICT DO NOTHING;
-
-
-
-
--- Store account merge signature.
-INSERT INTO exchange.account_merges
- (reserve_pub
- ,reserve_sig
- ,purse_pub
- ,wallet_h_payto)
- VALUES
- (in_reserve_pub
- ,in_reserve_sig
- ,in_purse_pub
- ,in_wallet_h_payto);
-
--- If we need a wad transfer, mark purse ready for it.
-IF (0 != my_partner_serial_id)
-THEN
- -- The taler-exchange-router will take care of this.
- UPDATE purse_actions
- SET action_date=0 --- "immediately"
- ,partner_serial_id=my_partner_serial_id
- WHERE purse_pub=in_purse_pub;
-ELSE
- -- This is a local reserve, update reserve balance immediately.
-
- -- Refund the purse fee, by adding it to the purse value:
- my_amount_val = my_amount_val + my_purse_fee_val;
- my_amount_frac = my_amount_frac + my_purse_fee_frac;
- -- normalize result
- my_amount_val = my_amount_val + my_amount_frac / 100000000;
- my_amount_frac = my_amount_frac % 100000000;
-
- UPDATE reserves
- SET
- current_balance_frac=current_balance_frac+my_amount_frac
- - CASE
- WHEN current_balance_frac + my_amount_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- current_balance_val=current_balance_val+my_amount_val
- + CASE
- WHEN current_balance_frac + my_amount_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE reserve_pub=in_reserve_pub;
-
- -- ... and mark purse as finished.
- UPDATE purse_requests
- SET finished=true
- WHERE purse_pub=in_purse_pub;
-END IF;
-
-
-RETURN;
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_purse_merge(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_partner_url character varying, in_reserve_pub bytea, in_wallet_h_payto bytea, in_expiration_date bigint, OUT out_no_partner boolean, OUT out_no_balance boolean, OUT out_conflict boolean); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_purse_merge(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_partner_url character varying, in_reserve_pub bytea, in_wallet_h_payto bytea, in_expiration_date bigint, OUT out_no_partner boolean, OUT out_no_balance boolean, OUT out_conflict boolean) IS 'Checks that the partner exists, the purse has not been merged with a different reserve and that the purse is full. If so, persists the merge data and either merges the purse with the reserve or marks it as ready for the taler-exchange-router. Caller MUST abort the transaction on failures so as to not persist data by accident.';
-
-
---
--- Name: exchange_do_recoup_by_reserve(bytea); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_recoup_by_reserve(res_pub bytea) RETURNS TABLE(denom_sig bytea, denominations_serial bigint, coin_pub bytea, coin_sig bytea, coin_blind bytea, amount_val bigint, amount_frac integer, recoup_timestamp bigint)
- LANGUAGE plpgsql
- AS $$
-DECLARE
- res_uuid BIGINT;
- blind_ev BYTEA;
- c_pub BYTEA;
-BEGIN
- SELECT reserve_uuid
- INTO res_uuid
- FROM exchange.reserves
- WHERE reserves.reserve_pub = res_pub;
-
- FOR blind_ev IN
- SELECT h_blind_ev
- FROM exchange.reserves_out_by_reserve
- WHERE reserves_out_by_reserve.reserve_uuid = res_uuid
- LOOP
- SELECT robr.coin_pub
- INTO c_pub
- FROM exchange.recoup_by_reserve robr
- WHERE robr.reserve_out_serial_id = (
- SELECT reserves_out.reserve_out_serial_id
- FROM exchange.reserves_out
- WHERE reserves_out.h_blind_ev = blind_ev
- );
- RETURN QUERY
- SELECT kc.denom_sig,
- kc.denominations_serial,
- rc.coin_pub,
- rc.coin_sig,
- rc.coin_blind,
- rc.amount_val,
- rc.amount_frac,
- rc.recoup_timestamp
- FROM (
- SELECT *
- FROM exchange.known_coins
- WHERE known_coins.coin_pub = c_pub
- ) kc
- JOIN (
- SELECT *
- FROM exchange.recoup
- WHERE recoup.coin_pub = c_pub
- ) rc USING (coin_pub);
- END LOOP;
-END;
-$$;
-
-
---
--- Name: FUNCTION exchange_do_recoup_by_reserve(res_pub bytea); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_recoup_by_reserve(res_pub bytea) IS 'Recoup by reserve as a function to make sure we hit only the needed partition and not all when joining as joins on distributed tables fetch ALL rows from the shards';
-
-
---
--- Name: exchange_do_recoup_to_coin(bytea, bigint, bytea, bytea, bigint, bytea, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_recoup_to_coin(in_old_coin_pub bytea, in_rrc_serial bigint, in_coin_blind bytea, in_coin_pub bytea, in_known_coin_id bigint, in_coin_sig bytea, in_recoup_timestamp bigint, OUT out_recoup_ok boolean, OUT out_internal_failure boolean, OUT out_recoup_timestamp bigint) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- tmp_val INT8; -- amount recouped
-DECLARE
- tmp_frac INT8; -- amount recouped
-BEGIN
-
--- Shards: UPDATE known_coins (by coin_pub)
--- SELECT recoup_refresh (by coin_pub)
--- UPDATE known_coins (by coin_pub)
--- INSERT recoup_refresh (by coin_pub)
-
-
-out_internal_failure=FALSE;
-
-
--- Check remaining balance of the coin.
-SELECT
- remaining_frac
- ,remaining_val
- INTO
- tmp_frac
- ,tmp_val
-FROM exchange.known_coins
- WHERE coin_pub=in_coin_pub;
-
-IF NOT FOUND
-THEN
- out_internal_failure=TRUE;
- out_recoup_ok=FALSE;
- RETURN;
-END IF;
-
-IF tmp_val + tmp_frac = 0
-THEN
- -- Check for idempotency
- SELECT
- recoup_timestamp
- INTO
- out_recoup_timestamp
- FROM exchange.recoup_refresh
- WHERE coin_pub=in_coin_pub;
- out_recoup_ok=FOUND;
- RETURN;
-END IF;
-
--- Update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=0
- ,remaining_val=0
- WHERE coin_pub=in_coin_pub;
-
-
--- Credit the old coin.
-UPDATE known_coins
- SET
- remaining_frac=remaining_frac+tmp_frac
- - CASE
- WHEN remaining_frac+tmp_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val+tmp_val
- + CASE
- WHEN remaining_frac+tmp_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE coin_pub=in_old_coin_pub;
-
-
-IF NOT FOUND
-THEN
- RAISE NOTICE 'failed to increase old coin balance from recoup';
- out_recoup_ok=TRUE;
- out_internal_failure=TRUE;
- RETURN;
-END IF;
-
-
-INSERT INTO exchange.recoup_refresh
- (coin_pub
- ,known_coin_id
- ,coin_sig
- ,coin_blind
- ,amount_val
- ,amount_frac
- ,recoup_timestamp
- ,rrc_serial
- )
-VALUES
- (in_coin_pub
- ,in_known_coin_id
- ,in_coin_sig
- ,in_coin_blind
- ,tmp_val
- ,tmp_frac
- ,in_recoup_timestamp
- ,in_rrc_serial);
-
--- Normal end, everything is fine.
-out_recoup_ok=TRUE;
-out_recoup_timestamp=in_recoup_timestamp;
-
-END $$;
-
-
---
--- Name: exchange_do_recoup_to_reserve(bytea, bigint, bytea, bytea, bigint, bytea, bigint, bigint, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_recoup_to_reserve(in_reserve_pub bytea, in_reserve_out_serial_id bigint, in_coin_blind bytea, in_coin_pub bytea, in_known_coin_id bigint, in_coin_sig bytea, in_reserve_gc bigint, in_reserve_expiration bigint, in_recoup_timestamp bigint, OUT out_recoup_ok boolean, OUT out_internal_failure boolean, OUT out_recoup_timestamp bigint) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- tmp_val INT8; -- amount recouped
-DECLARE
- tmp_frac INT8; -- amount recouped
-BEGIN
--- Shards: SELECT known_coins (by coin_pub)
--- SELECT recoup (by coin_pub)
--- UPDATE known_coins (by coin_pub)
--- UPDATE reserves (by reserve_pub)
--- INSERT recoup (by coin_pub)
-
-out_internal_failure=FALSE;
-
-
--- Check remaining balance of the coin.
-SELECT
- remaining_frac
- ,remaining_val
- INTO
- tmp_frac
- ,tmp_val
-FROM exchange.known_coins
- WHERE coin_pub=in_coin_pub;
-
-IF NOT FOUND
-THEN
- out_internal_failure=TRUE;
- out_recoup_ok=FALSE;
- RETURN;
-END IF;
-
-IF tmp_val + tmp_frac = 0
-THEN
- -- Check for idempotency
- SELECT
- recoup_timestamp
- INTO
- out_recoup_timestamp
- FROM exchange.recoup
- WHERE coin_pub=in_coin_pub;
-
- out_recoup_ok=FOUND;
- RETURN;
-END IF;
-
-
--- Update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=0
- ,remaining_val=0
- WHERE coin_pub=in_coin_pub;
-
-
--- Credit the reserve and update reserve timers.
-UPDATE reserves
- SET
- current_balance_frac=current_balance_frac+tmp_frac
- - CASE
- WHEN current_balance_frac+tmp_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- current_balance_val=current_balance_val+tmp_val
- + CASE
- WHEN current_balance_frac+tmp_frac >= 100000000
- THEN 1
- ELSE 0
- END,
- gc_date=GREATEST(gc_date, in_reserve_gc),
- expiration_date=GREATEST(expiration_date, in_reserve_expiration)
- WHERE reserve_pub=in_reserve_pub;
-
-
-IF NOT FOUND
-THEN
- RAISE NOTICE 'failed to increase reserve balance from recoup';
- out_recoup_ok=TRUE;
- out_internal_failure=TRUE;
- RETURN;
-END IF;
-
-
-INSERT INTO exchange.recoup
- (coin_pub
- ,coin_sig
- ,coin_blind
- ,amount_val
- ,amount_frac
- ,recoup_timestamp
- ,reserve_out_serial_id
- )
-VALUES
- (in_coin_pub
- ,in_coin_sig
- ,in_coin_blind
- ,tmp_val
- ,tmp_frac
- ,in_recoup_timestamp
- ,in_reserve_out_serial_id);
-
--- Normal end, everything is fine.
-out_recoup_ok=TRUE;
-out_recoup_timestamp=in_recoup_timestamp;
-
-END $$;
-
-
---
--- Name: exchange_do_refund(bigint, integer, bigint, integer, bigint, integer, bytea, bigint, bigint, bigint, bytea, bytea, bytea); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_refund(in_amount_with_fee_val bigint, in_amount_with_fee_frac integer, in_amount_val bigint, in_amount_frac integer, in_deposit_fee_val bigint, in_deposit_fee_frac integer, in_h_contract_terms bytea, in_rtransaction_id bigint, in_deposit_shard bigint, in_known_coin_id bigint, in_coin_pub bytea, in_merchant_pub bytea, in_merchant_sig bytea, OUT out_not_found boolean, OUT out_refund_ok boolean, OUT out_gone boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- dsi INT8; -- ID of deposit being refunded
-DECLARE
- tmp_val INT8; -- total amount refunded
-DECLARE
- tmp_frac INT8; -- total amount refunded
-DECLARE
- deposit_val INT8; -- amount that was originally deposited
-DECLARE
- deposit_frac INT8; -- amount that was originally deposited
-BEGIN
--- Shards: SELECT deposits (coin_pub, shard, h_contract_terms, merchant_pub)
--- INSERT refunds (by coin_pub, rtransaction_id) ON CONFLICT DO NOTHING
--- SELECT refunds (by coin_pub)
--- UPDATE known_coins (by coin_pub)
-
-SELECT
- deposit_serial_id
- ,amount_with_fee_val
- ,amount_with_fee_frac
- ,done
-INTO
- dsi
- ,deposit_val
- ,deposit_frac
- ,out_gone
-FROM exchange.deposits
- WHERE coin_pub=in_coin_pub
- AND shard=in_deposit_shard
- AND merchant_pub=in_merchant_pub
- AND h_contract_terms=in_h_contract_terms;
-
-IF NOT FOUND
-THEN
- -- No matching deposit found!
- out_refund_ok=FALSE;
- out_conflict=FALSE;
- out_not_found=TRUE;
- out_gone=FALSE;
- RETURN;
-END IF;
-
-INSERT INTO exchange.refunds
- (deposit_serial_id
- ,coin_pub
- ,merchant_sig
- ,rtransaction_id
- ,amount_with_fee_val
- ,amount_with_fee_frac
- )
- VALUES
- (dsi
- ,in_coin_pub
- ,in_merchant_sig
- ,in_rtransaction_id
- ,in_amount_with_fee_val
- ,in_amount_with_fee_frac)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: see if an identical record exists.
- -- Note that by checking 'coin_sig', we implicitly check
- -- identity over everything that the signature covers.
- -- We do select over merchant_pub and h_contract_terms
- -- primarily here to maximally use the existing index.
- PERFORM
- FROM exchange.refunds
- WHERE coin_pub=in_coin_pub
- AND deposit_serial_id=dsi
- AND rtransaction_id=in_rtransaction_id
- AND amount_with_fee_val=in_amount_with_fee_val
- AND amount_with_fee_frac=in_amount_with_fee_frac;
-
- IF NOT FOUND
- THEN
- -- Deposit exists, but have conflicting refund.
- out_refund_ok=FALSE;
- out_conflict=TRUE;
- out_not_found=FALSE;
- RETURN;
- END IF;
-
- -- Idempotent request known, return success.
- out_refund_ok=TRUE;
- out_conflict=FALSE;
- out_not_found=FALSE;
- out_gone=FALSE;
- RETURN;
-END IF;
-
-IF out_gone
-THEN
- -- money already sent to the merchant. Tough luck.
- out_refund_ok=FALSE;
- out_conflict=FALSE;
- out_not_found=FALSE;
- RETURN;
-END IF;
-
--- Check refund balance invariant.
-SELECT
- SUM(amount_with_fee_val) -- overflow here is not plausible
- ,SUM(CAST(amount_with_fee_frac AS INT8)) -- compute using 64 bits
- INTO
- tmp_val
- ,tmp_frac
- FROM exchange.refunds
- WHERE coin_pub=in_coin_pub
- AND deposit_serial_id=dsi;
-IF tmp_val IS NULL
-THEN
- RAISE NOTICE 'failed to sum up existing refunds';
- out_refund_ok=FALSE;
- out_conflict=FALSE;
- out_not_found=FALSE;
- RETURN;
-END IF;
-
--- Normalize result before continuing
-tmp_val = tmp_val + tmp_frac / 100000000;
-tmp_frac = tmp_frac % 100000000;
-
--- Actually check if the deposits are sufficient for the refund. Verbosely. ;-)
-IF (tmp_val < deposit_val)
-THEN
- out_refund_ok=TRUE;
-ELSE
- IF (tmp_val = deposit_val) AND (tmp_frac <= deposit_frac)
- THEN
- out_refund_ok=TRUE;
- ELSE
- out_refund_ok=FALSE;
- END IF;
-END IF;
-
-IF (tmp_val = deposit_val) AND (tmp_frac = deposit_frac)
-THEN
- -- Refunds have reached the full value of the original
- -- deposit. Also refund the deposit fee.
- in_amount_frac = in_amount_frac + in_deposit_fee_frac;
- in_amount_val = in_amount_val + in_deposit_fee_val;
-
- -- Normalize result before continuing
- in_amount_val = in_amount_val + in_amount_frac / 100000000;
- in_amount_frac = in_amount_frac % 100000000;
-END IF;
-
--- Update balance of the coin.
-UPDATE known_coins
- SET
- remaining_frac=remaining_frac+in_amount_frac
- - CASE
- WHEN remaining_frac+in_amount_frac >= 100000000
- THEN 100000000
- ELSE 0
- END,
- remaining_val=remaining_val+in_amount_val
- + CASE
- WHEN remaining_frac+in_amount_frac >= 100000000
- THEN 1
- ELSE 0
- END
- WHERE coin_pub=in_coin_pub;
-
-
-out_conflict=FALSE;
-out_not_found=FALSE;
-
-END $$;
-
-
---
--- Name: exchange_do_reserve_purse(bytea, bytea, bigint, bytea, boolean, bigint, integer, bytea, bytea); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_reserve_purse(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_reserve_quota boolean, in_purse_fee_val bigint, in_purse_fee_frac integer, in_reserve_pub bytea, in_wallet_h_payto bytea, OUT out_no_funds boolean, OUT out_no_reserve boolean, OUT out_conflict boolean) RETURNS record
- LANGUAGE plpgsql
- AS $$
-BEGIN
-
--- Store purse merge signature, checks for purse_pub uniqueness
-INSERT INTO exchange.purse_merges
- (partner_serial_id
- ,reserve_pub
- ,purse_pub
- ,merge_sig
- ,merge_timestamp)
- VALUES
- (0
- ,in_reserve_pub
- ,in_purse_pub
- ,in_merge_sig
- ,in_merge_timestamp)
- ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- Idempotency check: see if an identical record exists.
- -- Note that by checking 'merge_sig', we implicitly check
- -- identity over everything that the signature covers.
- PERFORM
- FROM exchange.purse_merges
- WHERE purse_pub=in_purse_pub
- AND merge_sig=in_merge_sig;
- IF NOT FOUND
- THEN
- -- Purse was merged, but to some other reserve. Not allowed.
- out_conflict=TRUE;
- out_no_reserve=FALSE;
- out_no_funds=FALSE;
- RETURN;
- END IF;
-
- -- "success"
- out_conflict=FALSE;
- out_no_funds=FALSE;
- out_no_reserve=FALSE;
- RETURN;
-END IF;
-out_conflict=FALSE;
-
-PERFORM
- FROM exchange.reserves
- WHERE reserve_pub=in_reserve_pub;
-
-IF NOT FOUND
-THEN
- out_no_reserve=TRUE;
- out_no_funds=TRUE;
- RETURN;
-END IF;
-out_no_reserve=FALSE;
-
-IF (in_reserve_quota)
-THEN
- -- Increment active purses per reserve (and check this is allowed)
- UPDATE reserves
- SET purses_active=purses_active+1
- WHERE reserve_pub=in_reserve_pub
- AND purses_active < purses_allowed;
- IF NOT FOUND
- THEN
- out_no_funds=TRUE;
- RETURN;
- END IF;
-ELSE
- -- UPDATE reserves balance (and check if balance is enough to pay the fee)
- UPDATE reserves
- SET
- current_balance_frac=current_balance_frac-in_purse_fee_frac
- + CASE
- WHEN current_balance_frac < in_purse_fee_frac
- THEN 100000000
- ELSE 0
- END,
- current_balance_val=current_balance_val-in_purse_fee_val
- - CASE
- WHEN current_balance_frac < in_purse_fee_frac
- THEN 1
- ELSE 0
- END
- WHERE reserve_pub=in_reserve_pub
- AND ( (current_balance_val > in_purse_fee_val) OR
- ( (current_balance_frac >= in_purse_fee_frac) AND
- (current_balance_val >= in_purse_fee_val) ) );
- IF NOT FOUND
- THEN
- out_no_funds=TRUE;
- RETURN;
- END IF;
-END IF;
-
-out_no_funds=FALSE;
-
-
--- Store account merge signature.
-INSERT INTO exchange.account_merges
- (reserve_pub
- ,reserve_sig
- ,purse_pub
- ,wallet_h_payto)
- VALUES
- (in_reserve_pub
- ,in_reserve_sig
- ,in_purse_pub
- ,in_wallet_h_payto);
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_reserve_purse(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_reserve_quota boolean, in_purse_fee_val bigint, in_purse_fee_frac integer, in_reserve_pub bytea, in_wallet_h_payto bytea, OUT out_no_funds boolean, OUT out_no_reserve boolean, OUT out_conflict boolean); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_reserve_purse(in_purse_pub bytea, in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_reserve_quota boolean, in_purse_fee_val bigint, in_purse_fee_frac integer, in_reserve_pub bytea, in_wallet_h_payto bytea, OUT out_no_funds boolean, OUT out_no_reserve boolean, OUT out_conflict boolean) IS 'Create a purse for a reserve.';
-
-
---
--- Name: exchange_do_withdraw(bytea, bigint, integer, bytea, bytea, bytea, bytea, bytea, bigint, bigint); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.exchange_do_withdraw(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, rpub bytea, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT nonce_ok boolean, OUT ruuid bigint) RETURNS record
- LANGUAGE plpgsql
- AS $$
-DECLARE
- reserve_gc INT8;
-DECLARE
- denom_serial INT8;
-DECLARE
- reserve_val INT8;
-DECLARE
- reserve_frac INT4;
-BEGIN
--- Shards: reserves by reserve_pub (SELECT)
--- reserves_out (INSERT, with CONFLICT detection) by wih
--- reserves by reserve_pub (UPDATE)
--- reserves_in by reserve_pub (SELECT)
--- wire_targets by wire_target_h_payto
-
-SELECT denominations_serial
- INTO denom_serial
- FROM exchange.denominations
- WHERE denom_pub_hash=h_denom_pub;
-
-IF NOT FOUND
-THEN
- -- denomination unknown, should be impossible!
- reserve_found=FALSE;
- balance_ok=FALSE;
- ruuid=0;
- ASSERT false, 'denomination unknown';
- RETURN;
-END IF;
-
-
-SELECT
- current_balance_val
- ,current_balance_frac
- ,gc_date
- ,reserve_uuid
- INTO
- reserve_val
- ,reserve_frac
- ,reserve_gc
- ,ruuid
- FROM exchange.reserves
- WHERE reserves.reserve_pub=rpub;
-
-IF NOT FOUND
-THEN
- -- reserve unknown
- reserve_found=FALSE;
- balance_ok=FALSE;
- nonce_ok=TRUE;
- ruuid=2;
- RETURN;
-END IF;
-
--- We optimistically insert, and then on conflict declare
--- the query successful due to idempotency.
-INSERT INTO exchange.reserves_out
- (h_blind_ev
- ,denominations_serial
- ,denom_sig
- ,reserve_uuid
- ,reserve_sig
- ,execution_date
- ,amount_with_fee_val
- ,amount_with_fee_frac)
-VALUES
- (h_coin_envelope
- ,denom_serial
- ,denom_sig
- ,ruuid
- ,reserve_sig
- ,now
- ,amount_val
- ,amount_frac)
-ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
- -- idempotent query, all constraints must be satisfied
- reserve_found=TRUE;
- balance_ok=TRUE;
- nonce_ok=TRUE;
- RETURN;
-END IF;
-
--- Check reserve balance is sufficient.
-IF (reserve_val > amount_val)
-THEN
- IF (reserve_frac >= amount_frac)
- THEN
- reserve_val=reserve_val - amount_val;
- reserve_frac=reserve_frac - amount_frac;
- ELSE
- reserve_val=reserve_val - amount_val - 1;
- reserve_frac=reserve_frac + 100000000 - amount_frac;
- END IF;
-ELSE
- IF (reserve_val = amount_val) AND (reserve_frac >= amount_frac)
- THEN
- reserve_val=0;
- reserve_frac=reserve_frac - amount_frac;
- ELSE
- reserve_found=TRUE;
- nonce_ok=TRUE; -- we do not really know
- balance_ok=FALSE;
- RETURN;
- END IF;
-END IF;
-
--- Calculate new expiration dates.
-min_reserve_gc=GREATEST(min_reserve_gc,reserve_gc);
-
--- Update reserve balance.
-UPDATE reserves SET
- gc_date=min_reserve_gc
- ,current_balance_val=reserve_val
- ,current_balance_frac=reserve_frac
-WHERE
- reserves.reserve_pub=rpub;
-
-reserve_found=TRUE;
-balance_ok=TRUE;
-
-
-
--- Special actions needed for a CS withdraw?
-IF NOT NULL cs_nonce
-THEN
- -- Cache CS signature to prevent replays in the future
- -- (and check if cached signature exists at the same time).
- INSERT INTO exchange.cs_nonce_locks
- (nonce
- ,max_denomination_serial
- ,op_hash)
- VALUES
- (cs_nonce
- ,denom_serial
- ,h_coin_envelope)
- ON CONFLICT DO NOTHING;
-
- IF NOT FOUND
- THEN
- -- See if the existing entry is identical.
- SELECT 1
- FROM exchange.cs_nonce_locks
- WHERE nonce=cs_nonce
- AND op_hash=h_coin_envelope;
- IF NOT FOUND
- THEN
- reserve_found=FALSE;
- balance_ok=FALSE;
- nonce_ok=FALSE;
- RETURN;
- END IF;
- END IF;
-ELSE
- nonce_ok=TRUE; -- no nonce, hence OK!
-END IF;
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_withdraw(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, rpub bytea, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT nonce_ok boolean, OUT ruuid bigint); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.exchange_do_withdraw(cs_nonce bytea, amount_val bigint, amount_frac integer, h_denom_pub bytea, rpub bytea, reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, min_reserve_gc bigint, OUT reserve_found boolean, OUT balance_ok boolean, OUT nonce_ok boolean, OUT ruuid bigint) IS 'Checks whether the reserve has sufficient balance for a withdraw operation (or the request is repeated and was previously approved) and if so updates the database with the result';
-
-
---
--- Name: prepare_sharding(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.prepare_sharding() RETURNS void
- LANGUAGE plpgsql
- AS $$
-BEGIN
- CREATE EXTENSION IF NOT EXISTS postgres_fdw;
- PERFORM detach_default_partitions();
- ALTER TABLE IF EXISTS wire_targets
- DROP CONSTRAINT IF EXISTS wire_targets_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS reserves
- DROP CONSTRAINT IF EXISTS reserves_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS reserves_in
- DROP CONSTRAINT IF EXISTS reserves_in_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS reserves_close
- DROP CONSTRAINT IF EXISTS reserves_close_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS reserves_out
- DROP CONSTRAINT IF EXISTS reserves_out_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS reserves_out_denominations_serial_fkey
- ,DROP CONSTRAINT IF EXISTS reserves_out_h_blind_ev_key
- ;
- ALTER TABLE IF EXISTS known_coins
- DROP CONSTRAINT IF EXISTS known_coins_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS known_coins_denominations_serial_fkey
- ;
- ALTER TABLE IF EXISTS refresh_commitments
- DROP CONSTRAINT IF EXISTS refresh_commitments_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS refresh_old_coin_pub_fkey
- ;
- ALTER TABLE IF EXISTS refresh_revealed_coins
- DROP CONSTRAINT IF EXISTS refresh_revealed_coins_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS refresh_revealed_coins_denominations_serial_fkey
- ;
- ALTER TABLE IF EXISTS refresh_transfer_keys
- DROP CONSTRAINT IF EXISTS refresh_transfer_keys_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS deposits
- DROP CONSTRAINT IF EXISTS deposits_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS deposits_extension_details_serial_id_fkey
- ,DROP CONSTRAINT IF EXISTS deposits_coin_pub_merchant_pub_h_contract_terms_key CASCADE
- ;
- ALTER TABLE IF EXISTS refunds
- DROP CONSTRAINT IF EXISTS refunds_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS wire_out
- DROP CONSTRAINT IF EXISTS wire_out_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS wire_out_wtid_raw_key CASCADE
- ;
- ALTER TABLE IF EXISTS aggregation_tracking
- DROP CONSTRAINT IF EXISTS aggregation_tracking_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS aggregation_tracking_wtid_raw_fkey
- ;
- ALTER TABLE IF EXISTS recoup
- DROP CONSTRAINT IF EXISTS recoup_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS recoup_refresh
- DROP CONSTRAINT IF EXISTS recoup_refresh_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS prewire
- DROP CONSTRAINT IF EXISTS prewire_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS cs_nonce_locks
- DROP CONSTRAINT IF EXISTS cs_nonce_locks_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS purse_requests
- DROP CONSTRAINT IF EXISTS purse_requests_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS purse_refunds
- DROP CONSTRAINT IF EXISTS purse_refunds_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS purse_merges
- DROP CONSTRAINT IF EXISTS purse_merges_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS account_merges
- DROP CONSTRAINT IF EXISTS account_merges_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS contracts
- DROP CONSTRAINT IF EXISTS contracts_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS history_requests
- DROP CONSTRAINT IF EXISTS history_requests_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS close_requests
- DROP CONSTRAINT IF EXISTS close_requests_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS purse_deposits
- DROP CONSTRAINT IF EXISTS purse_deposits_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS wads_out
- DROP CONSTRAINT IF EXISTS wads_out_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS wad_out_entries
- DROP CONSTRAINT IF EXISTS wad_out_entries_pkey CASCADE
- ;
- ALTER TABLE IF EXISTS wads_in
- DROP CONSTRAINT IF EXISTS wads_in_pkey CASCADE
- ,DROP CONSTRAINT IF EXISTS wads_in_wad_id_origin_exchange_url_key
- ;
- ALTER TABLE IF EXISTS wad_in_entries
- DROP CONSTRAINT IF EXISTS wad_in_entries_pkey CASCADE
- ;
-END
-$$;
-
-
---
--- Name: purse_requests_insert_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.purse_requests_insert_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- ASSERT NOT NEW.finished,'Internal invariant violated';
- INSERT INTO
- purse_actions
- (purse_pub
- ,action_date)
- VALUES
- (NEW.purse_pub
- ,NEW.purse_expiration);
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION purse_requests_insert_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.purse_requests_insert_trigger() IS 'When a purse is created, insert it into the purse_action table to take action when the purse expires.';
-
-
---
--- Name: purse_requests_on_update_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.purse_requests_on_update_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- IF (NEW.finished AND NOT OLD.finished)
- THEN
- IF (NEW.in_reserve_quota)
- THEN
- UPDATE reserves
- SET purses_active=purses_active-1
- WHERE reserve_pub IN
- (SELECT reserve_pub
- FROM exchange.purse_merges
- WHERE purse_pub=NEW.purse_pub
- LIMIT 1);
- NEW.in_reserve_quota=FALSE;
- END IF;
- DELETE FROM exchange.purse_actions
- WHERE purse_pub=NEW.purse_pub;
- RETURN NEW;
- END IF;
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION purse_requests_on_update_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.purse_requests_on_update_trigger() IS 'Trigger the router if the purse is ready. Also removes the entry from the router watchlist once the purse is finished.';
-
-
---
--- Name: recoup_delete_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.recoup_delete_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- DELETE FROM exchange.recoup_by_reserve
- WHERE reserve_out_serial_id = OLD.reserve_out_serial_id
- AND coin_pub = OLD.coin_pub;
- RETURN OLD;
-END $$;
-
-
---
--- Name: FUNCTION recoup_delete_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.recoup_delete_trigger() IS 'Replicate recoup deletions into recoup_by_reserve table.';
-
-
---
--- Name: recoup_insert_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.recoup_insert_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- INSERT INTO exchange.recoup_by_reserve
- (reserve_out_serial_id
- ,coin_pub)
- VALUES
- (NEW.reserve_out_serial_id
- ,NEW.coin_pub);
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION recoup_insert_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.recoup_insert_trigger() IS 'Replicate recoup inserts into recoup_by_reserve table.';
-
-
---
--- Name: reserves_out_by_reserve_delete_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.reserves_out_by_reserve_delete_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- DELETE FROM exchange.reserves_out_by_reserve
- WHERE reserve_uuid = OLD.reserve_uuid;
- RETURN OLD;
-END $$;
-
-
---
--- Name: FUNCTION reserves_out_by_reserve_delete_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.reserves_out_by_reserve_delete_trigger() IS 'Replicate reserve_out deletions into reserve_out_by_reserve table.';
-
-
---
--- Name: reserves_out_by_reserve_insert_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.reserves_out_by_reserve_insert_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- INSERT INTO exchange.reserves_out_by_reserve
- (reserve_uuid
- ,h_blind_ev)
- VALUES
- (NEW.reserve_uuid
- ,NEW.h_blind_ev);
- RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION reserves_out_by_reserve_insert_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.reserves_out_by_reserve_insert_trigger() IS 'Replicate reserve_out inserts into reserve_out_by_reserve table.';
-
-
---
--- Name: wire_out_delete_trigger(); Type: FUNCTION; Schema: exchange; Owner: -
---
-
-CREATE FUNCTION exchange.wire_out_delete_trigger() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- DELETE FROM exchange.aggregation_tracking
- WHERE wtid_raw = OLD.wtid_raw;
- RETURN OLD;
-END $$;
-
-
---
--- Name: FUNCTION wire_out_delete_trigger(); Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON FUNCTION exchange.wire_out_delete_trigger() IS 'Replicate reserve_out deletions into aggregation_tracking. This replaces an earlier use of an ON DELETE CASCADE that required a DEFERRABLE constraint and conflicted with nice partitioning.';
-
-
-SET default_tablespace = '';
-
-SET default_table_access_method = heap;
-
---
--- Name: patches; Type: TABLE; Schema: _v; Owner: -
---
-
-CREATE TABLE _v.patches (
- patch_name text NOT NULL,
- applied_tsz timestamp with time zone DEFAULT now() NOT NULL,
- applied_by text NOT NULL,
- requires text[],
- conflicts text[]
-);
-
-
---
--- Name: TABLE patches; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON TABLE _v.patches IS 'Contains information about what patches are currently applied on database.';
-
-
---
--- Name: COLUMN patches.patch_name; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.patch_name IS 'Name of patch, has to be unique for every patch.';
-
-
---
--- Name: COLUMN patches.applied_tsz; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.applied_tsz IS 'When the patch was applied.';
-
-
---
--- Name: COLUMN patches.applied_by; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.applied_by IS 'Who applied this patch (PostgreSQL username)';
-
-
---
--- Name: COLUMN patches.requires; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.requires IS 'List of patches that are required for given patch.';
-
-
---
--- Name: COLUMN patches.conflicts; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.conflicts IS 'List of patches that conflict with given patch.';
-
-
---
--- Name: auditor_balance_summary; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_balance_summary (
- master_pub bytea NOT NULL,
- denom_balance_val bigint NOT NULL,
- denom_balance_frac integer NOT NULL,
- deposit_fee_balance_val bigint NOT NULL,
- deposit_fee_balance_frac integer NOT NULL,
- melt_fee_balance_val bigint NOT NULL,
- melt_fee_balance_frac integer NOT NULL,
- refund_fee_balance_val bigint NOT NULL,
- refund_fee_balance_frac integer NOT NULL,
- risk_val bigint NOT NULL,
- risk_frac integer NOT NULL,
- loss_val bigint NOT NULL,
- loss_frac integer NOT NULL,
- irregular_recoup_val bigint NOT NULL,
- irregular_recoup_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_balance_summary; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_balance_summary IS 'the sum of the outstanding coins from auditor_denomination_pending (denom_pubs must belong to the respectives exchange master public key); it represents the auditor_balance_summary of the exchange at this point (modulo unexpected historic_loss-style events where denomination keys are compromised)';
-
-
---
--- Name: auditor_denomination_pending; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_denomination_pending (
- denom_pub_hash bytea NOT NULL,
- denom_balance_val bigint NOT NULL,
- denom_balance_frac integer NOT NULL,
- denom_loss_val bigint NOT NULL,
- denom_loss_frac integer NOT NULL,
- num_issued bigint NOT NULL,
- denom_risk_val bigint NOT NULL,
- denom_risk_frac integer NOT NULL,
- recoup_loss_val bigint NOT NULL,
- recoup_loss_frac integer NOT NULL,
- CONSTRAINT auditor_denomination_pending_denom_pub_hash_check CHECK ((length(denom_pub_hash) = 64))
-);
-
-
---
--- Name: TABLE auditor_denomination_pending; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_denomination_pending IS 'outstanding denomination coins that the exchange is aware of and what the respective balances are (outstanding as well as issued overall which implies the maximum value at risk).';
-
-
---
--- Name: COLUMN auditor_denomination_pending.num_issued; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON COLUMN auditor.auditor_denomination_pending.num_issued IS 'counts the number of coins issued (withdraw, refresh) of this denomination';
-
-
---
--- Name: COLUMN auditor_denomination_pending.denom_risk_val; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON COLUMN auditor.auditor_denomination_pending.denom_risk_val IS 'amount that could theoretically be lost in the future due to recoup operations';
-
-
---
--- Name: COLUMN auditor_denomination_pending.recoup_loss_val; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON COLUMN auditor.auditor_denomination_pending.recoup_loss_val IS 'amount actually lost due to recoup operations past revocation';
-
-
---
--- Name: auditor_exchange_signkeys; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_exchange_signkeys (
- master_pub bytea NOT NULL,
- ep_start bigint NOT NULL,
- ep_expire bigint NOT NULL,
- ep_end bigint NOT NULL,
- exchange_pub bytea NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT auditor_exchange_signkeys_exchange_pub_check CHECK ((length(exchange_pub) = 32)),
- CONSTRAINT auditor_exchange_signkeys_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE auditor_exchange_signkeys; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_exchange_signkeys IS 'list of the online signing keys of exchanges we are auditing';
-
-
---
--- Name: auditor_exchanges; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_exchanges (
- master_pub bytea NOT NULL,
- exchange_url character varying NOT NULL,
- CONSTRAINT auditor_exchanges_master_pub_check CHECK ((length(master_pub) = 32))
-);
-
-
---
--- Name: TABLE auditor_exchanges; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_exchanges IS 'list of the exchanges we are auditing';
-
-
---
--- Name: auditor_historic_denomination_revenue; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_historic_denomination_revenue (
- master_pub bytea NOT NULL,
- denom_pub_hash bytea NOT NULL,
- revenue_timestamp bigint NOT NULL,
- revenue_balance_val bigint NOT NULL,
- revenue_balance_frac integer NOT NULL,
- loss_balance_val bigint NOT NULL,
- loss_balance_frac integer NOT NULL,
- CONSTRAINT auditor_historic_denomination_revenue_denom_pub_hash_check CHECK ((length(denom_pub_hash) = 64))
-);
-
-
---
--- Name: TABLE auditor_historic_denomination_revenue; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_historic_denomination_revenue IS 'Table with historic profits; basically, when a denom_pub has expired and everything associated with it is garbage collected, the final profits end up in here; note that the denom_pub here is not a foreign key, we just keep it as a reference point.';
-
-
---
--- Name: COLUMN auditor_historic_denomination_revenue.revenue_balance_val; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON COLUMN auditor.auditor_historic_denomination_revenue.revenue_balance_val IS 'the sum of all of the profits we made on the coin except for withdraw fees (which are in historic_reserve_revenue); so this includes the deposit, melt and refund fees';
-
-
---
--- Name: auditor_historic_reserve_summary; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_historic_reserve_summary (
- master_pub bytea NOT NULL,
- start_date bigint NOT NULL,
- end_date bigint NOT NULL,
- reserve_profits_val bigint NOT NULL,
- reserve_profits_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_historic_reserve_summary; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_historic_reserve_summary IS 'historic profits from reserves; we eventually GC auditor_historic_reserve_revenue, and then store the totals in here (by time intervals).';
-
-
---
--- Name: auditor_predicted_result; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_predicted_result (
- master_pub bytea NOT NULL,
- balance_val bigint NOT NULL,
- balance_frac integer NOT NULL,
- drained_val bigint NOT NULL,
- drained_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_predicted_result; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_predicted_result IS 'Table with the sum of the ledger, auditor_historic_revenue and the auditor_reserve_balance and the drained profits. This is the final amount that the exchange should have in its bank account right now (and the total amount drained as profits to non-escrow accounts).';
-
-
---
--- Name: auditor_progress_aggregation; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_progress_aggregation (
- master_pub bytea NOT NULL,
- last_wire_out_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_aggregation; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_progress_aggregation IS 'information as to which transactions the auditor has processed in the exchange database. Used for SELECTing the
- statements to process. The indices include the last serial ID from the respective tables that we have processed. Thus, we need to select those table entries that are strictly larger (and process in monotonically increasing order).';
-
-
---
--- Name: auditor_progress_coin; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_progress_coin (
- master_pub bytea NOT NULL,
- last_withdraw_serial_id bigint DEFAULT 0 NOT NULL,
- last_deposit_serial_id bigint DEFAULT 0 NOT NULL,
- last_melt_serial_id bigint DEFAULT 0 NOT NULL,
- last_refund_serial_id bigint DEFAULT 0 NOT NULL,
- last_recoup_serial_id bigint DEFAULT 0 NOT NULL,
- last_recoup_refresh_serial_id bigint DEFAULT 0 NOT NULL,
- last_purse_deposits_serial_id bigint DEFAULT 0 NOT NULL,
- last_purse_refunds_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_coin; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_progress_coin IS 'information as to which transactions the auditor has processed in the exchange database. Used for SELECTing the
- statements to process. The indices include the last serial ID from the respective tables that we have processed. Thus, we need to select those table entries that are strictly larger (and process in monotonically increasing order).';
-
-
---
--- Name: auditor_progress_deposit_confirmation; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_progress_deposit_confirmation (
- master_pub bytea NOT NULL,
- last_deposit_confirmation_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_deposit_confirmation; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_progress_deposit_confirmation IS 'information as to which transactions the auditor has processed in the exchange database. Used for SELECTing the
- statements to process. The indices include the last serial ID from the respective tables that we have processed. Thus, we need to select those table entries that are strictly larger (and process in monotonically increasing order).';
-
-
---
--- Name: auditor_progress_reserve; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_progress_reserve (
- master_pub bytea NOT NULL,
- last_reserve_in_serial_id bigint DEFAULT 0 NOT NULL,
- last_reserve_out_serial_id bigint DEFAULT 0 NOT NULL,
- last_reserve_recoup_serial_id bigint DEFAULT 0 NOT NULL,
- last_reserve_close_serial_id bigint DEFAULT 0 NOT NULL,
- last_purse_merges_serial_id bigint DEFAULT 0 NOT NULL,
- last_purse_deposits_serial_id bigint DEFAULT 0 NOT NULL,
- last_account_merges_serial_id bigint DEFAULT 0 NOT NULL,
- last_history_requests_serial_id bigint DEFAULT 0 NOT NULL,
- last_close_requests_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_reserve; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_progress_reserve IS 'information as to which transactions the auditor has processed in the exchange database. Used for SELECTing the
- statements to process. The indices include the last serial ID from the respective tables that we have processed. Thus, we need to select those table entries that are strictly larger (and process in monotonically increasing order).';
-
-
---
--- Name: auditor_reserve_balance; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_reserve_balance (
- master_pub bytea NOT NULL,
- reserve_balance_val bigint NOT NULL,
- reserve_balance_frac integer NOT NULL,
- withdraw_fee_balance_val bigint NOT NULL,
- withdraw_fee_balance_frac integer NOT NULL,
- purse_fee_balance_val bigint NOT NULL,
- purse_fee_balance_frac integer NOT NULL,
- history_fee_balance_val bigint NOT NULL,
- history_fee_balance_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_reserve_balance; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_reserve_balance IS 'sum of the balances of all customer reserves (by exchange master public key)';
-
-
---
--- Name: auditor_reserves; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_reserves (
- reserve_pub bytea NOT NULL,
- master_pub bytea NOT NULL,
- reserve_balance_val bigint NOT NULL,
- reserve_balance_frac integer NOT NULL,
- withdraw_fee_balance_val bigint NOT NULL,
- withdraw_fee_balance_frac integer NOT NULL,
- expiration_date bigint NOT NULL,
- auditor_reserves_rowid bigint NOT NULL,
- origin_account text,
- CONSTRAINT auditor_reserves_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-);
-
-
---
--- Name: TABLE auditor_reserves; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_reserves IS 'all of the customer reserves and their respective balances that the auditor is aware of';
-
-
---
--- Name: auditor_reserves_auditor_reserves_rowid_seq; Type: SEQUENCE; Schema: auditor; Owner: -
---
-
-CREATE SEQUENCE auditor.auditor_reserves_auditor_reserves_rowid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
---
--- Name: auditor_reserves_auditor_reserves_rowid_seq; Type: SEQUENCE OWNED BY; Schema: auditor; Owner: -
---
-
-ALTER SEQUENCE auditor.auditor_reserves_auditor_reserves_rowid_seq OWNED BY auditor.auditor_reserves.auditor_reserves_rowid;
-
-
---
--- Name: auditor_wire_fee_balance; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.auditor_wire_fee_balance (
- master_pub bytea NOT NULL,
- wire_fee_balance_val bigint NOT NULL,
- wire_fee_balance_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_wire_fee_balance; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.auditor_wire_fee_balance IS 'sum of the balances of all wire fees (by exchange master public key)';
-
-
---
--- Name: deposit_confirmations; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.deposit_confirmations (
- master_pub bytea NOT NULL,
- serial_id bigint NOT NULL,
- h_contract_terms bytea NOT NULL,
- h_extensions bytea NOT NULL,
- h_wire bytea NOT NULL,
- exchange_timestamp bigint NOT NULL,
- refund_deadline bigint NOT NULL,
- wire_deadline bigint NOT NULL,
- amount_without_fee_val bigint NOT NULL,
- amount_without_fee_frac integer NOT NULL,
- coin_pub bytea NOT NULL,
- merchant_pub bytea NOT NULL,
- exchange_sig bytea NOT NULL,
- exchange_pub bytea NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT deposit_confirmations_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT deposit_confirmations_exchange_pub_check CHECK ((length(exchange_pub) = 32)),
- CONSTRAINT deposit_confirmations_exchange_sig_check CHECK ((length(exchange_sig) = 64)),
- CONSTRAINT deposit_confirmations_h_contract_terms_check CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT deposit_confirmations_h_contract_terms_check1 CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT deposit_confirmations_h_wire_check CHECK ((length(h_wire) = 64)),
- CONSTRAINT deposit_confirmations_master_sig_check CHECK ((length(master_sig) = 64)),
- CONSTRAINT deposit_confirmations_merchant_pub_check CHECK ((length(merchant_pub) = 32))
-);
-
-
---
--- Name: TABLE deposit_confirmations; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.deposit_confirmations IS 'deposit confirmation sent to us by merchants; we must check that the exchange reported these properly.';
-
-
---
--- Name: deposit_confirmations_serial_id_seq; Type: SEQUENCE; Schema: auditor; Owner: -
---
-
-CREATE SEQUENCE auditor.deposit_confirmations_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
---
--- Name: deposit_confirmations_serial_id_seq; Type: SEQUENCE OWNED BY; Schema: auditor; Owner: -
---
-
-ALTER SEQUENCE auditor.deposit_confirmations_serial_id_seq OWNED BY auditor.deposit_confirmations.serial_id;
-
-
---
--- Name: wire_auditor_account_progress; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.wire_auditor_account_progress (
- master_pub bytea NOT NULL,
- account_name text NOT NULL,
- last_wire_reserve_in_serial_id bigint DEFAULT 0 NOT NULL,
- last_wire_wire_out_serial_id bigint DEFAULT 0 NOT NULL,
- wire_in_off bigint NOT NULL,
- wire_out_off bigint NOT NULL
-);
-
-
---
--- Name: TABLE wire_auditor_account_progress; Type: COMMENT; Schema: auditor; Owner: -
---
-
-COMMENT ON TABLE auditor.wire_auditor_account_progress IS 'information as to which transactions the auditor has processed in the exchange database. Used for SELECTing the
- statements to process. The indices include the last serial ID from the respective tables that we have processed. Thus, we need to select those table entries that are strictly larger (and process in monotonically increasing order).';
-
-
---
--- Name: wire_auditor_progress; Type: TABLE; Schema: auditor; Owner: -
---
-
-CREATE TABLE auditor.wire_auditor_progress (
- master_pub bytea NOT NULL,
- last_timestamp bigint NOT NULL,
- last_reserve_close_uuid bigint NOT NULL
-);
-
-
---
--- Name: account_merges; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.account_merges (
- account_merge_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_pub bytea NOT NULL,
- wallet_h_payto bytea NOT NULL,
- CONSTRAINT account_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT account_merges_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT account_merges_reserve_sig_check CHECK ((length(reserve_sig) = 64)),
- CONSTRAINT account_merges_wallet_h_payto_check CHECK ((length(wallet_h_payto) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE account_merges; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.account_merges IS 'Merge requests where a purse- and account-owner requested merging the purse into the account';
-
-
---
--- Name: COLUMN account_merges.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.account_merges.reserve_pub IS 'public key of the target reserve';
-
-
---
--- Name: COLUMN account_merges.reserve_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.account_merges.reserve_sig IS 'signature by the reserve private key affirming the merge, of type TALER_SIGNATURE_WALLET_ACCOUNT_MERGE';
-
-
---
--- Name: COLUMN account_merges.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.account_merges.purse_pub IS 'public key of the purse';
-
-
---
--- Name: account_merges_account_merge_request_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.account_merges ALTER COLUMN account_merge_request_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.account_merges_account_merge_request_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: account_merges_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.account_merges_default (
- account_merge_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_pub bytea NOT NULL,
- wallet_h_payto bytea NOT NULL,
- CONSTRAINT account_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT account_merges_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT account_merges_reserve_sig_check CHECK ((length(reserve_sig) = 64)),
- CONSTRAINT account_merges_wallet_h_payto_check CHECK ((length(wallet_h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.account_merges ATTACH PARTITION exchange.account_merges_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: aggregation_tracking; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.aggregation_tracking (
- aggregation_serial_id bigint NOT NULL,
- deposit_serial_id bigint NOT NULL,
- wtid_raw bytea NOT NULL
-)
-PARTITION BY HASH (deposit_serial_id);
-
-
---
--- Name: TABLE aggregation_tracking; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.aggregation_tracking IS 'mapping from wire transfer identifiers (WTID) to deposits (and back)';
-
-
---
--- Name: COLUMN aggregation_tracking.wtid_raw; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.aggregation_tracking.wtid_raw IS 'identifier of the wire transfer';
-
-
---
--- Name: aggregation_tracking_aggregation_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.aggregation_tracking ALTER COLUMN aggregation_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.aggregation_tracking_aggregation_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: aggregation_tracking_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.aggregation_tracking_default (
- aggregation_serial_id bigint NOT NULL,
- deposit_serial_id bigint NOT NULL,
- wtid_raw bytea NOT NULL
-);
-ALTER TABLE ONLY exchange.aggregation_tracking ATTACH PARTITION exchange.aggregation_tracking_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: aggregation_transient; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.aggregation_transient (
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- wire_target_h_payto bytea,
- merchant_pub bytea,
- exchange_account_section text NOT NULL,
- legitimization_requirement_serial_id bigint DEFAULT 0 NOT NULL,
- wtid_raw bytea NOT NULL,
- CONSTRAINT aggregation_transient_merchant_pub_check CHECK ((length(merchant_pub) = 32)),
- CONSTRAINT aggregation_transient_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT aggregation_transient_wtid_raw_check CHECK ((length(wtid_raw) = 32))
-)
-PARTITION BY HASH (wire_target_h_payto);
-
-
---
--- Name: TABLE aggregation_transient; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.aggregation_transient IS 'aggregations currently happening (lacking wire_out, usually because the amount is too low); this table is not replicated';
-
-
---
--- Name: COLUMN aggregation_transient.amount_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.aggregation_transient.amount_val IS 'Sum of all of the aggregated deposits (without deposit fees)';
-
-
---
--- Name: COLUMN aggregation_transient.wtid_raw; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.aggregation_transient.wtid_raw IS 'identifier of the wire transfer';
-
-
---
--- Name: aggregation_transient_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.aggregation_transient_default (
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- wire_target_h_payto bytea,
- merchant_pub bytea,
- exchange_account_section text NOT NULL,
- legitimization_requirement_serial_id bigint DEFAULT 0 NOT NULL,
- wtid_raw bytea NOT NULL,
- CONSTRAINT aggregation_transient_merchant_pub_check CHECK ((length(merchant_pub) = 32)),
- CONSTRAINT aggregation_transient_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT aggregation_transient_wtid_raw_check CHECK ((length(wtid_raw) = 32))
-);
-ALTER TABLE ONLY exchange.aggregation_transient ATTACH PARTITION exchange.aggregation_transient_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: auditor_denom_sigs; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.auditor_denom_sigs (
- auditor_denom_serial bigint NOT NULL,
- auditor_uuid bigint NOT NULL,
- denominations_serial bigint NOT NULL,
- auditor_sig bytea,
- CONSTRAINT auditor_denom_sigs_auditor_sig_check CHECK ((length(auditor_sig) = 64))
-);
-
-
---
--- Name: TABLE auditor_denom_sigs; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.auditor_denom_sigs IS 'Table with auditor signatures on exchange denomination keys.';
-
-
---
--- Name: COLUMN auditor_denom_sigs.auditor_uuid; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditor_denom_sigs.auditor_uuid IS 'Identifies the auditor.';
-
-
---
--- Name: COLUMN auditor_denom_sigs.denominations_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditor_denom_sigs.denominations_serial IS 'Denomination the signature is for.';
-
-
---
--- Name: COLUMN auditor_denom_sigs.auditor_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditor_denom_sigs.auditor_sig IS 'Signature of the auditor, of purpose TALER_SIGNATURE_AUDITOR_EXCHANGE_KEYS.';
-
-
---
--- Name: auditor_denom_sigs_auditor_denom_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.auditor_denom_sigs ALTER COLUMN auditor_denom_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.auditor_denom_sigs_auditor_denom_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: auditors; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.auditors (
- auditor_uuid bigint NOT NULL,
- auditor_pub bytea NOT NULL,
- auditor_name character varying NOT NULL,
- auditor_url character varying NOT NULL,
- is_active boolean NOT NULL,
- last_change bigint NOT NULL,
- CONSTRAINT auditors_auditor_pub_check CHECK ((length(auditor_pub) = 32))
-);
-
-
---
--- Name: TABLE auditors; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.auditors IS 'Table with auditors the exchange uses or has used in the past. Entries never expire as we need to remember the last_change column indefinitely.';
-
-
---
--- Name: COLUMN auditors.auditor_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditors.auditor_pub IS 'Public key of the auditor.';
-
-
---
--- Name: COLUMN auditors.auditor_url; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditors.auditor_url IS 'The base URL of the auditor.';
-
-
---
--- Name: COLUMN auditors.is_active; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditors.is_active IS 'true if we are currently supporting the use of this auditor.';
-
-
---
--- Name: COLUMN auditors.last_change; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.auditors.last_change IS 'Latest time when active status changed. Used to detect replays of old messages.';
-
-
---
--- Name: auditors_auditor_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.auditors ALTER COLUMN auditor_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.auditors_auditor_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: close_requests; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.close_requests (
- close_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- close_timestamp bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- close_val bigint NOT NULL,
- close_frac integer NOT NULL,
- CONSTRAINT close_requests_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT close_requests_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE close_requests; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.close_requests IS 'Explicit requests by a reserve owner to close a reserve immediately';
-
-
---
--- Name: COLUMN close_requests.close_timestamp; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.close_requests.close_timestamp IS 'When the request was created by the client';
-
-
---
--- Name: COLUMN close_requests.reserve_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.close_requests.reserve_sig IS 'Signature affirming that the reserve is to be closed';
-
-
---
--- Name: COLUMN close_requests.close_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.close_requests.close_val IS 'Balance of the reserve at the time of closing, to be wired to the associated bank account (minus the closing fee)';
-
-
---
--- Name: close_requests_close_request_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.close_requests ALTER COLUMN close_request_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.close_requests_close_request_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: close_requests_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.close_requests_default (
- close_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- close_timestamp bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- close_val bigint NOT NULL,
- close_frac integer NOT NULL,
- CONSTRAINT close_requests_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT close_requests_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-);
-ALTER TABLE ONLY exchange.close_requests ATTACH PARTITION exchange.close_requests_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: contracts; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.contracts (
- contract_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- pub_ckey bytea NOT NULL,
- contract_sig bytea NOT NULL,
- e_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- CONSTRAINT contracts_contract_sig_check CHECK ((length(contract_sig) = 64)),
- CONSTRAINT contracts_pub_ckey_check CHECK ((length(pub_ckey) = 32)),
- CONSTRAINT contracts_purse_pub_check CHECK ((length(purse_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE contracts; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.contracts IS 'encrypted contracts associated with purses';
-
-
---
--- Name: COLUMN contracts.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.contracts.purse_pub IS 'public key of the purse that the contract is associated with';
-
-
---
--- Name: COLUMN contracts.pub_ckey; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.contracts.pub_ckey IS 'Public ECDH key used to encrypt the contract, to be used with the purse private key for decryption';
-
-
---
--- Name: COLUMN contracts.contract_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.contracts.contract_sig IS 'signature over the encrypted contract by the purse contract key';
-
-
---
--- Name: COLUMN contracts.e_contract; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.contracts.e_contract IS 'AES-GCM encrypted contract terms (contains gzip compressed JSON after decryption)';
-
-
---
--- Name: contracts_contract_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.contracts ALTER COLUMN contract_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.contracts_contract_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: contracts_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.contracts_default (
- contract_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- pub_ckey bytea NOT NULL,
- contract_sig bytea NOT NULL,
- e_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- CONSTRAINT contracts_contract_sig_check CHECK ((length(contract_sig) = 64)),
- CONSTRAINT contracts_pub_ckey_check CHECK ((length(pub_ckey) = 32)),
- CONSTRAINT contracts_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-ALTER TABLE ONLY exchange.contracts ATTACH PARTITION exchange.contracts_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: cs_nonce_locks; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.cs_nonce_locks (
- cs_nonce_lock_serial_id bigint NOT NULL,
- nonce bytea NOT NULL,
- op_hash bytea NOT NULL,
- max_denomination_serial bigint NOT NULL,
- CONSTRAINT cs_nonce_locks_nonce_check CHECK ((length(nonce) = 32)),
- CONSTRAINT cs_nonce_locks_op_hash_check CHECK ((length(op_hash) = 64))
-)
-PARTITION BY HASH (nonce);
-
-
---
--- Name: TABLE cs_nonce_locks; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.cs_nonce_locks IS 'ensures a Clause Schnorr client nonce is locked for use with an operation identified by a hash';
-
-
---
--- Name: COLUMN cs_nonce_locks.nonce; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.cs_nonce_locks.nonce IS 'actual nonce submitted by the client';
-
-
---
--- Name: COLUMN cs_nonce_locks.op_hash; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.cs_nonce_locks.op_hash IS 'hash (RC for refresh, blind coin hash for withdraw) the nonce may be used with';
-
-
---
--- Name: COLUMN cs_nonce_locks.max_denomination_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.cs_nonce_locks.max_denomination_serial IS 'Maximum number of a CS denomination serial the nonce could be used with, for GC';
-
-
---
--- Name: cs_nonce_locks_cs_nonce_lock_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.cs_nonce_locks ALTER COLUMN cs_nonce_lock_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.cs_nonce_locks_cs_nonce_lock_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: cs_nonce_locks_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.cs_nonce_locks_default (
- cs_nonce_lock_serial_id bigint NOT NULL,
- nonce bytea NOT NULL,
- op_hash bytea NOT NULL,
- max_denomination_serial bigint NOT NULL,
- CONSTRAINT cs_nonce_locks_nonce_check CHECK ((length(nonce) = 32)),
- CONSTRAINT cs_nonce_locks_op_hash_check CHECK ((length(op_hash) = 64))
-);
-ALTER TABLE ONLY exchange.cs_nonce_locks ATTACH PARTITION exchange.cs_nonce_locks_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: denomination_revocations; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.denomination_revocations (
- denom_revocations_serial_id bigint NOT NULL,
- denominations_serial bigint NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT denomination_revocations_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE denomination_revocations; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.denomination_revocations IS 'remembering which denomination keys have been revoked';
-
-
---
--- Name: denomination_revocations_denom_revocations_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.denomination_revocations ALTER COLUMN denom_revocations_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.denomination_revocations_denom_revocations_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: denominations; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.denominations (
- denominations_serial bigint NOT NULL,
- denom_pub_hash bytea NOT NULL,
- denom_type integer DEFAULT 1 NOT NULL,
- age_mask integer DEFAULT 0 NOT NULL,
- denom_pub bytea NOT NULL,
- master_sig bytea NOT NULL,
- valid_from bigint NOT NULL,
- expire_withdraw bigint NOT NULL,
- expire_deposit bigint NOT NULL,
- expire_legal bigint NOT NULL,
- coin_val bigint NOT NULL,
- coin_frac integer NOT NULL,
- fee_withdraw_val bigint NOT NULL,
- fee_withdraw_frac integer NOT NULL,
- fee_deposit_val bigint NOT NULL,
- fee_deposit_frac integer NOT NULL,
- fee_refresh_val bigint NOT NULL,
- fee_refresh_frac integer NOT NULL,
- fee_refund_val bigint NOT NULL,
- fee_refund_frac integer NOT NULL,
- CONSTRAINT denominations_denom_pub_hash_check CHECK ((length(denom_pub_hash) = 64)),
- CONSTRAINT denominations_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE denominations; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.denominations IS 'Main denominations table. All the valid denominations the exchange knows about.';
-
-
---
--- Name: COLUMN denominations.denominations_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.denominations.denominations_serial IS 'needed for exchange-auditor replication logic';
-
-
---
--- Name: COLUMN denominations.denom_type; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.denominations.denom_type IS 'determines cipher type for blind signatures used with this denomination; 0 is for RSA';
-
-
---
--- Name: COLUMN denominations.age_mask; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.denominations.age_mask IS 'bitmask with the age restrictions that are being used for this denomination; 0 if denomination does not support the use of age restrictions';
-
-
---
--- Name: denominations_denominations_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.denominations ALTER COLUMN denominations_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.denominations_denominations_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: deposits; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits (
- deposit_serial_id bigint NOT NULL,
- shard bigint NOT NULL,
- coin_pub bytea NOT NULL,
- known_coin_id bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wallet_timestamp bigint NOT NULL,
- exchange_timestamp bigint NOT NULL,
- refund_deadline bigint NOT NULL,
- wire_deadline bigint NOT NULL,
- merchant_pub bytea NOT NULL,
- h_contract_terms bytea NOT NULL,
- coin_sig bytea NOT NULL,
- wire_salt bytea NOT NULL,
- wire_target_h_payto bytea,
- done boolean DEFAULT false NOT NULL,
- extension_blocked boolean DEFAULT false NOT NULL,
- extension_details_serial_id bigint,
- CONSTRAINT deposits_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
- CONSTRAINT deposits_h_contract_terms_check CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT deposits_merchant_pub_check CHECK ((length(merchant_pub) = 32)),
- CONSTRAINT deposits_wire_salt_check CHECK ((length(wire_salt) = 16)),
- CONSTRAINT deposits_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE deposits; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.deposits IS 'Deposits we have received and for which we need to make (aggregate) wire transfers (and manage refunds).';
-
-
---
--- Name: COLUMN deposits.shard; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.shard IS 'Used for load sharding in the materialized indices. Should be set based on merchant_pub. 64-bit value because we need an *unsigned* 32-bit value.';
-
-
---
--- Name: COLUMN deposits.known_coin_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.known_coin_id IS 'Used for garbage collection';
-
-
---
--- Name: COLUMN deposits.wire_salt; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.wire_salt IS 'Salt used when hashing the payto://-URI to get the h_wire';
-
-
---
--- Name: COLUMN deposits.wire_target_h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.wire_target_h_payto IS 'Identifies the target bank account and KYC status';
-
-
---
--- Name: COLUMN deposits.done; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.done IS 'Set to TRUE once we have included this deposit in some aggregate wire transfer to the merchant';
-
-
---
--- Name: COLUMN deposits.extension_blocked; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.extension_blocked IS 'True if the aggregation of the deposit is currently blocked by some extension mechanism. Used to filter out deposits that must not be processed by the canonical deposit logic.';
-
-
---
--- Name: COLUMN deposits.extension_details_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.deposits.extension_details_serial_id IS 'References extensions table, NULL if extensions are not used';
-
-
---
--- Name: deposits_by_ready; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits_by_ready (
- wire_deadline bigint NOT NULL,
- shard bigint NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint,
- CONSTRAINT deposits_by_ready_coin_pub_check CHECK ((length(coin_pub) = 32))
-)
-PARTITION BY RANGE (wire_deadline);
-
-
---
--- Name: TABLE deposits_by_ready; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.deposits_by_ready IS 'Enables fast lookups for deposits_get_ready, auto-populated via TRIGGER below';
-
-
---
--- Name: deposits_by_ready_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits_by_ready_default (
- wire_deadline bigint NOT NULL,
- shard bigint NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint,
- CONSTRAINT deposits_by_ready_coin_pub_check CHECK ((length(coin_pub) = 32))
-);
-ALTER TABLE ONLY exchange.deposits_by_ready ATTACH PARTITION exchange.deposits_by_ready_default DEFAULT;
-
-
---
--- Name: deposits_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits_default (
- deposit_serial_id bigint NOT NULL,
- shard bigint NOT NULL,
- coin_pub bytea NOT NULL,
- known_coin_id bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wallet_timestamp bigint NOT NULL,
- exchange_timestamp bigint NOT NULL,
- refund_deadline bigint NOT NULL,
- wire_deadline bigint NOT NULL,
- merchant_pub bytea NOT NULL,
- h_contract_terms bytea NOT NULL,
- coin_sig bytea NOT NULL,
- wire_salt bytea NOT NULL,
- wire_target_h_payto bytea,
- done boolean DEFAULT false NOT NULL,
- extension_blocked boolean DEFAULT false NOT NULL,
- extension_details_serial_id bigint,
- CONSTRAINT deposits_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
- CONSTRAINT deposits_h_contract_terms_check CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT deposits_merchant_pub_check CHECK ((length(merchant_pub) = 32)),
- CONSTRAINT deposits_wire_salt_check CHECK ((length(wire_salt) = 16)),
- CONSTRAINT deposits_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.deposits ATTACH PARTITION exchange.deposits_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: deposits_deposit_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.deposits ALTER COLUMN deposit_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.deposits_deposit_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: deposits_for_matching; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits_for_matching (
- refund_deadline bigint NOT NULL,
- merchant_pub bytea NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint,
- CONSTRAINT deposits_for_matching_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT deposits_for_matching_merchant_pub_check CHECK ((length(merchant_pub) = 32))
-)
-PARTITION BY RANGE (refund_deadline);
-
-
---
--- Name: TABLE deposits_for_matching; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.deposits_for_matching IS 'Enables fast lookups for deposits_iterate_matching, auto-populated via TRIGGER below';
-
-
---
--- Name: deposits_for_matching_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.deposits_for_matching_default (
- refund_deadline bigint NOT NULL,
- merchant_pub bytea NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint,
- CONSTRAINT deposits_for_matching_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT deposits_for_matching_merchant_pub_check CHECK ((length(merchant_pub) = 32))
-);
-ALTER TABLE ONLY exchange.deposits_for_matching ATTACH PARTITION exchange.deposits_for_matching_default DEFAULT;
-
-
---
--- Name: exchange_sign_keys; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.exchange_sign_keys (
- esk_serial bigint NOT NULL,
- exchange_pub bytea NOT NULL,
- master_sig bytea NOT NULL,
- valid_from bigint NOT NULL,
- expire_sign bigint NOT NULL,
- expire_legal bigint NOT NULL,
- CONSTRAINT exchange_sign_keys_exchange_pub_check CHECK ((length(exchange_pub) = 32)),
- CONSTRAINT exchange_sign_keys_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE exchange_sign_keys; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.exchange_sign_keys IS 'Table with master public key signatures on exchange online signing keys.';
-
-
---
--- Name: COLUMN exchange_sign_keys.exchange_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.exchange_sign_keys.exchange_pub IS 'Public online signing key of the exchange.';
-
-
---
--- Name: COLUMN exchange_sign_keys.master_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.exchange_sign_keys.master_sig IS 'Signature affirming the validity of the signing key of purpose TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY.';
-
-
---
--- Name: COLUMN exchange_sign_keys.valid_from; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.exchange_sign_keys.valid_from IS 'Time when this online signing key will first be used to sign messages.';
-
-
---
--- Name: COLUMN exchange_sign_keys.expire_sign; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.exchange_sign_keys.expire_sign IS 'Time when this online signing key will no longer be used to sign.';
-
-
---
--- Name: COLUMN exchange_sign_keys.expire_legal; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.exchange_sign_keys.expire_legal IS 'Time when this online signing key legally expires.';
-
-
---
--- Name: exchange_sign_keys_esk_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.exchange_sign_keys ALTER COLUMN esk_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.exchange_sign_keys_esk_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: extension_details; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.extension_details (
- extension_details_serial_id bigint NOT NULL,
- extension_options character varying
-)
-PARTITION BY HASH (extension_details_serial_id);
-
-
---
--- Name: TABLE extension_details; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.extension_details IS 'Extensions that were provided with deposits (not yet used).';
-
-
---
--- Name: COLUMN extension_details.extension_options; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.extension_details.extension_options IS 'JSON object with options set that the exchange needs to consider when executing a deposit. Supported details depend on the extensions supported by the exchange.';
-
-
---
--- Name: extension_details_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.extension_details_default (
- extension_details_serial_id bigint NOT NULL,
- extension_options character varying
-);
-ALTER TABLE ONLY exchange.extension_details ATTACH PARTITION exchange.extension_details_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: extension_details_extension_details_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.extension_details ALTER COLUMN extension_details_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.extension_details_extension_details_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: extensions; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.extensions (
- extension_id bigint NOT NULL,
- name character varying NOT NULL,
- config bytea
-);
-
-
---
--- Name: TABLE extensions; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.extensions IS 'Configurations of the activated extensions';
-
-
---
--- Name: COLUMN extensions.name; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.extensions.name IS 'Name of the extension';
-
-
---
--- Name: COLUMN extensions.config; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.extensions.config IS 'Configuration of the extension as JSON-blob, maybe NULL';
-
-
---
--- Name: extensions_extension_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.extensions ALTER COLUMN extension_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.extensions_extension_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: global_fee; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.global_fee (
- global_fee_serial bigint NOT NULL,
- start_date bigint NOT NULL,
- end_date bigint NOT NULL,
- history_fee_val bigint NOT NULL,
- history_fee_frac integer NOT NULL,
- kyc_fee_val bigint NOT NULL,
- kyc_fee_frac integer NOT NULL,
- account_fee_val bigint NOT NULL,
- account_fee_frac integer NOT NULL,
- purse_fee_val bigint NOT NULL,
- purse_fee_frac integer NOT NULL,
- purse_timeout bigint NOT NULL,
- kyc_timeout bigint NOT NULL,
- history_expiration bigint NOT NULL,
- purse_account_limit integer NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT global_fee_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE global_fee; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.global_fee IS 'list of the global fees of this exchange, by date';
-
-
---
--- Name: COLUMN global_fee.global_fee_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.global_fee.global_fee_serial IS 'needed for exchange-auditor replication logic';
-
-
---
--- Name: global_fee_global_fee_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.global_fee ALTER COLUMN global_fee_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.global_fee_global_fee_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: history_requests; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.history_requests (
- history_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- request_timestamp bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- history_fee_val bigint NOT NULL,
- history_fee_frac integer NOT NULL,
- CONSTRAINT history_requests_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT history_requests_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE history_requests; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.history_requests IS 'Paid history requests issued by a client against a reserve';
-
-
---
--- Name: COLUMN history_requests.request_timestamp; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.history_requests.request_timestamp IS 'When was the history request made';
-
-
---
--- Name: COLUMN history_requests.reserve_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.history_requests.reserve_sig IS 'Signature approving payment for the history request';
-
-
---
--- Name: COLUMN history_requests.history_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.history_requests.history_fee_val IS 'History fee approved by the signature';
-
-
---
--- Name: history_requests_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.history_requests_default (
- history_request_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- request_timestamp bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- history_fee_val bigint NOT NULL,
- history_fee_frac integer NOT NULL,
- CONSTRAINT history_requests_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT history_requests_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-);
-ALTER TABLE ONLY exchange.history_requests ATTACH PARTITION exchange.history_requests_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: history_requests_history_request_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.history_requests ALTER COLUMN history_request_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.history_requests_history_request_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: known_coins; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.known_coins (
- known_coin_id bigint NOT NULL,
- denominations_serial bigint NOT NULL,
- coin_pub bytea NOT NULL,
- age_commitment_hash bytea,
- denom_sig bytea NOT NULL,
- remaining_val bigint DEFAULT 0 NOT NULL,
- remaining_frac integer DEFAULT 0 NOT NULL,
- CONSTRAINT known_coins_age_commitment_hash_check CHECK ((length(age_commitment_hash) = 32)),
- CONSTRAINT known_coins_coin_pub_check CHECK ((length(coin_pub) = 32))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE known_coins; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.known_coins IS 'information about coins and their signatures, so we do not have to store the signatures more than once if a coin is involved in multiple operations';
-
-
---
--- Name: COLUMN known_coins.denominations_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.known_coins.denominations_serial IS 'Denomination of the coin, determines the value of the original coin and applicable fees for coin-specific operations.';
-
-
---
--- Name: COLUMN known_coins.coin_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.known_coins.coin_pub IS 'EdDSA public key of the coin';
-
-
---
--- Name: COLUMN known_coins.age_commitment_hash; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.known_coins.age_commitment_hash IS 'Optional hash of the age commitment for age restrictions as per DD 24 (active if denom_type has the respective bit set)';
-
-
---
--- Name: COLUMN known_coins.denom_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.known_coins.denom_sig IS 'This is the signature of the exchange that affirms that the coin is a valid coin. The specific signature type depends on denom_type of the denomination.';
-
-
---
--- Name: COLUMN known_coins.remaining_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.known_coins.remaining_val IS 'Value of the coin that remains to be spent';
-
-
---
--- Name: known_coins_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.known_coins_default (
- known_coin_id bigint NOT NULL,
- denominations_serial bigint NOT NULL,
- coin_pub bytea NOT NULL,
- age_commitment_hash bytea,
- denom_sig bytea NOT NULL,
- remaining_val bigint DEFAULT 0 NOT NULL,
- remaining_frac integer DEFAULT 0 NOT NULL,
- CONSTRAINT known_coins_age_commitment_hash_check CHECK ((length(age_commitment_hash) = 32)),
- CONSTRAINT known_coins_coin_pub_check CHECK ((length(coin_pub) = 32))
-);
-ALTER TABLE ONLY exchange.known_coins ATTACH PARTITION exchange.known_coins_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: known_coins_known_coin_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.known_coins ALTER COLUMN known_coin_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.known_coins_known_coin_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: kyc_alerts; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.kyc_alerts (
- h_payto bytea NOT NULL,
- trigger_type integer NOT NULL,
- CONSTRAINT kyc_alerts_h_payto_check CHECK ((length(h_payto) = 32))
-);
-
-
---
--- Name: TABLE kyc_alerts; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.kyc_alerts IS 'alerts about completed KYC events reliably notifying other components (even if they are not running)';
-
-
---
--- Name: COLUMN kyc_alerts.h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.kyc_alerts.h_payto IS 'hash of the payto://-URI for which the KYC status changed';
-
-
---
--- Name: COLUMN kyc_alerts.trigger_type; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.kyc_alerts.trigger_type IS 'identifies the receiver of the alert, as the same h_payto may require multiple components to be notified';
-
-
---
--- Name: legitimization_processes; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.legitimization_processes (
- legitimization_process_serial_id bigint NOT NULL,
- h_payto bytea NOT NULL,
- expiration_time bigint DEFAULT 0 NOT NULL,
- provider_section character varying NOT NULL,
- provider_user_id character varying,
- provider_legitimization_id character varying,
- CONSTRAINT legitimization_processes_h_payto_check CHECK ((length(h_payto) = 32))
-)
-PARTITION BY HASH (h_payto);
-
-
---
--- Name: TABLE legitimization_processes; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.legitimization_processes IS 'List of legitimization processes (ongoing and completed) by account and provider';
-
-
---
--- Name: COLUMN legitimization_processes.legitimization_process_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.legitimization_process_serial_id IS 'unique ID for this legitimization process at the exchange';
-
-
---
--- Name: COLUMN legitimization_processes.h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.h_payto IS 'foreign key linking the entry to the wire_targets table, NOT a primary key (multiple legitimizations are possible per wire target)';
-
-
---
--- Name: COLUMN legitimization_processes.expiration_time; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.expiration_time IS 'in the future if the respective KYC check was passed successfully';
-
-
---
--- Name: COLUMN legitimization_processes.provider_section; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.provider_section IS 'Configuration file section with details about this provider';
-
-
---
--- Name: COLUMN legitimization_processes.provider_user_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.provider_user_id IS 'Identifier for the user at the provider that was used for the legitimization. NULL if provider is unaware.';
-
-
---
--- Name: COLUMN legitimization_processes.provider_legitimization_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_processes.provider_legitimization_id IS 'Identifier for the specific legitimization process at the provider. NULL if legitimization was not started.';
-
-
---
--- Name: legitimization_processes_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.legitimization_processes_default (
- legitimization_process_serial_id bigint NOT NULL,
- h_payto bytea NOT NULL,
- expiration_time bigint DEFAULT 0 NOT NULL,
- provider_section character varying NOT NULL,
- provider_user_id character varying,
- provider_legitimization_id character varying,
- CONSTRAINT legitimization_processes_h_payto_check CHECK ((length(h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.legitimization_processes ATTACH PARTITION exchange.legitimization_processes_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: legitimization_processes_legitimization_process_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.legitimization_processes ALTER COLUMN legitimization_process_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.legitimization_processes_legitimization_process_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: legitimization_requirements; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.legitimization_requirements (
- legitimization_requirement_serial_id bigint NOT NULL,
- h_payto bytea NOT NULL,
- required_checks character varying NOT NULL,
- CONSTRAINT legitimization_requirements_h_payto_check CHECK ((length(h_payto) = 32))
-)
-PARTITION BY HASH (h_payto);
-
-
---
--- Name: TABLE legitimization_requirements; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.legitimization_requirements IS 'List of required legitimization by account';
-
-
---
--- Name: COLUMN legitimization_requirements.legitimization_requirement_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_requirements.legitimization_requirement_serial_id IS 'unique ID for this legitimization requirement at the exchange';
-
-
---
--- Name: COLUMN legitimization_requirements.h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_requirements.h_payto IS 'foreign key linking the entry to the wire_targets table, NOT a primary key (multiple legitimizations are possible per wire target)';
-
-
---
--- Name: COLUMN legitimization_requirements.required_checks; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.legitimization_requirements.required_checks IS 'space-separated list of required checks';
-
-
---
--- Name: legitimization_requirements_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.legitimization_requirements_default (
- legitimization_requirement_serial_id bigint NOT NULL,
- h_payto bytea NOT NULL,
- required_checks character varying NOT NULL,
- CONSTRAINT legitimization_requirements_h_payto_check CHECK ((length(h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.legitimization_requirements ATTACH PARTITION exchange.legitimization_requirements_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: legitimization_requirements_legitimization_requirement_seri_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.legitimization_requirements ALTER COLUMN legitimization_requirement_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.legitimization_requirements_legitimization_requirement_seri_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: partner_accounts; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.partner_accounts (
- payto_uri character varying NOT NULL,
- partner_serial_id bigint,
- partner_master_sig bytea,
- last_seen bigint NOT NULL,
- CONSTRAINT partner_accounts_partner_master_sig_check CHECK ((length(partner_master_sig) = 64))
-);
-
-
---
--- Name: TABLE partner_accounts; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.partner_accounts IS 'Table with bank accounts of the partner exchange. Entries never expire as we need to remember the signature for the auditor.';
-
-
---
--- Name: COLUMN partner_accounts.payto_uri; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partner_accounts.payto_uri IS 'payto URI (RFC 8905) with the bank account of the partner exchange.';
-
-
---
--- Name: COLUMN partner_accounts.partner_master_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partner_accounts.partner_master_sig IS 'Signature of purpose TALER_SIGNATURE_MASTER_WIRE_DETAILS by the partner master public key';
-
-
---
--- Name: COLUMN partner_accounts.last_seen; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partner_accounts.last_seen IS 'Last time we saw this account as being active at the partner exchange. Used to select the most recent entry, and to detect when we should check again.';
-
-
---
--- Name: partners; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.partners (
- partner_serial_id bigint NOT NULL,
- partner_master_pub bytea NOT NULL,
- start_date bigint NOT NULL,
- end_date bigint NOT NULL,
- next_wad bigint DEFAULT 0 NOT NULL,
- wad_frequency bigint NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- master_sig bytea NOT NULL,
- partner_base_url text NOT NULL,
- CONSTRAINT partners_master_sig_check CHECK ((length(master_sig) = 64)),
- CONSTRAINT partners_partner_master_pub_check CHECK ((length(partner_master_pub) = 32))
-);
-
-
---
--- Name: TABLE partners; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.partners IS 'exchanges we do wad transfers to';
-
-
---
--- Name: COLUMN partners.partner_master_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.partner_master_pub IS 'offline master public key of the partner';
-
-
---
--- Name: COLUMN partners.start_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.start_date IS 'starting date of the partnership';
-
-
---
--- Name: COLUMN partners.end_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.end_date IS 'end date of the partnership';
-
-
---
--- Name: COLUMN partners.next_wad; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.next_wad IS 'at what time should we do the next wad transfer to this partner (frequently updated); set to forever after the end_date';
-
-
---
--- Name: COLUMN partners.wad_frequency; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.wad_frequency IS 'how often do we promise to do wad transfers';
-
-
---
--- Name: COLUMN partners.wad_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.wad_fee_val IS 'how high is the fee for a wallet to be added to a wad to this partner';
-
-
---
--- Name: COLUMN partners.master_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.master_sig IS 'signature of our master public key affirming the partnership, of purpose TALER_SIGNATURE_MASTER_PARTNER_DETAILS';
-
-
---
--- Name: COLUMN partners.partner_base_url; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.partners.partner_base_url IS 'base URL of the REST API for this partner';
-
-
---
--- Name: partners_partner_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.partners ALTER COLUMN partner_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.partners_partner_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: prewire; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.prewire (
- prewire_uuid bigint NOT NULL,
- wire_method text NOT NULL,
- finished boolean DEFAULT false NOT NULL,
- failed boolean DEFAULT false NOT NULL,
- buf bytea NOT NULL
-)
-PARTITION BY HASH (prewire_uuid);
-
-
---
--- Name: TABLE prewire; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.prewire IS 'pre-commit data for wire transfers we are about to execute';
-
-
---
--- Name: COLUMN prewire.finished; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.prewire.finished IS 'set to TRUE once bank confirmed receiving the wire transfer request';
-
-
---
--- Name: COLUMN prewire.failed; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.prewire.failed IS 'set to TRUE if the bank responded with a non-transient failure to our transfer request';
-
-
---
--- Name: COLUMN prewire.buf; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.prewire.buf IS 'serialized data to send to the bank to execute the wire transfer';
-
-
---
--- Name: prewire_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.prewire_default (
- prewire_uuid bigint NOT NULL,
- wire_method text NOT NULL,
- finished boolean DEFAULT false NOT NULL,
- failed boolean DEFAULT false NOT NULL,
- buf bytea NOT NULL
-);
-ALTER TABLE ONLY exchange.prewire ATTACH PARTITION exchange.prewire_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: prewire_prewire_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.prewire ALTER COLUMN prewire_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.prewire_prewire_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: profit_drains; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.profit_drains (
- profit_drain_serial_id bigint NOT NULL,
- wtid bytea NOT NULL,
- account_section character varying NOT NULL,
- payto_uri character varying NOT NULL,
- trigger_date bigint NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- master_sig bytea NOT NULL,
- executed boolean DEFAULT false NOT NULL,
- CONSTRAINT profit_drains_master_sig_check CHECK ((length(master_sig) = 64)),
- CONSTRAINT profit_drains_wtid_check CHECK ((length(wtid) = 32))
-);
-
-
---
--- Name: TABLE profit_drains; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.profit_drains IS 'transactions to be performed to move profits from the escrow account of the exchange to a regular account';
-
-
---
--- Name: COLUMN profit_drains.wtid; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.wtid IS 'randomly chosen nonce, unique to prevent double-submission';
-
-
---
--- Name: COLUMN profit_drains.account_section; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.account_section IS 'specifies the configuration section in the taler-exchange-drain configuration with the wire account to drain';
-
-
---
--- Name: COLUMN profit_drains.payto_uri; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.payto_uri IS 'specifies the account to be credited';
-
-
---
--- Name: COLUMN profit_drains.trigger_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.trigger_date IS 'set by taler-exchange-offline at the time of making the signature; not necessarily the exact date of execution of the wire transfer, just for orientation';
-
-
---
--- Name: COLUMN profit_drains.amount_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.amount_val IS 'amount to be transferred';
-
-
---
--- Name: COLUMN profit_drains.master_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.master_sig IS 'EdDSA signature of type TALER_SIGNATURE_MASTER_DRAIN_PROFIT';
-
-
---
--- Name: COLUMN profit_drains.executed; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.profit_drains.executed IS 'set to TRUE by taler-exchange-drain on execution of the transaction, not replicated to auditor';
-
-
---
--- Name: profit_drains_profit_drain_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.profit_drains ALTER COLUMN profit_drain_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.profit_drains_profit_drain_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: purse_actions; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_actions (
- purse_pub bytea NOT NULL,
- action_date bigint NOT NULL,
- partner_serial_id bigint,
- CONSTRAINT purse_actions_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-
-
---
--- Name: TABLE purse_actions; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.purse_actions IS 'purses awaiting some action by the router';
-
-
---
--- Name: COLUMN purse_actions.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_actions.purse_pub IS 'public (contract) key of the purse';
-
-
---
--- Name: COLUMN purse_actions.action_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_actions.action_date IS 'when is the purse ready for action';
-
-
---
--- Name: COLUMN purse_actions.partner_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_actions.partner_serial_id IS 'wad target of an outgoing wire transfer, 0 for local, NULL if the purse is unmerged and thus the target is still unknown';
-
-
---
--- Name: purse_deposits; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_deposits (
- purse_deposit_serial_id bigint NOT NULL,
- partner_serial_id bigint,
- purse_pub bytea NOT NULL,
- coin_pub bytea NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- coin_sig bytea NOT NULL,
- CONSTRAINT purse_deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
- CONSTRAINT purse_deposits_purse_pub_check CHECK ((length(purse_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_deposits; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.purse_deposits IS 'Requests depositing coins into a purse';
-
-
---
--- Name: COLUMN purse_deposits.partner_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_deposits.partner_serial_id IS 'identifies the partner exchange, NULL in case the target purse lives at this exchange';
-
-
---
--- Name: COLUMN purse_deposits.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_deposits.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: COLUMN purse_deposits.coin_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_deposits.coin_pub IS 'Public key of the coin being deposited';
-
-
---
--- Name: COLUMN purse_deposits.amount_with_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_deposits.amount_with_fee_val IS 'Total amount being deposited';
-
-
---
--- Name: COLUMN purse_deposits.coin_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_deposits.coin_sig IS 'Signature of the coin affirming the deposit into the purse, of type TALER_SIGNATURE_PURSE_DEPOSIT';
-
-
---
--- Name: purse_deposits_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_deposits_default (
- purse_deposit_serial_id bigint NOT NULL,
- partner_serial_id bigint,
- purse_pub bytea NOT NULL,
- coin_pub bytea NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- coin_sig bytea NOT NULL,
- CONSTRAINT purse_deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
- CONSTRAINT purse_deposits_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-ALTER TABLE ONLY exchange.purse_deposits ATTACH PARTITION exchange.purse_deposits_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_deposits_purse_deposit_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.purse_deposits ALTER COLUMN purse_deposit_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.purse_deposits_purse_deposit_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: purse_merges; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_merges (
- purse_merge_request_serial_id bigint NOT NULL,
- partner_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- merge_sig bytea NOT NULL,
- merge_timestamp bigint NOT NULL,
- CONSTRAINT purse_merges_merge_sig_check CHECK ((length(merge_sig) = 64)),
- CONSTRAINT purse_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT purse_merges_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_merges; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.purse_merges IS 'Merge requests where a purse-owner requested merging the purse into the account';
-
-
---
--- Name: COLUMN purse_merges.partner_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_merges.partner_serial_id IS 'identifies the partner exchange, NULL in case the target reserve lives at this exchange';
-
-
---
--- Name: COLUMN purse_merges.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_merges.reserve_pub IS 'public key of the target reserve';
-
-
---
--- Name: COLUMN purse_merges.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_merges.purse_pub IS 'public key of the purse';
-
-
---
--- Name: COLUMN purse_merges.merge_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_merges.merge_sig IS 'signature by the purse private key affirming the merge, of type TALER_SIGNATURE_WALLET_PURSE_MERGE';
-
-
---
--- Name: COLUMN purse_merges.merge_timestamp; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_merges.merge_timestamp IS 'when was the merge message signed';
-
-
---
--- Name: purse_merges_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_merges_default (
- purse_merge_request_serial_id bigint NOT NULL,
- partner_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- merge_sig bytea NOT NULL,
- merge_timestamp bigint NOT NULL,
- CONSTRAINT purse_merges_merge_sig_check CHECK ((length(merge_sig) = 64)),
- CONSTRAINT purse_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT purse_merges_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-);
-ALTER TABLE ONLY exchange.purse_merges ATTACH PARTITION exchange.purse_merges_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_merges_purse_merge_request_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.purse_merges ALTER COLUMN purse_merge_request_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.purse_merges_purse_merge_request_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: purse_refunds; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_refunds (
- purse_refunds_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- CONSTRAINT purse_refunds_purse_pub_check CHECK ((length(purse_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_refunds; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.purse_refunds IS 'Purses that were refunded due to expiration';
-
-
---
--- Name: COLUMN purse_refunds.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_refunds.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: purse_refunds_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_refunds_default (
- purse_refunds_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- CONSTRAINT purse_refunds_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-ALTER TABLE ONLY exchange.purse_refunds ATTACH PARTITION exchange.purse_refunds_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_refunds_purse_refunds_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.purse_refunds ALTER COLUMN purse_refunds_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.purse_refunds_purse_refunds_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: purse_requests; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_requests (
- purse_requests_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- merge_pub bytea NOT NULL,
- purse_creation bigint NOT NULL,
- purse_expiration bigint NOT NULL,
- h_contract_terms bytea NOT NULL,
- age_limit integer NOT NULL,
- flags integer NOT NULL,
- refunded boolean DEFAULT false NOT NULL,
- finished boolean DEFAULT false NOT NULL,
- in_reserve_quota boolean DEFAULT false NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- purse_fee_val bigint NOT NULL,
- purse_fee_frac integer NOT NULL,
- balance_val bigint DEFAULT 0 NOT NULL,
- balance_frac integer DEFAULT 0 NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT purse_requests_h_contract_terms_check CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT purse_requests_merge_pub_check CHECK ((length(merge_pub) = 32)),
- CONSTRAINT purse_requests_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT purse_requests_purse_sig_check CHECK ((length(purse_sig) = 64))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_requests; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.purse_requests IS 'Requests establishing purses, associating them with a contract but without a target reserve';
-
-
---
--- Name: COLUMN purse_requests.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: COLUMN purse_requests.purse_creation; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.purse_creation IS 'Local time when the purse was created. Determines applicable purse fees.';
-
-
---
--- Name: COLUMN purse_requests.purse_expiration; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.purse_expiration IS 'When the purse is set to expire';
-
-
---
--- Name: COLUMN purse_requests.h_contract_terms; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.h_contract_terms IS 'Hash of the contract the parties are to agree to';
-
-
---
--- Name: COLUMN purse_requests.flags; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.flags IS 'see the enum TALER_WalletAccountMergeFlags';
-
-
---
--- Name: COLUMN purse_requests.refunded; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.refunded IS 'set to TRUE if the purse could not be merged and thus all deposited coins were refunded';
-
-
---
--- Name: COLUMN purse_requests.finished; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.finished IS 'set to TRUE once the purse has been merged (into reserve or wad) or the coins were refunded (transfer aborted)';
-
-
---
--- Name: COLUMN purse_requests.in_reserve_quota; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.in_reserve_quota IS 'set to TRUE if this purse currently counts against the number of free purses in the respective reserve';
-
-
---
--- Name: COLUMN purse_requests.amount_with_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.amount_with_fee_val IS 'Total amount expected to be in the purse';
-
-
---
--- Name: COLUMN purse_requests.purse_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.purse_fee_val IS 'Purse fee the client agreed to pay from the reserve (accepted by the exchange at the time the purse was created). Zero if in_reserve_quota is TRUE.';
-
-
---
--- Name: COLUMN purse_requests.balance_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.balance_val IS 'Total amount actually in the purse';
-
-
---
--- Name: COLUMN purse_requests.purse_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.purse_requests.purse_sig IS 'Signature of the purse affirming the purse parameters, of type TALER_SIGNATURE_PURSE_REQUEST';
-
-
---
--- Name: purse_requests_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.purse_requests_default (
- purse_requests_serial_id bigint NOT NULL,
- purse_pub bytea NOT NULL,
- merge_pub bytea NOT NULL,
- purse_creation bigint NOT NULL,
- purse_expiration bigint NOT NULL,
- h_contract_terms bytea NOT NULL,
- age_limit integer NOT NULL,
- flags integer NOT NULL,
- refunded boolean DEFAULT false NOT NULL,
- finished boolean DEFAULT false NOT NULL,
- in_reserve_quota boolean DEFAULT false NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- purse_fee_val bigint NOT NULL,
- purse_fee_frac integer NOT NULL,
- balance_val bigint DEFAULT 0 NOT NULL,
- balance_frac integer DEFAULT 0 NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT purse_requests_h_contract_terms_check CHECK ((length(h_contract_terms) = 64)),
- CONSTRAINT purse_requests_merge_pub_check CHECK ((length(merge_pub) = 32)),
- CONSTRAINT purse_requests_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT purse_requests_purse_sig_check CHECK ((length(purse_sig) = 64))
-);
-ALTER TABLE ONLY exchange.purse_requests ATTACH PARTITION exchange.purse_requests_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_requests_purse_requests_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.purse_requests ALTER COLUMN purse_requests_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.purse_requests_purse_requests_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: recoup; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup (
- recoup_uuid bigint NOT NULL,
- coin_pub bytea NOT NULL,
- coin_sig bytea NOT NULL,
- coin_blind bytea NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- recoup_timestamp bigint NOT NULL,
- reserve_out_serial_id bigint NOT NULL,
- CONSTRAINT recoup_coin_blind_check CHECK ((length(coin_blind) = 32)),
- CONSTRAINT recoup_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT recoup_coin_sig_check CHECK ((length(coin_sig) = 64))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE recoup; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.recoup IS 'Information about recoups that were executed between a coin and a reserve. In this type of recoup, the amount is credited back to the reserve from which the coin originated.';
-
-
---
--- Name: COLUMN recoup.coin_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup.coin_pub IS 'Coin that is being debited in the recoup. Do not CASCADE ON DROP on the coin_pub, as we may keep the coin alive!';
-
-
---
--- Name: COLUMN recoup.coin_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup.coin_sig IS 'Signature by the coin affirming the recoup, of type TALER_SIGNATURE_WALLET_COIN_RECOUP';
-
-
---
--- Name: COLUMN recoup.coin_blind; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup.coin_blind IS 'Denomination blinding key used when creating the blinded coin from the planchet. Secret revealed during the recoup to provide the linkage between the coin and the withdraw operation.';
-
-
---
--- Name: COLUMN recoup.reserve_out_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup.reserve_out_serial_id IS 'Identifies the h_blind_ev of the recouped coin and provides the link to the credited reserve.';
-
-
---
--- Name: recoup_by_reserve; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup_by_reserve (
- reserve_out_serial_id bigint NOT NULL,
- coin_pub bytea,
- CONSTRAINT recoup_by_reserve_coin_pub_check CHECK ((length(coin_pub) = 32))
-)
-PARTITION BY HASH (reserve_out_serial_id);
-
-
---
--- Name: TABLE recoup_by_reserve; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.recoup_by_reserve IS 'Information in this table is strictly redundant with that of recoup, but saved by a different primary key for fast lookups by reserve_out_serial_id.';
-
-
---
--- Name: recoup_by_reserve_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup_by_reserve_default (
- reserve_out_serial_id bigint NOT NULL,
- coin_pub bytea,
- CONSTRAINT recoup_by_reserve_coin_pub_check CHECK ((length(coin_pub) = 32))
-);
-ALTER TABLE ONLY exchange.recoup_by_reserve ATTACH PARTITION exchange.recoup_by_reserve_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: recoup_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup_default (
- recoup_uuid bigint NOT NULL,
- coin_pub bytea NOT NULL,
- coin_sig bytea NOT NULL,
- coin_blind bytea NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- recoup_timestamp bigint NOT NULL,
- reserve_out_serial_id bigint NOT NULL,
- CONSTRAINT recoup_coin_blind_check CHECK ((length(coin_blind) = 32)),
- CONSTRAINT recoup_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT recoup_coin_sig_check CHECK ((length(coin_sig) = 64))
-);
-ALTER TABLE ONLY exchange.recoup ATTACH PARTITION exchange.recoup_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: recoup_recoup_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.recoup ALTER COLUMN recoup_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.recoup_recoup_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: recoup_refresh; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup_refresh (
- recoup_refresh_uuid bigint NOT NULL,
- coin_pub bytea NOT NULL,
- known_coin_id bigint NOT NULL,
- coin_sig bytea NOT NULL,
- coin_blind bytea NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- recoup_timestamp bigint NOT NULL,
- rrc_serial bigint NOT NULL,
- CONSTRAINT recoup_refresh_coin_blind_check CHECK ((length(coin_blind) = 32)),
- CONSTRAINT recoup_refresh_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT recoup_refresh_coin_sig_check CHECK ((length(coin_sig) = 64))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE recoup_refresh; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.recoup_refresh IS 'Table of coins that originated from a refresh operation and that were recouped. Links the (fresh) coin to the melted operation (and thus the old coin). A recoup on a refreshed coin credits the old coin and debits the fresh coin.';
-
-
---
--- Name: COLUMN recoup_refresh.coin_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup_refresh.coin_pub IS 'Refreshed coin of a revoked denomination where the residual value is credited to the old coin. Do not CASCADE ON DROP on the coin_pub, as we may keep the coin alive!';
-
-
---
--- Name: COLUMN recoup_refresh.known_coin_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup_refresh.known_coin_id IS 'FIXME: (To be) used for garbage collection (in the future)';
-
-
---
--- Name: COLUMN recoup_refresh.coin_blind; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup_refresh.coin_blind IS 'Denomination blinding key used when creating the blinded coin from the planchet. Secret revealed during the recoup to provide the linkage between the coin and the refresh operation.';
-
-
---
--- Name: COLUMN recoup_refresh.rrc_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.recoup_refresh.rrc_serial IS 'Link to the refresh operation. Also identifies the h_blind_ev of the recouped coin (as h_coin_ev).';
-
-
---
--- Name: recoup_refresh_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.recoup_refresh_default (
- recoup_refresh_uuid bigint NOT NULL,
- coin_pub bytea NOT NULL,
- known_coin_id bigint NOT NULL,
- coin_sig bytea NOT NULL,
- coin_blind bytea NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- recoup_timestamp bigint NOT NULL,
- rrc_serial bigint NOT NULL,
- CONSTRAINT recoup_refresh_coin_blind_check CHECK ((length(coin_blind) = 32)),
- CONSTRAINT recoup_refresh_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT recoup_refresh_coin_sig_check CHECK ((length(coin_sig) = 64))
-);
-ALTER TABLE ONLY exchange.recoup_refresh ATTACH PARTITION exchange.recoup_refresh_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: recoup_refresh_recoup_refresh_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.recoup_refresh ALTER COLUMN recoup_refresh_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.recoup_refresh_recoup_refresh_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: refresh_commitments; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_commitments (
- melt_serial_id bigint NOT NULL,
- rc bytea NOT NULL,
- old_coin_pub bytea NOT NULL,
- old_coin_sig bytea NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- noreveal_index integer NOT NULL,
- CONSTRAINT refresh_commitments_old_coin_sig_check CHECK ((length(old_coin_sig) = 64)),
- CONSTRAINT refresh_commitments_rc_check CHECK ((length(rc) = 64))
-)
-PARTITION BY HASH (rc);
-
-
---
--- Name: TABLE refresh_commitments; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.refresh_commitments IS 'Commitments made when melting coins and the gamma value chosen by the exchange.';
-
-
---
--- Name: COLUMN refresh_commitments.rc; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_commitments.rc IS 'Commitment made by the client, hash over the various client inputs in the cut-and-choose protocol';
-
-
---
--- Name: COLUMN refresh_commitments.old_coin_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_commitments.old_coin_pub IS 'Coin being melted in the refresh process.';
-
-
---
--- Name: COLUMN refresh_commitments.noreveal_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_commitments.noreveal_index IS 'The gamma value chosen by the exchange in the cut-and-choose protocol';
-
-
---
--- Name: refresh_commitments_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_commitments_default (
- melt_serial_id bigint NOT NULL,
- rc bytea NOT NULL,
- old_coin_pub bytea NOT NULL,
- old_coin_sig bytea NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- noreveal_index integer NOT NULL,
- CONSTRAINT refresh_commitments_old_coin_sig_check CHECK ((length(old_coin_sig) = 64)),
- CONSTRAINT refresh_commitments_rc_check CHECK ((length(rc) = 64))
-);
-ALTER TABLE ONLY exchange.refresh_commitments ATTACH PARTITION exchange.refresh_commitments_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refresh_commitments_melt_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.refresh_commitments ALTER COLUMN melt_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.refresh_commitments_melt_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: refresh_revealed_coins; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_revealed_coins (
- rrc_serial bigint NOT NULL,
- melt_serial_id bigint NOT NULL,
- freshcoin_index integer NOT NULL,
- link_sig bytea NOT NULL,
- denominations_serial bigint NOT NULL,
- coin_ev bytea NOT NULL,
- h_coin_ev bytea NOT NULL,
- ev_sig bytea NOT NULL,
- ewv bytea NOT NULL,
- CONSTRAINT refresh_revealed_coins_h_coin_ev_check CHECK ((length(h_coin_ev) = 64)),
- CONSTRAINT refresh_revealed_coins_link_sig_check CHECK ((length(link_sig) = 64))
-)
-PARTITION BY HASH (melt_serial_id);
-
-
---
--- Name: TABLE refresh_revealed_coins; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.refresh_revealed_coins IS 'Revelations about the new coins that are to be created during a melting session.';
-
-
---
--- Name: COLUMN refresh_revealed_coins.rrc_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.rrc_serial IS 'needed for exchange-auditor replication logic';
-
-
---
--- Name: COLUMN refresh_revealed_coins.melt_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.melt_serial_id IS 'Identifies the refresh commitment (rc) of the melt operation.';
-
-
---
--- Name: COLUMN refresh_revealed_coins.freshcoin_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.freshcoin_index IS 'index of the fresh coin being created (one melt operation may result in multiple fresh coins)';
-
-
---
--- Name: COLUMN refresh_revealed_coins.coin_ev; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.coin_ev IS 'envelope of the new coin to be signed';
-
-
---
--- Name: COLUMN refresh_revealed_coins.h_coin_ev; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.h_coin_ev IS 'hash of the envelope of the new coin to be signed (for lookups)';
-
-
---
--- Name: COLUMN refresh_revealed_coins.ev_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.ev_sig IS 'exchange signature over the envelope';
-
-
---
--- Name: COLUMN refresh_revealed_coins.ewv; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_revealed_coins.ewv IS 'exchange contributed values in the creation of the fresh coin (see /csr)';
-
-
---
--- Name: refresh_revealed_coins_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_revealed_coins_default (
- rrc_serial bigint NOT NULL,
- melt_serial_id bigint NOT NULL,
- freshcoin_index integer NOT NULL,
- link_sig bytea NOT NULL,
- denominations_serial bigint NOT NULL,
- coin_ev bytea NOT NULL,
- h_coin_ev bytea NOT NULL,
- ev_sig bytea NOT NULL,
- ewv bytea NOT NULL,
- CONSTRAINT refresh_revealed_coins_h_coin_ev_check CHECK ((length(h_coin_ev) = 64)),
- CONSTRAINT refresh_revealed_coins_link_sig_check CHECK ((length(link_sig) = 64))
-);
-ALTER TABLE ONLY exchange.refresh_revealed_coins ATTACH PARTITION exchange.refresh_revealed_coins_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refresh_revealed_coins_rrc_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.refresh_revealed_coins ALTER COLUMN rrc_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.refresh_revealed_coins_rrc_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: refresh_transfer_keys; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_transfer_keys (
- rtc_serial bigint NOT NULL,
- melt_serial_id bigint NOT NULL,
- transfer_pub bytea NOT NULL,
- transfer_privs bytea NOT NULL,
- CONSTRAINT refresh_transfer_keys_transfer_pub_check CHECK ((length(transfer_pub) = 32))
-)
-PARTITION BY HASH (melt_serial_id);
-
-
---
--- Name: TABLE refresh_transfer_keys; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.refresh_transfer_keys IS 'Transfer keys of a refresh operation (the data revealed to the exchange).';
-
-
---
--- Name: COLUMN refresh_transfer_keys.rtc_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_transfer_keys.rtc_serial IS 'needed for exchange-auditor replication logic';
-
-
---
--- Name: COLUMN refresh_transfer_keys.melt_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_transfer_keys.melt_serial_id IS 'Identifies the refresh commitment (rc) of the operation.';
-
-
---
--- Name: COLUMN refresh_transfer_keys.transfer_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_transfer_keys.transfer_pub IS 'transfer public key for the gamma index';
-
-
---
--- Name: COLUMN refresh_transfer_keys.transfer_privs; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refresh_transfer_keys.transfer_privs IS 'array of TALER_CNC_KAPPA - 1 transfer private keys that have been revealed, with the gamma entry being skipped';
-
-
---
--- Name: refresh_transfer_keys_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refresh_transfer_keys_default (
- rtc_serial bigint NOT NULL,
- melt_serial_id bigint NOT NULL,
- transfer_pub bytea NOT NULL,
- transfer_privs bytea NOT NULL,
- CONSTRAINT refresh_transfer_keys_transfer_pub_check CHECK ((length(transfer_pub) = 32))
-);
-ALTER TABLE ONLY exchange.refresh_transfer_keys ATTACH PARTITION exchange.refresh_transfer_keys_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refresh_transfer_keys_rtc_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.refresh_transfer_keys ALTER COLUMN rtc_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.refresh_transfer_keys_rtc_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: refunds; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refunds (
- refund_serial_id bigint NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint NOT NULL,
- merchant_sig bytea NOT NULL,
- rtransaction_id bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- CONSTRAINT refunds_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT refunds_merchant_sig_check CHECK ((length(merchant_sig) = 64))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE refunds; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.refunds IS 'Data on coins that were refunded. Technically, refunds always apply against specific deposit operations involving a coin. The combination of coin_pub, merchant_pub, h_contract_terms and rtransaction_id MUST be unique, and we usually select by coin_pub so that one goes first.';
-
-
---
--- Name: COLUMN refunds.deposit_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refunds.deposit_serial_id IS 'Identifies ONLY the merchant_pub, h_contract_terms and coin_pub. Multiple deposits may match a refund, this only identifies one of them.';
-
-
---
--- Name: COLUMN refunds.rtransaction_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.refunds.rtransaction_id IS 'used by the merchant to make refunds unique in case the same coin for the same deposit gets a subsequent (higher) refund';
-
-
---
--- Name: refunds_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.refunds_default (
- refund_serial_id bigint NOT NULL,
- coin_pub bytea NOT NULL,
- deposit_serial_id bigint NOT NULL,
- merchant_sig bytea NOT NULL,
- rtransaction_id bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- CONSTRAINT refunds_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT refunds_merchant_sig_check CHECK ((length(merchant_sig) = 64))
-);
-ALTER TABLE ONLY exchange.refunds ATTACH PARTITION exchange.refunds_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refunds_refund_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.refunds ALTER COLUMN refund_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.refunds_refund_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: reserves; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves (
- reserve_uuid bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- current_balance_val bigint DEFAULT 0 NOT NULL,
- current_balance_frac integer DEFAULT 0 NOT NULL,
- purses_active bigint DEFAULT 0 NOT NULL,
- purses_allowed bigint DEFAULT 0 NOT NULL,
- max_age integer DEFAULT 120 NOT NULL,
- expiration_date bigint NOT NULL,
- gc_date bigint NOT NULL,
- CONSTRAINT reserves_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE reserves; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.reserves IS 'Summarizes the balance of a reserve. Updated when new funds are added or withdrawn.';
-
-
---
--- Name: COLUMN reserves.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.reserve_pub IS 'EdDSA public key of the reserve. Knowledge of the private key implies ownership over the balance.';
-
-
---
--- Name: COLUMN reserves.current_balance_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.current_balance_val IS 'Current balance remaining with the reserve.';
-
-
---
--- Name: COLUMN reserves.purses_active; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.purses_active IS 'Number of purses that were created by this reserve that are not expired and not fully paid.';
-
-
---
--- Name: COLUMN reserves.purses_allowed; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.purses_allowed IS 'Number of purses that this reserve is allowed to have active at most.';
-
-
---
--- Name: COLUMN reserves.expiration_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.expiration_date IS 'Used to trigger closing of reserves that have not been drained after some time';
-
-
---
--- Name: COLUMN reserves.gc_date; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves.gc_date IS 'Used to forget all information about a reserve during garbage collection';
-
-
---
--- Name: reserves_close; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_close (
- close_uuid bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- execution_date bigint NOT NULL,
- wtid bytea NOT NULL,
- wire_target_h_payto bytea,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- closing_fee_val bigint NOT NULL,
- closing_fee_frac integer NOT NULL,
- CONSTRAINT reserves_close_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT reserves_close_wtid_check CHECK ((length(wtid) = 32))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE reserves_close; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.reserves_close IS 'wire transfers executed by the reserve to close reserves';
-
-
---
--- Name: COLUMN reserves_close.wire_target_h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_close.wire_target_h_payto IS 'Identifies the credited bank account (and KYC status). Note that closing does not depend on KYC.';
-
-
---
--- Name: reserves_close_close_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.reserves_close ALTER COLUMN close_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.reserves_close_close_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: reserves_close_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_close_default (
- close_uuid bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- execution_date bigint NOT NULL,
- wtid bytea NOT NULL,
- wire_target_h_payto bytea,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- closing_fee_val bigint NOT NULL,
- closing_fee_frac integer NOT NULL,
- CONSTRAINT reserves_close_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT reserves_close_wtid_check CHECK ((length(wtid) = 32))
-);
-ALTER TABLE ONLY exchange.reserves_close ATTACH PARTITION exchange.reserves_close_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_default (
- reserve_uuid bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- current_balance_val bigint DEFAULT 0 NOT NULL,
- current_balance_frac integer DEFAULT 0 NOT NULL,
- purses_active bigint DEFAULT 0 NOT NULL,
- purses_allowed bigint DEFAULT 0 NOT NULL,
- max_age integer DEFAULT 120 NOT NULL,
- expiration_date bigint NOT NULL,
- gc_date bigint NOT NULL,
- CONSTRAINT reserves_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-);
-ALTER TABLE ONLY exchange.reserves ATTACH PARTITION exchange.reserves_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_in; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_in (
- reserve_in_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- wire_reference bigint NOT NULL,
- credit_val bigint NOT NULL,
- credit_frac integer NOT NULL,
- wire_source_h_payto bytea,
- exchange_account_section text NOT NULL,
- execution_date bigint NOT NULL,
- CONSTRAINT reserves_in_wire_source_h_payto_check CHECK ((length(wire_source_h_payto) = 32))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE reserves_in; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.reserves_in IS 'list of transfers of funds into the reserves, one per incoming wire transfer';
-
-
---
--- Name: COLUMN reserves_in.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_in.reserve_pub IS 'Public key of the reserve. Private key signifies ownership of the remaining balance.';
-
-
---
--- Name: COLUMN reserves_in.credit_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_in.credit_val IS 'Amount that was transferred into the reserve';
-
-
---
--- Name: COLUMN reserves_in.wire_source_h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_in.wire_source_h_payto IS 'Identifies the debited bank account and KYC status';
-
-
---
--- Name: reserves_in_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_in_default (
- reserve_in_serial_id bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- wire_reference bigint NOT NULL,
- credit_val bigint NOT NULL,
- credit_frac integer NOT NULL,
- wire_source_h_payto bytea,
- exchange_account_section text NOT NULL,
- execution_date bigint NOT NULL,
- CONSTRAINT reserves_in_wire_source_h_payto_check CHECK ((length(wire_source_h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.reserves_in ATTACH PARTITION exchange.reserves_in_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_in_reserve_in_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.reserves_in ALTER COLUMN reserve_in_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.reserves_in_reserve_in_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: reserves_out; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_out (
- reserve_out_serial_id bigint NOT NULL,
- h_blind_ev bytea,
- denominations_serial bigint NOT NULL,
- denom_sig bytea NOT NULL,
- reserve_uuid bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- execution_date bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- CONSTRAINT reserves_out_h_blind_ev_check CHECK ((length(h_blind_ev) = 64)),
- CONSTRAINT reserves_out_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-)
-PARTITION BY HASH (h_blind_ev);
-
-
---
--- Name: TABLE reserves_out; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.reserves_out IS 'Withdraw operations performed on reserves.';
-
-
---
--- Name: COLUMN reserves_out.h_blind_ev; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_out.h_blind_ev IS 'Hash of the blinded coin, used as primary key here so that broken clients that use a non-random coin or blinding factor fail to withdraw (otherwise they would fail on deposit when the coin is not unique there).';
-
-
---
--- Name: COLUMN reserves_out.denominations_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.reserves_out.denominations_serial IS 'We do not CASCADE ON DELETE here, we may keep the denomination data alive';
-
-
---
--- Name: reserves_out_by_reserve; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_out_by_reserve (
- reserve_uuid bigint NOT NULL,
- h_blind_ev bytea,
- CONSTRAINT reserves_out_by_reserve_h_blind_ev_check CHECK ((length(h_blind_ev) = 64))
-)
-PARTITION BY HASH (reserve_uuid);
-
-
---
--- Name: TABLE reserves_out_by_reserve; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.reserves_out_by_reserve IS 'Information in this table is strictly redundant with that of reserves_out, but saved by a different primary key for fast lookups by reserve public key/uuid.';
-
-
---
--- Name: reserves_out_by_reserve_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_out_by_reserve_default (
- reserve_uuid bigint NOT NULL,
- h_blind_ev bytea,
- CONSTRAINT reserves_out_by_reserve_h_blind_ev_check CHECK ((length(h_blind_ev) = 64))
-);
-ALTER TABLE ONLY exchange.reserves_out_by_reserve ATTACH PARTITION exchange.reserves_out_by_reserve_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_out_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.reserves_out_default (
- reserve_out_serial_id bigint NOT NULL,
- h_blind_ev bytea,
- denominations_serial bigint NOT NULL,
- denom_sig bytea NOT NULL,
- reserve_uuid bigint NOT NULL,
- reserve_sig bytea NOT NULL,
- execution_date bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- CONSTRAINT reserves_out_h_blind_ev_check CHECK ((length(h_blind_ev) = 64)),
- CONSTRAINT reserves_out_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-);
-ALTER TABLE ONLY exchange.reserves_out ATTACH PARTITION exchange.reserves_out_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_out_reserve_out_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.reserves_out ALTER COLUMN reserve_out_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.reserves_out_reserve_out_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: reserves_reserve_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.reserves ALTER COLUMN reserve_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.reserves_reserve_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: revolving_work_shards; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE UNLOGGED TABLE exchange.revolving_work_shards (
- shard_serial_id bigint NOT NULL,
- last_attempt bigint NOT NULL,
- start_row integer NOT NULL,
- end_row integer NOT NULL,
- active boolean DEFAULT false NOT NULL,
- job_name character varying NOT NULL
-);
-
-
---
--- Name: TABLE revolving_work_shards; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.revolving_work_shards IS 'coordinates work between multiple processes working on the same job with partitions that need to be repeatedly processed; unlogged because on system crashes the locks represented by this table will have to be cleared anyway, typically using "taler-exchange-dbinit -s"';
-
-
---
--- Name: COLUMN revolving_work_shards.shard_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.shard_serial_id IS 'unique serial number identifying the shard';
-
-
---
--- Name: COLUMN revolving_work_shards.last_attempt; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.last_attempt IS 'last time a worker attempted to work on the shard';
-
-
---
--- Name: COLUMN revolving_work_shards.start_row; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.start_row IS 'row at which the shard scope starts, inclusive';
-
-
---
--- Name: COLUMN revolving_work_shards.end_row; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.end_row IS 'row at which the shard scope ends, exclusive';
-
-
---
--- Name: COLUMN revolving_work_shards.active; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.active IS 'set to TRUE when a worker is active on the shard';
-
-
---
--- Name: COLUMN revolving_work_shards.job_name; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.revolving_work_shards.job_name IS 'unique name of the job the workers on this shard are performing';
-
-
---
--- Name: revolving_work_shards_shard_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.revolving_work_shards ALTER COLUMN shard_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.revolving_work_shards_shard_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: signkey_revocations; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.signkey_revocations (
- signkey_revocations_serial_id bigint NOT NULL,
- esk_serial bigint NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT signkey_revocations_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE signkey_revocations; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.signkey_revocations IS 'Table storing which online signing keys have been revoked';
-
-
---
--- Name: signkey_revocations_signkey_revocations_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.signkey_revocations ALTER COLUMN signkey_revocations_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.signkey_revocations_signkey_revocations_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wad_in_entries; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wad_in_entries (
- wad_in_entry_serial_id bigint NOT NULL,
- wad_in_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- h_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- merge_timestamp bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- deposit_fees_val bigint NOT NULL,
- deposit_fees_frac integer NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT wad_in_entries_h_contract_check CHECK ((length(h_contract) = 64)),
- CONSTRAINT wad_in_entries_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT wad_in_entries_purse_sig_check CHECK ((length(purse_sig) = 64)),
- CONSTRAINT wad_in_entries_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT wad_in_entries_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE wad_in_entries; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wad_in_entries IS 'list of purses aggregated in a wad according to the sending exchange';
-
-
---
--- Name: COLUMN wad_in_entries.wad_in_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.wad_in_serial_id IS 'wad for which the given purse was included in the aggregation';
-
-
---
--- Name: COLUMN wad_in_entries.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.reserve_pub IS 'target account of the purse (must be at the local exchange)';
-
-
---
--- Name: COLUMN wad_in_entries.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.purse_pub IS 'public key of the purse that was merged';
-
-
---
--- Name: COLUMN wad_in_entries.h_contract; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.h_contract IS 'hash of the contract terms of the purse';
-
-
---
--- Name: COLUMN wad_in_entries.purse_expiration; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.purse_expiration IS 'Time when the purse was set to expire';
-
-
---
--- Name: COLUMN wad_in_entries.merge_timestamp; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.merge_timestamp IS 'Time when the merge was approved';
-
-
---
--- Name: COLUMN wad_in_entries.amount_with_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.amount_with_fee_val IS 'Total amount in the purse';
-
-
---
--- Name: COLUMN wad_in_entries.wad_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.wad_fee_val IS 'Total wad fees paid by the purse';
-
-
---
--- Name: COLUMN wad_in_entries.deposit_fees_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.deposit_fees_val IS 'Total deposit fees paid when depositing coins into the purse';
-
-
---
--- Name: COLUMN wad_in_entries.reserve_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.reserve_sig IS 'Signature by the receiving reserve, of purpose TALER_SIGNATURE_ACCOUNT_MERGE';
-
-
---
--- Name: COLUMN wad_in_entries.purse_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_in_entries.purse_sig IS 'Signature by the purse of purpose TALER_SIGNATURE_PURSE_MERGE';
-
-
---
--- Name: wad_in_entries_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wad_in_entries_default (
- wad_in_entry_serial_id bigint NOT NULL,
- wad_in_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- h_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- merge_timestamp bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- deposit_fees_val bigint NOT NULL,
- deposit_fees_frac integer NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT wad_in_entries_h_contract_check CHECK ((length(h_contract) = 64)),
- CONSTRAINT wad_in_entries_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT wad_in_entries_purse_sig_check CHECK ((length(purse_sig) = 64)),
- CONSTRAINT wad_in_entries_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT wad_in_entries_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-);
-ALTER TABLE ONLY exchange.wad_in_entries ATTACH PARTITION exchange.wad_in_entries_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wad_in_entries_wad_in_entry_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wad_in_entries ALTER COLUMN wad_in_entry_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wad_in_entries_wad_in_entry_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wad_out_entries; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wad_out_entries (
- wad_out_entry_serial_id bigint NOT NULL,
- wad_out_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- h_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- merge_timestamp bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- deposit_fees_val bigint NOT NULL,
- deposit_fees_frac integer NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT wad_out_entries_h_contract_check CHECK ((length(h_contract) = 64)),
- CONSTRAINT wad_out_entries_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT wad_out_entries_purse_sig_check CHECK ((length(purse_sig) = 64)),
- CONSTRAINT wad_out_entries_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT wad_out_entries_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE wad_out_entries; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wad_out_entries IS 'Purses combined into a wad';
-
-
---
--- Name: COLUMN wad_out_entries.wad_out_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.wad_out_serial_id IS 'Wad the purse was part of';
-
-
---
--- Name: COLUMN wad_out_entries.reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.reserve_pub IS 'Target reserve for the purse';
-
-
---
--- Name: COLUMN wad_out_entries.purse_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: COLUMN wad_out_entries.h_contract; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.h_contract IS 'Hash of the contract associated with the purse';
-
-
---
--- Name: COLUMN wad_out_entries.purse_expiration; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.purse_expiration IS 'Time when the purse expires';
-
-
---
--- Name: COLUMN wad_out_entries.merge_timestamp; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.merge_timestamp IS 'Time when the merge was approved';
-
-
---
--- Name: COLUMN wad_out_entries.amount_with_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.amount_with_fee_val IS 'Total amount in the purse';
-
-
---
--- Name: COLUMN wad_out_entries.wad_fee_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.wad_fee_val IS 'Wat fee charged to the purse';
-
-
---
--- Name: COLUMN wad_out_entries.deposit_fees_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.deposit_fees_val IS 'Total deposit fees charged to the purse';
-
-
---
--- Name: COLUMN wad_out_entries.reserve_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.reserve_sig IS 'Signature by the receiving reserve, of purpose TALER_SIGNATURE_ACCOUNT_MERGE';
-
-
---
--- Name: COLUMN wad_out_entries.purse_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wad_out_entries.purse_sig IS 'Signature by the purse of purpose TALER_SIGNATURE_PURSE_MERGE';
-
-
---
--- Name: wad_out_entries_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wad_out_entries_default (
- wad_out_entry_serial_id bigint NOT NULL,
- wad_out_serial_id bigint,
- reserve_pub bytea NOT NULL,
- purse_pub bytea NOT NULL,
- h_contract bytea NOT NULL,
- purse_expiration bigint NOT NULL,
- merge_timestamp bigint NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- deposit_fees_val bigint NOT NULL,
- deposit_fees_frac integer NOT NULL,
- reserve_sig bytea NOT NULL,
- purse_sig bytea NOT NULL,
- CONSTRAINT wad_out_entries_h_contract_check CHECK ((length(h_contract) = 64)),
- CONSTRAINT wad_out_entries_purse_pub_check CHECK ((length(purse_pub) = 32)),
- CONSTRAINT wad_out_entries_purse_sig_check CHECK ((length(purse_sig) = 64)),
- CONSTRAINT wad_out_entries_reserve_pub_check CHECK ((length(reserve_pub) = 32)),
- CONSTRAINT wad_out_entries_reserve_sig_check CHECK ((length(reserve_sig) = 64))
-);
-ALTER TABLE ONLY exchange.wad_out_entries ATTACH PARTITION exchange.wad_out_entries_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wad_out_entries_wad_out_entry_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wad_out_entries ALTER COLUMN wad_out_entry_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wad_out_entries_wad_out_entry_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wads_in; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wads_in (
- wad_in_serial_id bigint NOT NULL,
- wad_id bytea NOT NULL,
- origin_exchange_url text NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- arrival_time bigint NOT NULL,
- CONSTRAINT wads_in_wad_id_check CHECK ((length(wad_id) = 24))
-)
-PARTITION BY HASH (wad_id);
-
-
---
--- Name: TABLE wads_in; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wads_in IS 'Incoming exchange-to-exchange wad wire transfers';
-
-
---
--- Name: COLUMN wads_in.wad_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_in.wad_id IS 'Unique identifier of the wad, part of the wire transfer subject';
-
-
---
--- Name: COLUMN wads_in.origin_exchange_url; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_in.origin_exchange_url IS 'Base URL of the originating URL, also part of the wire transfer subject';
-
-
---
--- Name: COLUMN wads_in.amount_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_in.amount_val IS 'Actual amount that was received by our exchange';
-
-
---
--- Name: COLUMN wads_in.arrival_time; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_in.arrival_time IS 'Time when the wad was received';
-
-
---
--- Name: wads_in_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wads_in_default (
- wad_in_serial_id bigint NOT NULL,
- wad_id bytea NOT NULL,
- origin_exchange_url text NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- arrival_time bigint NOT NULL,
- CONSTRAINT wads_in_wad_id_check CHECK ((length(wad_id) = 24))
-);
-ALTER TABLE ONLY exchange.wads_in ATTACH PARTITION exchange.wads_in_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wads_in_wad_in_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wads_in ALTER COLUMN wad_in_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wads_in_wad_in_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wads_out; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wads_out (
- wad_out_serial_id bigint NOT NULL,
- wad_id bytea NOT NULL,
- partner_serial_id bigint NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- execution_time bigint NOT NULL,
- CONSTRAINT wads_out_wad_id_check CHECK ((length(wad_id) = 24))
-)
-PARTITION BY HASH (wad_id);
-
-
---
--- Name: TABLE wads_out; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wads_out IS 'Wire transfers made to another exchange to transfer purse funds';
-
-
---
--- Name: COLUMN wads_out.wad_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_out.wad_id IS 'Unique identifier of the wad, part of the wire transfer subject';
-
-
---
--- Name: COLUMN wads_out.partner_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_out.partner_serial_id IS 'target exchange of the wad';
-
-
---
--- Name: COLUMN wads_out.amount_val; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_out.amount_val IS 'Amount that was wired';
-
-
---
--- Name: COLUMN wads_out.execution_time; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wads_out.execution_time IS 'Time when the wire transfer was scheduled';
-
-
---
--- Name: wads_out_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wads_out_default (
- wad_out_serial_id bigint NOT NULL,
- wad_id bytea NOT NULL,
- partner_serial_id bigint NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- execution_time bigint NOT NULL,
- CONSTRAINT wads_out_wad_id_check CHECK ((length(wad_id) = 24))
-);
-ALTER TABLE ONLY exchange.wads_out ATTACH PARTITION exchange.wads_out_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wads_out_wad_out_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wads_out ALTER COLUMN wad_out_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wads_out_wad_out_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wire_accounts; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_accounts (
- payto_uri character varying NOT NULL,
- master_sig bytea,
- is_active boolean NOT NULL,
- last_change bigint NOT NULL,
- CONSTRAINT wire_accounts_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE wire_accounts; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wire_accounts IS 'Table with current and historic bank accounts of the exchange. Entries never expire as we need to remember the last_change column indefinitely.';
-
-
---
--- Name: COLUMN wire_accounts.payto_uri; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_accounts.payto_uri IS 'payto URI (RFC 8905) with the bank account of the exchange.';
-
-
---
--- Name: COLUMN wire_accounts.master_sig; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_accounts.master_sig IS 'Signature of purpose TALER_SIGNATURE_MASTER_WIRE_DETAILS';
-
-
---
--- Name: COLUMN wire_accounts.is_active; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_accounts.is_active IS 'true if we are currently supporting the use of this account.';
-
-
---
--- Name: COLUMN wire_accounts.last_change; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_accounts.last_change IS 'Latest time when active status changed. Used to detect replays of old messages.';
-
-
---
--- Name: wire_fee; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_fee (
- wire_fee_serial bigint NOT NULL,
- wire_method character varying NOT NULL,
- start_date bigint NOT NULL,
- end_date bigint NOT NULL,
- wire_fee_val bigint NOT NULL,
- wire_fee_frac integer NOT NULL,
- closing_fee_val bigint NOT NULL,
- closing_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT wire_fee_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE wire_fee; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wire_fee IS 'list of the wire fees of this exchange, by date';
-
-
---
--- Name: COLUMN wire_fee.wire_fee_serial; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_fee.wire_fee_serial IS 'needed for exchange-auditor replication logic';
-
-
---
--- Name: wire_fee_wire_fee_serial_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wire_fee ALTER COLUMN wire_fee_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wire_fee_wire_fee_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wire_out; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_out (
- wireout_uuid bigint NOT NULL,
- execution_date bigint NOT NULL,
- wtid_raw bytea NOT NULL,
- wire_target_h_payto bytea,
- exchange_account_section text NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- CONSTRAINT wire_out_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT wire_out_wtid_raw_check CHECK ((length(wtid_raw) = 32))
-)
-PARTITION BY HASH (wtid_raw);
-
-
---
--- Name: TABLE wire_out; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wire_out IS 'wire transfers the exchange has executed';
-
-
---
--- Name: COLUMN wire_out.wire_target_h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_out.wire_target_h_payto IS 'Identifies the credited bank account and KYC status';
-
-
---
--- Name: COLUMN wire_out.exchange_account_section; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_out.exchange_account_section IS 'identifies the configuration section with the debit account of this payment';
-
-
---
--- Name: wire_out_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_out_default (
- wireout_uuid bigint NOT NULL,
- execution_date bigint NOT NULL,
- wtid_raw bytea NOT NULL,
- wire_target_h_payto bytea,
- exchange_account_section text NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- CONSTRAINT wire_out_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32)),
- CONSTRAINT wire_out_wtid_raw_check CHECK ((length(wtid_raw) = 32))
-);
-ALTER TABLE ONLY exchange.wire_out ATTACH PARTITION exchange.wire_out_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wire_out_wireout_uuid_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wire_out ALTER COLUMN wireout_uuid ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wire_out_wireout_uuid_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: wire_targets; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_targets (
- wire_target_serial_id bigint NOT NULL,
- wire_target_h_payto bytea NOT NULL,
- payto_uri character varying NOT NULL,
- CONSTRAINT wire_targets_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32))
-)
-PARTITION BY HASH (wire_target_h_payto);
-
-
---
--- Name: TABLE wire_targets; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.wire_targets IS 'All senders and recipients of money via the exchange';
-
-
---
--- Name: COLUMN wire_targets.wire_target_h_payto; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_targets.wire_target_h_payto IS 'Unsalted hash of payto_uri';
-
-
---
--- Name: COLUMN wire_targets.payto_uri; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.wire_targets.payto_uri IS 'Can be a regular bank account, or also be a URI identifying a reserve-account (for P2P payments)';
-
-
---
--- Name: wire_targets_default; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.wire_targets_default (
- wire_target_serial_id bigint NOT NULL,
- wire_target_h_payto bytea NOT NULL,
- payto_uri character varying NOT NULL,
- CONSTRAINT wire_targets_wire_target_h_payto_check CHECK ((length(wire_target_h_payto) = 32))
-);
-ALTER TABLE ONLY exchange.wire_targets ATTACH PARTITION exchange.wire_targets_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wire_targets_wire_target_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.wire_targets ALTER COLUMN wire_target_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.wire_targets_wire_target_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: work_shards; Type: TABLE; Schema: exchange; Owner: -
---
-
-CREATE TABLE exchange.work_shards (
- shard_serial_id bigint NOT NULL,
- last_attempt bigint NOT NULL,
- start_row bigint NOT NULL,
- end_row bigint NOT NULL,
- completed boolean DEFAULT false NOT NULL,
- job_name character varying NOT NULL
-);
-
-
---
--- Name: TABLE work_shards; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TABLE exchange.work_shards IS 'coordinates work between multiple processes working on the same job';
-
-
---
--- Name: COLUMN work_shards.shard_serial_id; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.shard_serial_id IS 'unique serial number identifying the shard';
-
-
---
--- Name: COLUMN work_shards.last_attempt; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.last_attempt IS 'last time a worker attempted to work on the shard';
-
-
---
--- Name: COLUMN work_shards.start_row; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.start_row IS 'row at which the shard scope starts, inclusive';
-
-
---
--- Name: COLUMN work_shards.end_row; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.end_row IS 'row at which the shard scope ends, exclusive';
-
-
---
--- Name: COLUMN work_shards.completed; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.completed IS 'set to TRUE once the shard is finished by a worker';
-
-
---
--- Name: COLUMN work_shards.job_name; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON COLUMN exchange.work_shards.job_name IS 'unique name of the job the workers on this shard are performing';
-
-
---
--- Name: work_shards_shard_serial_id_seq; Type: SEQUENCE; Schema: exchange; Owner: -
---
-
-ALTER TABLE exchange.work_shards ALTER COLUMN shard_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME exchange.work_shards_shard_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_accounts; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_accounts (
- account_serial bigint NOT NULL,
- merchant_serial bigint NOT NULL,
- h_wire bytea NOT NULL,
- salt bytea NOT NULL,
- payto_uri character varying NOT NULL,
- active boolean NOT NULL,
- CONSTRAINT merchant_accounts_h_wire_check CHECK ((length(h_wire) = 64)),
- CONSTRAINT merchant_accounts_salt_check CHECK ((length(salt) = 16))
-);
-
-
---
--- Name: TABLE merchant_accounts; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_accounts IS 'bank accounts of the instances';
-
-
---
--- Name: COLUMN merchant_accounts.h_wire; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_accounts.h_wire IS 'salted hash of payto_uri';
-
-
---
--- Name: COLUMN merchant_accounts.salt; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_accounts.salt IS 'salt used when hashing payto_uri into h_wire';
-
-
---
--- Name: COLUMN merchant_accounts.payto_uri; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_accounts.payto_uri IS 'payto URI of a merchant bank account';
-
-
---
--- Name: COLUMN merchant_accounts.active; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_accounts.active IS 'true if we actively use this bank account, false if it is just kept around for older contracts to refer to';
-
-
---
--- Name: merchant_accounts_account_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_accounts ALTER COLUMN account_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_accounts_account_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_contract_terms; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_contract_terms (
- order_serial bigint NOT NULL,
- merchant_serial bigint NOT NULL,
- order_id character varying NOT NULL,
- contract_terms bytea NOT NULL,
- h_contract_terms bytea NOT NULL,
- creation_time bigint NOT NULL,
- pay_deadline bigint NOT NULL,
- refund_deadline bigint NOT NULL,
- paid boolean DEFAULT false NOT NULL,
- wired boolean DEFAULT false NOT NULL,
- fulfillment_url character varying,
- session_id character varying DEFAULT ''::character varying NOT NULL,
- claim_token bytea NOT NULL,
- CONSTRAINT merchant_contract_terms_claim_token_check CHECK ((length(claim_token) = 16)),
- CONSTRAINT merchant_contract_terms_h_contract_terms_check CHECK ((length(h_contract_terms) = 64))
-);
-
-
---
--- Name: TABLE merchant_contract_terms; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_contract_terms IS 'Contracts are orders that have been claimed by a wallet';
-
-
---
--- Name: COLUMN merchant_contract_terms.merchant_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.merchant_serial IS 'Identifies the instance offering the contract';
-
-
---
--- Name: COLUMN merchant_contract_terms.order_id; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.order_id IS 'Not a foreign key into merchant_orders because paid contracts persist after expiration';
-
-
---
--- Name: COLUMN merchant_contract_terms.contract_terms; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.contract_terms IS 'These contract terms include the wallet nonce';
-
-
---
--- Name: COLUMN merchant_contract_terms.h_contract_terms; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.h_contract_terms IS 'Hash over contract_terms';
-
-
---
--- Name: COLUMN merchant_contract_terms.pay_deadline; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.pay_deadline IS 'How long is the offer valid. After this time, the order can be garbage collected';
-
-
---
--- Name: COLUMN merchant_contract_terms.refund_deadline; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.refund_deadline IS 'By what times do refunds have to be approved (useful to reject refund requests)';
-
-
---
--- Name: COLUMN merchant_contract_terms.paid; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.paid IS 'true implies the customer paid for this contract; order should be DELETEd from merchant_orders once paid is set to release merchant_order_locks; paid remains true even if the payment was later refunded';
-
-
---
--- Name: COLUMN merchant_contract_terms.wired; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.wired IS 'true implies the exchange wired us the full amount for all non-refunded payments under this contract';
-
-
---
--- Name: COLUMN merchant_contract_terms.fulfillment_url; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.fulfillment_url IS 'also included in contract_terms, but we need it here to SELECT on it during repurchase detection; can be NULL if the contract has no fulfillment URL';
-
-
---
--- Name: COLUMN merchant_contract_terms.session_id; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.session_id IS 'last session_id from we confirmed the paying client to use, empty string for none';
-
-
---
--- Name: COLUMN merchant_contract_terms.claim_token; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_contract_terms.claim_token IS 'Token optionally used to access the status of the order. All zeros (not NULL) if not used';
-
-
---
--- Name: merchant_deposit_to_transfer; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_deposit_to_transfer (
- deposit_serial bigint NOT NULL,
- coin_contribution_value_val bigint NOT NULL,
- coin_contribution_value_frac integer NOT NULL,
- credit_serial bigint NOT NULL,
- execution_time bigint NOT NULL,
- signkey_serial bigint NOT NULL,
- exchange_sig bytea NOT NULL,
- CONSTRAINT merchant_deposit_to_transfer_exchange_sig_check CHECK ((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_deposit_to_transfer; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_deposit_to_transfer IS 'Mapping of deposits to (possibly unconfirmed) wire transfers; NOTE: not used yet';
-
-
---
--- Name: COLUMN merchant_deposit_to_transfer.execution_time; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_deposit_to_transfer.execution_time IS 'Execution time as claimed by the exchange, roughly matches time seen by merchant';
-
-
---
--- Name: merchant_deposits; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_deposits (
- deposit_serial bigint NOT NULL,
- order_serial bigint,
- deposit_timestamp bigint NOT NULL,
- coin_pub bytea NOT NULL,
- exchange_url character varying NOT NULL,
- amount_with_fee_val bigint NOT NULL,
- amount_with_fee_frac integer NOT NULL,
- deposit_fee_val bigint NOT NULL,
- deposit_fee_frac integer NOT NULL,
- refund_fee_val bigint NOT NULL,
- refund_fee_frac integer NOT NULL,
- wire_fee_val bigint NOT NULL,
- wire_fee_frac integer NOT NULL,
- signkey_serial bigint NOT NULL,
- exchange_sig bytea NOT NULL,
- account_serial bigint NOT NULL,
- CONSTRAINT merchant_deposits_coin_pub_check CHECK ((length(coin_pub) = 32)),
- CONSTRAINT merchant_deposits_exchange_sig_check CHECK ((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_deposits; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_deposits IS 'Refunds approved by the merchant (backoffice) logic, excludes abort refunds';
-
-
---
--- Name: COLUMN merchant_deposits.deposit_timestamp; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_deposits.deposit_timestamp IS 'Time when the exchange generated the deposit confirmation';
-
-
---
--- Name: COLUMN merchant_deposits.wire_fee_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_deposits.wire_fee_val IS 'We MAY want to see if we should try to get this via merchant_exchange_wire_fees (not sure, may be too complicated with the date range, etc.)';
-
-
---
--- Name: COLUMN merchant_deposits.signkey_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_deposits.signkey_serial IS 'Online signing key of the exchange on the deposit confirmation';
-
-
---
--- Name: COLUMN merchant_deposits.exchange_sig; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_deposits.exchange_sig IS 'Signature of the exchange over the deposit confirmation';
-
-
---
--- Name: merchant_deposits_deposit_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_deposits ALTER COLUMN deposit_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_deposits_deposit_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_exchange_signing_keys; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_exchange_signing_keys (
- signkey_serial bigint NOT NULL,
- master_pub bytea NOT NULL,
- exchange_pub bytea NOT NULL,
- start_date bigint NOT NULL,
- expire_date bigint NOT NULL,
- end_date bigint NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT merchant_exchange_signing_keys_exchange_pub_check CHECK ((length(exchange_pub) = 32)),
- CONSTRAINT merchant_exchange_signing_keys_master_pub_check CHECK ((length(master_pub) = 32)),
- CONSTRAINT merchant_exchange_signing_keys_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_exchange_signing_keys; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_exchange_signing_keys IS 'Here we store proofs of the exchange online signing keys being signed by the exchange master key';
-
-
---
--- Name: COLUMN merchant_exchange_signing_keys.master_pub; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_exchange_signing_keys.master_pub IS 'Master public key of the exchange with these online signing keys';
-
-
---
--- Name: merchant_exchange_signing_keys_signkey_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_exchange_signing_keys ALTER COLUMN signkey_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_exchange_signing_keys_signkey_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_exchange_wire_fees; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_exchange_wire_fees (
- wirefee_serial bigint NOT NULL,
- master_pub bytea NOT NULL,
- h_wire_method bytea NOT NULL,
- start_date bigint NOT NULL,
- end_date bigint NOT NULL,
- wire_fee_val bigint NOT NULL,
- wire_fee_frac integer NOT NULL,
- closing_fee_val bigint NOT NULL,
- closing_fee_frac integer NOT NULL,
- wad_fee_val bigint NOT NULL,
- wad_fee_frac integer NOT NULL,
- master_sig bytea NOT NULL,
- CONSTRAINT merchant_exchange_wire_fees_h_wire_method_check CHECK ((length(h_wire_method) = 64)),
- CONSTRAINT merchant_exchange_wire_fees_master_pub_check CHECK ((length(master_pub) = 32)),
- CONSTRAINT merchant_exchange_wire_fees_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_exchange_wire_fees; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_exchange_wire_fees IS 'Here we store proofs of the wire fee structure of the various exchanges';
-
-
---
--- Name: COLUMN merchant_exchange_wire_fees.master_pub; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_exchange_wire_fees.master_pub IS 'Master public key of the exchange with these wire fees';
-
-
---
--- Name: merchant_exchange_wire_fees_wirefee_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_exchange_wire_fees ALTER COLUMN wirefee_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_exchange_wire_fees_wirefee_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_instances; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_instances (
- merchant_serial bigint NOT NULL,
- merchant_pub bytea NOT NULL,
- auth_hash bytea,
- auth_salt bytea,
- merchant_id character varying NOT NULL,
- merchant_name character varying NOT NULL,
- address bytea NOT NULL,
- jurisdiction bytea NOT NULL,
- default_max_deposit_fee_val bigint NOT NULL,
- default_max_deposit_fee_frac integer NOT NULL,
- default_max_wire_fee_val bigint NOT NULL,
- default_max_wire_fee_frac integer NOT NULL,
- default_wire_fee_amortization integer NOT NULL,
- default_wire_transfer_delay bigint NOT NULL,
- default_pay_delay bigint NOT NULL,
- website character varying,
- email character varying,
- logo bytea,
- CONSTRAINT merchant_instances_auth_hash_check CHECK ((length(auth_hash) = 64)),
- CONSTRAINT merchant_instances_auth_salt_check CHECK ((length(auth_salt) = 32)),
- CONSTRAINT merchant_instances_merchant_pub_check CHECK ((length(merchant_pub) = 32))
-);
-
-
---
--- Name: TABLE merchant_instances; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_instances IS 'all the instances supported by this backend';
-
-
---
--- Name: COLUMN merchant_instances.auth_hash; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.auth_hash IS 'hash used for merchant back office Authorization, NULL for no check';
-
-
---
--- Name: COLUMN merchant_instances.auth_salt; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.auth_salt IS 'salt to use when hashing Authorization header before comparing with auth_hash';
-
-
---
--- Name: COLUMN merchant_instances.merchant_id; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.merchant_id IS 'identifier of the merchant as used in the base URL (required)';
-
-
---
--- Name: COLUMN merchant_instances.merchant_name; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.merchant_name IS 'legal name of the merchant as a simple string (required)';
-
-
---
--- Name: COLUMN merchant_instances.address; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.address IS 'physical address of the merchant as a Location in JSON format (required)';
-
-
---
--- Name: COLUMN merchant_instances.jurisdiction; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.jurisdiction IS 'jurisdiction of the merchant as a Location in JSON format (required)';
-
-
---
--- Name: COLUMN merchant_instances.website; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.website IS 'merchant site URL';
-
-
---
--- Name: COLUMN merchant_instances.email; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.email IS 'email';
-
-
---
--- Name: COLUMN merchant_instances.logo; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_instances.logo IS 'data image url';
-
-
---
--- Name: merchant_instances_merchant_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_instances ALTER COLUMN merchant_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_instances_merchant_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_inventory; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_inventory (
- product_serial bigint NOT NULL,
- merchant_serial bigint NOT NULL,
- product_id character varying NOT NULL,
- description character varying NOT NULL,
- description_i18n bytea NOT NULL,
- unit character varying NOT NULL,
- image bytea NOT NULL,
- taxes bytea NOT NULL,
- price_val bigint NOT NULL,
- price_frac integer NOT NULL,
- total_stock bigint NOT NULL,
- total_sold bigint DEFAULT 0 NOT NULL,
- total_lost bigint DEFAULT 0 NOT NULL,
- address bytea NOT NULL,
- next_restock bigint NOT NULL,
- minimum_age integer DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE merchant_inventory; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_inventory IS 'products offered by the merchant (may be incomplete, frontend can override)';
-
-
---
--- Name: COLUMN merchant_inventory.description; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.description IS 'Human-readable product description';
-
-
---
--- Name: COLUMN merchant_inventory.description_i18n; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.description_i18n IS 'JSON map from IETF BCP 47 language tags to localized descriptions';
-
-
---
--- Name: COLUMN merchant_inventory.unit; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.unit IS 'Unit of sale for the product (liters, kilograms, packages)';
-
-
---
--- Name: COLUMN merchant_inventory.image; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.image IS 'NOT NULL, but can be 0 bytes; must contain an ImageDataUrl';
-
-
---
--- Name: COLUMN merchant_inventory.taxes; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.taxes IS 'JSON array containing taxes the merchant pays, must be JSON, but can be just "[]"';
-
-
---
--- Name: COLUMN merchant_inventory.price_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.price_val IS 'Current price of one unit of the product';
-
-
---
--- Name: COLUMN merchant_inventory.total_stock; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.total_stock IS 'A value of -1 is used for unlimited (electronic good), may never be lowered';
-
-
---
--- Name: COLUMN merchant_inventory.total_sold; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.total_sold IS 'Number of products sold, must be below total_stock, non-negative, may never be lowered';
-
-
---
--- Name: COLUMN merchant_inventory.total_lost; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.total_lost IS 'Number of products that used to be in stock but were lost (spoiled, damaged), may never be lowered; total_stock >= total_sold + total_lost must always hold';
-
-
---
--- Name: COLUMN merchant_inventory.address; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.address IS 'JSON formatted Location of where the product is stocked';
-
-
---
--- Name: COLUMN merchant_inventory.next_restock; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.next_restock IS 'GNUnet absolute time indicating when the next restock is expected. 0 for unknown.';
-
-
---
--- Name: COLUMN merchant_inventory.minimum_age; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory.minimum_age IS 'Minimum age of the customer in years, to be used if an exchange supports the age restriction extension.';
-
-
---
--- Name: merchant_inventory_locks; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_inventory_locks (
- product_serial bigint NOT NULL,
- lock_uuid bytea NOT NULL,
- total_locked bigint NOT NULL,
- expiration bigint NOT NULL,
- CONSTRAINT merchant_inventory_locks_lock_uuid_check CHECK ((length(lock_uuid) = 16))
-);
-
-
---
--- Name: TABLE merchant_inventory_locks; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_inventory_locks IS 'locks on inventory helt by shopping carts; note that locks MAY not be honored if merchants increase total_lost for inventory';
-
-
---
--- Name: COLUMN merchant_inventory_locks.total_locked; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory_locks.total_locked IS 'how many units of the product does this lock reserve';
-
-
---
--- Name: COLUMN merchant_inventory_locks.expiration; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_inventory_locks.expiration IS 'when does this lock automatically expire (if no order is created)';
-
-
---
--- Name: merchant_inventory_product_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_inventory ALTER COLUMN product_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_inventory_product_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_keys; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_keys (
- merchant_priv bytea NOT NULL,
- merchant_serial bigint NOT NULL,
- CONSTRAINT merchant_keys_merchant_priv_check CHECK ((length(merchant_priv) = 32))
-);
-
-
---
--- Name: TABLE merchant_keys; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_keys IS 'private keys of instances that have not been deleted';
-
-
---
--- Name: merchant_kyc; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_kyc (
- kyc_serial_id bigint NOT NULL,
- kyc_timestamp bigint NOT NULL,
- kyc_ok boolean DEFAULT false NOT NULL,
- exchange_sig bytea,
- exchange_pub bytea,
- exchange_kyc_serial bigint DEFAULT 0 NOT NULL,
- account_serial bigint NOT NULL,
- exchange_url character varying NOT NULL,
- CONSTRAINT merchant_kyc_exchange_pub_check CHECK ((length(exchange_pub) = 32)),
- CONSTRAINT merchant_kyc_exchange_sig_check CHECK ((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_kyc; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_kyc IS 'Status of the KYC process of a merchant account at an exchange';
-
-
---
--- Name: COLUMN merchant_kyc.kyc_timestamp; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.kyc_timestamp IS 'Last time we checked our KYC status at the exchange. Useful to re-check if the status is very stale. Also the timestamp used for the exchange signature (if present).';
-
-
---
--- Name: COLUMN merchant_kyc.kyc_ok; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.kyc_ok IS 'true if the KYC check was passed successfully';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_sig; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.exchange_sig IS 'signature of the exchange affirming the KYC passed (or NULL if exchange does not require KYC or not kyc_ok)';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_pub; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.exchange_pub IS 'public key used with exchange_sig (or NULL if exchange_sig is NULL)';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_kyc_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.exchange_kyc_serial IS 'Number to use in the KYC-endpoints of the exchange to check the KYC status or begin the KYC process. 0 if we do not know it yet.';
-
-
---
--- Name: COLUMN merchant_kyc.account_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.account_serial IS 'Which bank account of the merchant is the KYC status for';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_url; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_kyc.exchange_url IS 'Which exchange base URL is this KYC status valid for';
-
-
---
--- Name: merchant_kyc_kyc_serial_id_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_kyc ALTER COLUMN kyc_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_kyc_kyc_serial_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_order_locks; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_order_locks (
- product_serial bigint NOT NULL,
- total_locked bigint NOT NULL,
- order_serial bigint NOT NULL
-);
-
-
---
--- Name: TABLE merchant_order_locks; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_order_locks IS 'locks on orders awaiting claim and payment; note that locks MAY not be honored if merchants increase total_lost for inventory';
-
-
---
--- Name: COLUMN merchant_order_locks.total_locked; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_order_locks.total_locked IS 'how many units of the product does this lock reserve';
-
-
---
--- Name: merchant_orders; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_orders (
- order_serial bigint NOT NULL,
- merchant_serial bigint NOT NULL,
- order_id character varying NOT NULL,
- claim_token bytea NOT NULL,
- h_post_data bytea NOT NULL,
- pay_deadline bigint NOT NULL,
- creation_time bigint NOT NULL,
- contract_terms bytea NOT NULL,
- CONSTRAINT merchant_orders_claim_token_check CHECK ((length(claim_token) = 16)),
- CONSTRAINT merchant_orders_h_post_data_check CHECK ((length(h_post_data) = 64))
-);
-
-
---
--- Name: TABLE merchant_orders; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_orders IS 'Orders we offered to a customer, but that have not yet been claimed';
-
-
---
--- Name: COLUMN merchant_orders.merchant_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_orders.merchant_serial IS 'Identifies the instance offering the contract';
-
-
---
--- Name: COLUMN merchant_orders.claim_token; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_orders.claim_token IS 'Token optionally used to authorize the wallet to claim the order. All zeros (not NULL) if not used';
-
-
---
--- Name: COLUMN merchant_orders.h_post_data; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_orders.h_post_data IS 'Hash of the POST request that created this order, for idempotency checks';
-
-
---
--- Name: COLUMN merchant_orders.pay_deadline; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_orders.pay_deadline IS 'How long is the offer valid. After this time, the order can be garbage collected';
-
-
---
--- Name: COLUMN merchant_orders.contract_terms; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_orders.contract_terms IS 'Claiming changes the contract_terms, hence we have no hash of the terms in this table';
-
-
---
--- Name: merchant_orders_order_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_orders ALTER COLUMN order_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_orders_order_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_refund_proofs; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_refund_proofs (
- refund_serial bigint NOT NULL,
- exchange_sig bytea NOT NULL,
- signkey_serial bigint NOT NULL,
- CONSTRAINT merchant_refund_proofs_exchange_sig_check CHECK ((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_refund_proofs; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_refund_proofs IS 'Refunds confirmed by the exchange (not all approved refunds are grabbed by the wallet)';
-
-
---
--- Name: merchant_refunds; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_refunds (
- refund_serial bigint NOT NULL,
- order_serial bigint NOT NULL,
- rtransaction_id bigint NOT NULL,
- refund_timestamp bigint NOT NULL,
- coin_pub bytea NOT NULL,
- reason character varying NOT NULL,
- refund_amount_val bigint NOT NULL,
- refund_amount_frac integer NOT NULL
-);
-
-
---
--- Name: COLUMN merchant_refunds.rtransaction_id; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_refunds.rtransaction_id IS 'Needed for uniqueness in case a refund is increased for the same order';
-
-
---
--- Name: COLUMN merchant_refunds.refund_timestamp; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_refunds.refund_timestamp IS 'Needed for grouping of refunds in the wallet UI; has no semantics in the protocol (only for UX), but should be from the time when the merchant internally approved the refund';
-
-
---
--- Name: merchant_refunds_refund_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_refunds ALTER COLUMN refund_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_refunds_refund_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_tip_pickup_signatures; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_tip_pickup_signatures (
- pickup_serial bigint NOT NULL,
- coin_offset integer NOT NULL,
- blind_sig bytea NOT NULL
-);
-
-
---
--- Name: TABLE merchant_tip_pickup_signatures; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_tip_pickup_signatures IS 'blind signatures we got from the exchange during the tip pickup';
-
-
---
--- Name: merchant_tip_pickups; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_tip_pickups (
- pickup_serial bigint NOT NULL,
- tip_serial bigint NOT NULL,
- pickup_id bytea NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- CONSTRAINT merchant_tip_pickups_pickup_id_check CHECK ((length(pickup_id) = 64))
-);
-
-
---
--- Name: TABLE merchant_tip_pickups; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_tip_pickups IS 'tips that have been picked up';
-
-
---
--- Name: merchant_tip_pickups_pickup_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_tip_pickups ALTER COLUMN pickup_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_tip_pickups_pickup_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_tip_reserve_keys; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_tip_reserve_keys (
- reserve_serial bigint NOT NULL,
- reserve_priv bytea NOT NULL,
- exchange_url character varying NOT NULL,
- payto_uri character varying,
- CONSTRAINT merchant_tip_reserve_keys_reserve_priv_check CHECK ((length(reserve_priv) = 32))
-);
-
-
---
--- Name: COLUMN merchant_tip_reserve_keys.payto_uri; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserve_keys.payto_uri IS 'payto:// URI used to fund the reserve, may be NULL once reserve is funded';
-
-
---
--- Name: merchant_tip_reserves; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_tip_reserves (
- reserve_serial bigint NOT NULL,
- reserve_pub bytea NOT NULL,
- merchant_serial bigint NOT NULL,
- creation_time bigint NOT NULL,
- expiration bigint NOT NULL,
- merchant_initial_balance_val bigint NOT NULL,
- merchant_initial_balance_frac integer NOT NULL,
- exchange_initial_balance_val bigint DEFAULT 0 NOT NULL,
- exchange_initial_balance_frac integer DEFAULT 0 NOT NULL,
- tips_committed_val bigint DEFAULT 0 NOT NULL,
- tips_committed_frac integer DEFAULT 0 NOT NULL,
- tips_picked_up_val bigint DEFAULT 0 NOT NULL,
- tips_picked_up_frac integer DEFAULT 0 NOT NULL,
- CONSTRAINT merchant_tip_reserves_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-);
-
-
---
--- Name: TABLE merchant_tip_reserves; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_tip_reserves IS 'private keys of reserves that have not been deleted';
-
-
---
--- Name: COLUMN merchant_tip_reserves.expiration; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserves.expiration IS 'FIXME: EXCHANGE API needs to tell us when reserves close if we are to compute this';
-
-
---
--- Name: COLUMN merchant_tip_reserves.merchant_initial_balance_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserves.merchant_initial_balance_val IS 'Set to the initial balance the merchant told us when creating the reserve';
-
-
---
--- Name: COLUMN merchant_tip_reserves.exchange_initial_balance_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserves.exchange_initial_balance_val IS 'Set to the initial balance the exchange told us when we queried the reserve status';
-
-
---
--- Name: COLUMN merchant_tip_reserves.tips_committed_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserves.tips_committed_val IS 'Amount of outstanding approved tips that have not been picked up';
-
-
---
--- Name: COLUMN merchant_tip_reserves.tips_picked_up_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tip_reserves.tips_picked_up_val IS 'Total amount tips that have been picked up from this reserve';
-
-
---
--- Name: merchant_tip_reserves_reserve_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_tip_reserves ALTER COLUMN reserve_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_tip_reserves_reserve_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_tips; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_tips (
- tip_serial bigint NOT NULL,
- reserve_serial bigint NOT NULL,
- tip_id bytea NOT NULL,
- justification character varying NOT NULL,
- next_url character varying NOT NULL,
- expiration bigint NOT NULL,
- amount_val bigint NOT NULL,
- amount_frac integer NOT NULL,
- picked_up_val bigint DEFAULT 0 NOT NULL,
- picked_up_frac integer DEFAULT 0 NOT NULL,
- was_picked_up boolean DEFAULT false NOT NULL,
- CONSTRAINT merchant_tips_tip_id_check CHECK ((length(tip_id) = 64))
-);
-
-
---
--- Name: TABLE merchant_tips; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_tips IS 'tips that have been authorized';
-
-
---
--- Name: COLUMN merchant_tips.reserve_serial; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tips.reserve_serial IS 'Reserve from which this tip is funded';
-
-
---
--- Name: COLUMN merchant_tips.expiration; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tips.expiration IS 'by when does the client have to pick up the tip';
-
-
---
--- Name: COLUMN merchant_tips.amount_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tips.amount_val IS 'total transaction cost for all coins including withdraw fees';
-
-
---
--- Name: COLUMN merchant_tips.picked_up_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_tips.picked_up_val IS 'Tip amount left to be picked up';
-
-
---
--- Name: merchant_tips_tip_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_tips ALTER COLUMN tip_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_tips_tip_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: merchant_transfer_signatures; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_transfer_signatures (
- credit_serial bigint NOT NULL,
- signkey_serial bigint NOT NULL,
- wire_fee_val bigint NOT NULL,
- wire_fee_frac integer NOT NULL,
- credit_amount_val bigint NOT NULL,
- credit_amount_frac integer NOT NULL,
- execution_time bigint NOT NULL,
- exchange_sig bytea NOT NULL,
- CONSTRAINT merchant_transfer_signatures_exchange_sig_check CHECK ((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_transfer_signatures; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_transfer_signatures IS 'table represents the main information returned from the /transfer request to the exchange.';
-
-
---
--- Name: COLUMN merchant_transfer_signatures.credit_amount_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfer_signatures.credit_amount_val IS 'actual value of the (aggregated) wire transfer, excluding the wire fee, according to the exchange';
-
-
---
--- Name: COLUMN merchant_transfer_signatures.execution_time; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfer_signatures.execution_time IS 'Execution time as claimed by the exchange, roughly matches time seen by merchant';
-
-
---
--- Name: merchant_transfer_to_coin; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_transfer_to_coin (
- deposit_serial bigint NOT NULL,
- credit_serial bigint NOT NULL,
- offset_in_exchange_list bigint NOT NULL,
- exchange_deposit_value_val bigint NOT NULL,
- exchange_deposit_value_frac integer NOT NULL,
- exchange_deposit_fee_val bigint NOT NULL,
- exchange_deposit_fee_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE merchant_transfer_to_coin; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_transfer_to_coin IS 'Mapping of (credit) transfers to (deposited) coins';
-
-
---
--- Name: COLUMN merchant_transfer_to_coin.exchange_deposit_value_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfer_to_coin.exchange_deposit_value_val IS 'Deposit value as claimed by the exchange, should match our values in merchant_deposits minus refunds';
-
-
---
--- Name: COLUMN merchant_transfer_to_coin.exchange_deposit_fee_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfer_to_coin.exchange_deposit_fee_val IS 'Deposit value as claimed by the exchange, should match our values in merchant_deposits';
-
-
---
--- Name: merchant_transfers; Type: TABLE; Schema: merchant; Owner: -
---
-
-CREATE TABLE merchant.merchant_transfers (
- credit_serial bigint NOT NULL,
- exchange_url character varying NOT NULL,
- wtid bytea,
- credit_amount_val bigint NOT NULL,
- credit_amount_frac integer NOT NULL,
- account_serial bigint NOT NULL,
- verified boolean DEFAULT false NOT NULL,
- confirmed boolean DEFAULT false NOT NULL,
- CONSTRAINT merchant_transfers_wtid_check CHECK ((length(wtid) = 32))
-);
-
-
---
--- Name: TABLE merchant_transfers; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON TABLE merchant.merchant_transfers IS 'table represents the information provided by the (trusted) merchant about incoming wire transfers';
-
-
---
--- Name: COLUMN merchant_transfers.credit_amount_val; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfers.credit_amount_val IS 'actual value of the (aggregated) wire transfer, excluding the wire fee, according to the merchant';
-
-
---
--- Name: COLUMN merchant_transfers.verified; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfers.verified IS 'true once we got an acceptable response from the exchange for this transfer';
-
-
---
--- Name: COLUMN merchant_transfers.confirmed; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON COLUMN merchant.merchant_transfers.confirmed IS 'true once the merchant confirmed that this transfer was received';
-
-
---
--- Name: merchant_transfers_credit_serial_seq; Type: SEQUENCE; Schema: merchant; Owner: -
---
-
-ALTER TABLE merchant.merchant_transfers ALTER COLUMN credit_serial ADD GENERATED BY DEFAULT AS IDENTITY (
- SEQUENCE NAME merchant.merchant_transfers_credit_serial_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1
-);
-
-
---
--- Name: auditor_reserves auditor_reserves_rowid; Type: DEFAULT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_reserves ALTER COLUMN auditor_reserves_rowid SET DEFAULT nextval('auditor.auditor_reserves_auditor_reserves_rowid_seq'::regclass);
-
-
---
--- Name: deposit_confirmations serial_id; Type: DEFAULT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.deposit_confirmations ALTER COLUMN serial_id SET DEFAULT nextval('auditor.deposit_confirmations_serial_id_seq'::regclass);
-
-
---
--- Data for Name: patches; Type: TABLE DATA; Schema: _v; Owner: -
---
-
-COPY _v.patches (patch_name, applied_tsz, applied_by, requires, conflicts) FROM stdin;
-exchange-0001 2022-08-20 12:52:13.547704+02 grothoff {} {}
-merchant-0001 2022-08-20 12:52:14.619189+02 grothoff {} {}
-merchant-0002 2022-08-20 12:52:15.029683+02 grothoff {} {}
-auditor-0001 2022-08-20 12:52:15.147215+02 grothoff {} {}
-\.
-
-
---
--- Data for Name: auditor_balance_summary; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_balance_summary (master_pub, denom_balance_val, denom_balance_frac, deposit_fee_balance_val, deposit_fee_balance_frac, melt_fee_balance_val, melt_fee_balance_frac, refund_fee_balance_val, refund_fee_balance_frac, risk_val, risk_frac, loss_val, loss_frac, irregular_recoup_val, irregular_recoup_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_denomination_pending; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_denomination_pending (denom_pub_hash, denom_balance_val, denom_balance_frac, denom_loss_val, denom_loss_frac, num_issued, denom_risk_val, denom_risk_frac, recoup_loss_val, recoup_loss_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_exchange_signkeys; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_exchange_signkeys (master_pub, ep_start, ep_expire, ep_end, exchange_pub, master_sig) FROM stdin;
-\\x3f20d5521fe9e4ddf337277c21f25f066f242826f79fffb43343a711c008a0a9 1660992748000000 1668250348000000 1670669548000000 \\xdadc5cfb79a7b94e6d311f6033f32442d2a4791150799ec796049f6f7772a8ea \\xc19d70df3db53fe89fe00a8c74fb2fb06f8871ce97ccd812a80b12a9ea181bcffc27b8e365f2d0f97cb34c543741932805a30e72bb6f964b2cf8c0101ba6ba08
-\.
-
-
---
--- Data for Name: auditor_exchanges; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_exchanges (master_pub, exchange_url) FROM stdin;
-\\x3f20d5521fe9e4ddf337277c21f25f066f242826f79fffb43343a711c008a0a9 http://localhost:8081/
-\.
-
-
---
--- Data for Name: auditor_historic_denomination_revenue; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_historic_denomination_revenue (master_pub, denom_pub_hash, revenue_timestamp, revenue_balance_val, revenue_balance_frac, loss_balance_val, loss_balance_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_historic_reserve_summary; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_historic_reserve_summary (master_pub, start_date, end_date, reserve_profits_val, reserve_profits_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_predicted_result; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_predicted_result (master_pub, balance_val, balance_frac, drained_val, drained_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_aggregation; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_progress_aggregation (master_pub, last_wire_out_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_coin; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_progress_coin (master_pub, last_withdraw_serial_id, last_deposit_serial_id, last_melt_serial_id, last_refund_serial_id, last_recoup_serial_id, last_recoup_refresh_serial_id, last_purse_deposits_serial_id, last_purse_refunds_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_deposit_confirmation; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_progress_deposit_confirmation (master_pub, last_deposit_confirmation_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_reserve; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_progress_reserve (master_pub, last_reserve_in_serial_id, last_reserve_out_serial_id, last_reserve_recoup_serial_id, last_reserve_close_serial_id, last_purse_merges_serial_id, last_purse_deposits_serial_id, last_account_merges_serial_id, last_history_requests_serial_id, last_close_requests_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_reserve_balance; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_reserve_balance (master_pub, reserve_balance_val, reserve_balance_frac, withdraw_fee_balance_val, withdraw_fee_balance_frac, purse_fee_balance_val, purse_fee_balance_frac, history_fee_balance_val, history_fee_balance_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_reserves; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_reserves (reserve_pub, master_pub, reserve_balance_val, reserve_balance_frac, withdraw_fee_balance_val, withdraw_fee_balance_frac, expiration_date, auditor_reserves_rowid, origin_account) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_wire_fee_balance; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.auditor_wire_fee_balance (master_pub, wire_fee_balance_val, wire_fee_balance_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: deposit_confirmations; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.deposit_confirmations (master_pub, serial_id, h_contract_terms, h_extensions, h_wire, exchange_timestamp, refund_deadline, wire_deadline, amount_without_fee_val, amount_without_fee_frac, coin_pub, merchant_pub, exchange_sig, exchange_pub, master_sig) FROM stdin;
-\\x3f20d5521fe9e4ddf337277c21f25f066f242826f79fffb43343a711c008a0a9 1 \\x70450b46e592fa22e4f2edcb92617c60e600e1454e9bc52da02397bc862901f139a4ab579932a8810809b880982464c45cb8f4a4c075bb462131c5efdfd965fe \\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \\xa244abb59475dd50543a653bc2c2c6609ab29b03b1bad126007bb99202d5809b37a15c3ad70b7fafbaef55f1efda5375b10fd9b6f890cc2cacaa5e24c3e55fd7 1660992778000000 1660993676000000 1660993676000000 0 98000000 \\x633286aec399616c6bda89d40013c5d27e83e34b10dc958e2c6adade957a00bb \\xc845e200542958d662c2532e0e702a4a9f1bd01a0e10dd815e2b0f0412af906e \\x625da3699e7aaf380cf081925b5ddd64134f875e5e7f1f72fd558d37c1490b552f6792cab9494b41c7cceb6747321182d5c9729f1e481286e06ecb60ded99e03 \\xdadc5cfb79a7b94e6d311f6033f32442d2a4791150799ec796049f6f7772a8ea \\xc0372e33ff7f00001d19979870550000dde0299a705500003ae0299a7055000020e0299a7055000024e0299a70550000c0692a9a705500000000000000000000
-\\x3f20d5521fe9e4ddf337277c21f25f066f242826f79fffb43343a711c008a0a9 2 \\x7d0db3dc8c43719af46e3d51fbb65e0ef73d4e4128f0156738aeafc3d59de0bfdb64e63a40804e00592824e4c9c0ed72da900017a28a4f7e30658731044df108 \\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \\xa244abb59475dd50543a653bc2c2c6609ab29b03b1bad126007bb99202d5809b37a15c3ad70b7fafbaef55f1efda5375b10fd9b6f890cc2cacaa5e24c3e55fd7 1661597612000000 1660993708000000 1660993708000000 0 0 \\x028b2f54b389d85b20e243a97645d85b4122896f343bc22f96e506ce8a053a61 \\xc845e200542958d662c2532e0e702a4a9f1bd01a0e10dd815e2b0f0412af906e \\x11b8376a6f8ed143df4bf5aa4cb92b8431b2c57528a3fcd5be3f2a868cd11570c25a7c0965887422bb6fdafcffa7544776c43d45bc772f5985e60ab9fc4ad301 \\xdadc5cfb79a7b94e6d311f6033f32442d2a4791150799ec796049f6f7772a8ea \\xc0372e33ff7f00001d19979870550000bd112b9a705500001a112b9a7055000000112b9a7055000004112b9a7055000020e0299a705500000000000000000000
-\.
-
-
---
--- Data for Name: wire_auditor_account_progress; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.wire_auditor_account_progress (master_pub, account_name, last_wire_reserve_in_serial_id, last_wire_wire_out_serial_id, wire_in_off, wire_out_off) FROM stdin;
-\.
-
-
---
--- Data for Name: wire_auditor_progress; Type: TABLE DATA; Schema: auditor; Owner: -
---
-
-COPY auditor.wire_auditor_progress (master_pub, last_timestamp, last_reserve_close_uuid) FROM stdin;
-\.
-
-
---
--- Data for Name: account_merges_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.account_merges_default (account_merge_request_serial_id, reserve_pub, reserve_sig, purse_pub, wallet_h_payto) FROM stdin;
-\.
-
-
---
--- Data for Name: aggregation_tracking_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.aggregation_tracking_default (aggregation_serial_id, deposit_serial_id, wtid_raw) FROM stdin;
-\.
-
-
---
--- Data for Name: aggregation_transient_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.aggregation_transient_default (amount_val, amount_frac, wire_target_h_payto, merchant_pub, exchange_account_section, legitimization_requirement_serial_id, wtid_raw) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_denom_sigs; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.auditor_denom_sigs (auditor_denom_serial, auditor_uuid, denominations_serial, auditor_sig) FROM stdin;
-1 1 12 \\x10cf853797c8045b4475b89ef46ebcb9c6c213577db80a7ad378b62af6095f2c89d2252af8c1617f554b07056e01f824cde006f6df18924bfd58922f355fb10d
-2 1 48 \\xb62cb9527c9c30bcfbc2564130367cb78a68d70a40dd14e2e7a6c673376856f7cdd77ad89b3cdee4b70fe6a1e6d0be0ea7242653346e59b69b4ef25209229a04
-3 1 203 \\xaa3568879bee745fd058074b817933b30cc41656ca68d5957cf9369b7a25f267df0055436f7a5568c3f60f9f46c742b7c12b69262801825b6de75793ae7f9502
-4 1 407 \\x79096da769083335396b696c498794b36788b4a95038e59e372e487c1d77803e5fcfb18cf9b99d2e95891ce2b963ac35617e9b93207aafb7759b3f1b0b59150f
-5 1 395 \\xcbe6c19676d67dda8b65d4806fd9af9cc94efca9a02591f1261d1b178c90eff6b1be82682d388554ae68de6ac7b7bcaa496668ad8a92243f7b91b767f6130b01
-6 1 76 \\x13f789cc636e65293b9ea24cc1e89e84bb63715e7eafde60e2630b595e3a9c1ebe38d9bbbeb3570c72780640e00a3741a510ac000d2a9f36f668a23ea907190b
-7 1 32 \\xa3d125a55337dc08547f38ae658b86bc23ded4324866840a0d8974fab57bbe2deea64123a0afee51cea39c9a0d581e69a9c3a531b4aac3fedc3361ff4e6fd30c
-8 1 260 \\xed8cd3a252b682b72f7a48faf319e407c57a6d9c00cf739a666a6ac000e38f472de58d55c5a07fafa0a44739bdceb3d9a0c30225efd1446047822bfa36544f06
-9 1 23 \\x99a57c13dfea9c4734259884eac7d4be10ab14902706895ac9f9ca0c46e0934ae7f578c6035a2b2f75ae1643a629f80a02be3e10ecfa490249b2b3502eeea807
-10 1 391 \\xee57b67b1a20b521518990a62a0d9d91560e5dd618b0d15614c088ce34276ed3846ee4a2cd87bdb108ea3958510d738bb7ff0bcd79dbfc90fa60355fe95f8e06
-11 1 270 \\x481c38a6e68ed3efc3246a06bcf0825a875cde36d3c4ee026ef31ba9d0b3a6379b9a9e1b94b0732def5caa42bff170837a3d7baed6b2cf84e5f19e7416c8eb00
-12 1 87 \\x804e3eb604f686c0d48c5cf5895f82d8147c3892f0197ae19ff595e05260af4c1c1d5ff92c9141a0d6a83066dee2028f1960266e1f8bb33b789b0ff74a8a2c0a
-13 1 374 \\x4a741733901f0482f69d83b1f174302bbe0ee4f7d5b058bda47c0f6ab7bc1594ccae6ff4bf03b4e98ae32e089beaf0b48f90af0acd6c8b89ad67930e9bac3c0a
-14 1 392 \\x12a326a6d45f1ab716b992fa096e1088562f5433a33d8cdeb367fe56503d2ddf2650f2b0723fbe8cf5944df71e5124b3e50933df687f319d3046d59ed5f0b608
-15 1 103 \\xcdb44442fbb90e7a52cc739485d3137144da4df683f1e7cd43d05a03f063a72be6ef25cce168b9368ea83497c68a03f0382b31adaf2afea5058ec40d3e936907
-16 1 126 \\x619a7648a2fa2aad552cf6da225ef09ec04cb43dfd88985d3980cd341f1c5e6ce079c0d5f525d67c0e621c7f250897a3af9872a56d09109546d0a0b602696a05
-17 1 418 \\xdd5bada8f69897524331e31470419a48b8d0318f16b76e0d692757eadd76f3203969901398b3125128a303fb49d29ff70215c1b548a186db3d66d5b35a45a40c
-18 1 262 \\xdae329583b6ad02bd676cfd8b9cc7b134a133ba23136853ed5d5bc44b3d5a2649fe4dae979e2e69f43626958e80193e5c58036a6f7e4f50319aad2664ff5cc04
-19 1 344 \\x312e8e5bf52d07a0ec41ac0b4b7da6673c2b0179862c00e0f01eb6a1c1f3724475a28106ab0a9661ace74016b558362b816b080176bafbcf2068b3ab4ed28d06
-20 1 145 \\xf86572c1003bbe9476348cf1ccccf6461fd4457da59b61a55764b3164a9405d919cd83f1db616bf4be3835f408c99877090c50573b020c1cf18cbb4bc4443107
-21 1 15 \\xcaa63002252b85651b2514415a279533ccc3352d549ce9995d11e59bb6d5e5bd07473eac8d5fb656789f63f877a761afe93c7e0d896febacd7f58cb51a05c30e
-22 1 239 \\x09279cc3b92704a37ace7b8cbedb2d054e40726ed7eeb2d7a41bc76d6badb2c2ec64090785d96f22abbf0978e1f73fddf6613d38976fcbfb1432c513fdad3406
-23 1 225 \\xb211c647202b709927974f03f22c161144d6276db2e04d35279e2632efa3059c1a6119f576a85bf988342887174764c5ed7db5537e6945ebe9090e9a0278bd02
-24 1 29 \\xa9a7e8d0752d2cfd6a1c4a5e0bdbd9f376d6cfa8a732629a02dc752cb0e90fbeebba65dc3c8a6ed641504e8999a7ffbeaf18a2c2c16f71c61363d1d5c4714d05
-25 1 10 \\xc2fd6e93eb6e95902733c4d031f745ae54df6fc2076b6853577a9761bf7f31ada82ab11412ee3448566e17b362b16cc60025d5b078e44e52f9c09b5f86406408
-26 1 92 \\x2020b49c684e65963a7a7c93d2ea2563d81220b5b2ea3f817d27c2fa6e1e8ee1ca71d922d44d496bb9bd6761a73979e8dc8af7e0eab7d992abe5267bd1529f00
-27 1 82 \\xcffa6fe1ebcc098619f2f98ef4033486c914eccbf963337e8a2df9b70b7bd66869c0ff20ed514f5307b373995a7d4ccf36e09295f13b892dac14349ed6d46206
-28 1 186 \\x19e73fc9c58035c7766774161c3ca0b3c59e4e108bc3f54a830f3339108174da8a2e624c8a6d030faaf6678b560a70b55faddc4d695a14b5d22e6e06b29ae000
-29 1 419 \\xd90fd1afe5e1cdd94e8e464b52e8109beb9065c05ecc988a1d90de08f464042b2933cc1d2161d3d4ddb0f4596fc392e487ee60c5cbd53058843cf27c2a3e9c07
-30 1 94 \\xe6372031e39fe19cecfb5b371bfe9df21475dd1528493d4de0c3633db53ab5679727bfa3e565f8a7e3dea449b9fd99f6cc755678861a26a4742896a0b7c7c50a
-31 1 336 \\xe9cac9400754e76c55729e6409b5249d583c657f78c15686466d516e2e688ffa981b76c1bc761798ed84a1a6ae56547c1761e6ca8f57b338b08bb85f5e9f2a0a
-32 1 133 \\xca8cffca66f9a397cfec28f30cd76d6ffdabcfbfe7f7eb2c6c8f48c7b48a460529d16e3902704cb3d93a4387dddc673887a0d7c8ebf1523d926752138a144f06
-33 1 301 \\x6a5ca12e9e45527e4c522d44ee1265765bddbbc8c8c51509b0f5e31b59c28f5bcbf62dca8a438efe8afff0149f5ae57eca2545a9af6a9587d948a83d3764ca02
-34 1 120 \\xe30caeaac13647e35c56ebdd6f7ce31069f06cb3c6a7105cd8aa51d18a6e0dc2c3c1057e3ca45d9200d83875c196a5272bf8dce56b9bd8dced66f242d126ca09
-35 1 341 \\xcfe6a71963220d583acac8df3b29dc0e4208e8941de6d368969ebd606794a67cf4aa3c4b51d08f211ce7682943eaf091679a646abe79a316d5924004be4d3c0c
-36 1 393 \\x6e25262e8a857d55cbac2d66856b938aa91786dea1856375414f110d138a3d8ad7111e5aa1dcb9d0bdac9ce79bc0efd4a99d257b69e719ac04b3d5166a2cb206
-37 1 406 \\x63115f8e5bfca6964ac856c1dc25d4d65dd96e6ba59d7720b409b042b91f56c03633e9de621fecb8abdc0edf77d4145ecfd156e1474cb5235f2618a3ba197e0a
-38 1 216 \\x631c26377c15e62010dcaa3b64e23838a0739038c72faed11269dc46c62905a1eab250fb21f7495d8432406389153c6f8db84b468453469b5cd4ed0016ef6f0d
-39 1 410 \\xbb2fcdbadd6cfe1547472922686917d9ff8a5a417db54ce46dc668e108756715a610ea118da268a8703f5e13c730ceeec1da19ced2e495fe9936a86b18f10403
-40 1 93 \\x02720d054f6dad78b4434dff2fcf53e50020fa654d469349c3fc8a81c298dfa441368fd0838e69ef8a9aa861aebeb765aa4ef628c9b81c7c01a091c43ad7a709
-41 1 33 \\x9164e96e6134e053bd03e68aa5bfc3b4ad72d70e502022f2560b0b86b25a5536e71b3ffa65521680dd9599a06620db9bc6920edbfb85d847d735284efeb79f03
-42 1 39 \\xb2067049b32b6069abff3578e6472520d007d8ab2dc29296a27421ecf6b49e6a202c0e7258e48503fc2b21e914a280dd7a6b136d262130f0e19609388b665e04
-43 1 4 \\xd54d48f965a901d4cb30c0616ede170bab64ac53d205e3fdd7a9822b672a002f6e4aa2214f51439a47f42c780f346625205c748214b5294e5a7256efe4588e0c
-44 1 212 \\x27422707a1ed5f0a04efcf04e10efa8e6a02233fb7278a761fb14b106494c9b712852f0aca608e927bcae236e4df20116068e080abe4b0e6d6d17bf04ae7700f
-45 1 43 \\xf52645378a939bd3a81b8c3ac166d8df963c0b550d2dc891e3ebc42fea9d71ea3faae1202ad98ef29653272659e5f99ee26b9ae8e84723b4387366b60b9f370e
-46 1 143 \\xecae8d84fca5f0feb40d60c11052a675fd3338e096edd960c62acc148832e93842944c8be2c59bf38bf9dd85b5c029578cced03c424300e93fe4aac116361607
-47 1 217 \\x437271b4769431539524aa454e0693875800918a78d0afd5bf6983a7761a294a628744f70bffd856502481693a5e0df13cf48b72bf1c5fcb97947e90ea4ff904
-48 1 234 \\xd574eeeac54dc2b5a88e5d9efde009dc8702498dd1bd1a18c83e5119caa929a62c54e9d119b30052761962f3063ac4313e449424074eacf3237d8ca92dfba406
-49 1 250 \\x9a9cb4879b87476d47c538b22770ccaeb3fac9949118631a7f32c87dd9132474801882adc22c9cce0d54e139d4d1dd259eaabd0883a08adb9996b585d1c60c0e
-50 1 162 \\x2a323e91e47510072a7b4931c4d1c0c12916bc83a0436db5fdf220ead49ea6795310023fbf2a35fd01afb723267c11908db0923762d055d109ccc8e544e4f30f
-51 1 273 \\xd8bacda8f625a3070ee60585a0a41fd91d8ed5bae0be39e7ea9d90f7555e9a7b759de18375bc791d00585c275d0139964d274d3e0a0407d422b3e2f5cd40980f
-52 1 30 \\x1e864929a15b40e70eca87c59561a8f5b010901fbe490ef5a3b464999e05f5f4c890e0d3d665fa68b53d634e822789f9ffb35178182ed0e1b44885d444b9a603
-53 1 227 \\x822adc8436527563c93109763c9500c6283bbd318eb8c1096f4f4c288ecef1e697453e9aef51ba4db488e3319c7a7ebf42cf29c9b78cf0969699cad3e2feb30a
-54 1 151 \\x652331260e5d43669a782bf81305ee2ee5f4b8893bf0cf21d87ba80105c2cad44dde030464d7db7cda38e7f23c3448c91781dee517fbf60595dc9cd6266f4605
-55 1 268 \\x49aff3c8d9316c2c33e80c05a56636cdd76040540028fc999f75275c18c7a260de09fc9c1380b1106241049e8614ab17f12021628097dc7634b7a37674492c08
-56 1 371 \\x03133a05ddfc0f68a6a4f7137620490a1b27c26b475a0bd6d36ecc6eaec528312c9064d900fd1a39f9c4c7c1407cb6edf95e16e337e50fb50a29571be4963405
-57 1 363 \\x940d1b2618f2e6cad26eb9a23cdbfdfd1035cc83c95212f50f14715ee49d9136bec91802b44a171a6f7df5426a49266bfa6e160611b10f06d1c77f55307ecd08
-58 1 210 \\x05bc1e1b252942eb93d21282a5a8010ff2f11c4d03d85b7ae46ece0f1f0daf2cc844e57e14c7814bb0ec2a15f8ca6a0fa8e2686847abb9f979462dd93916a504
-59 1 101 \\xcaf3dfe9bfa977114f91aa93440615566a80d3d7aafe15ce072a9340b652314e217a93760f875651126c2b099e738bb36f2aabc84a70294533f30c645ff7c60a
-60 1 195 \\x4c761e41c856578f0b1fb0ce41919c039733d01f11b3ba30ac9979191c4e737dd229296c052088ce3abc300ab0dfde8d57845e77ee880e26ca9fb634119a570e
-61 1 149 \\x0f058a19b7074e9d9c4b2ccaf852ea0270e119f56be1f67b8a5e1f1b95b4ded8a68354fb9b7202083efc9344b679e598a9d8f225391f3bfdbdfddf5a2a1b6700
-62 1 207 \\xbf14635025874284c8a13616bbf2d4790cfe6255b02c9fddf4f25bbd13a09f913ed0182541a6dee8dffb242ba31fe16da365f9c1628e7de710d47fd6882fd80b
-63 1 232 \\x87285f5275b56f4c269ef4826d52b89b8cc5ecbbf6319b2fa2ea68defd33433d0dc33b270480ba313387bbb17883f59182e266b1f127d006155e0c8d307d010e
-64 1 201 \\x02e84fe6294f188ea47dc538e9255200664cc828b7aa10c09dd551d29599d6906c134df5ca3ba66321869fab2f9eccaa9f2fc639a2cd22dbfc65ae3d2d8f7a0f
-65 1 127 \\x790554c123d85d30c9cdeb87910650470fa85ef5ee7c8a618876d29bfeb13a80e60c715699c1c884b684a921c3e5140d1c401d0b0f4e21b68d43705e9425ac09
-66 1 182 \\xce55b1bff4db2bfacd38e059cfd1d4e0b7a645e35035e0e92f9c5fc214cfc1fdc8f9a43548de7b331c98cd141c8aa0e59168d8ab8b2787fc0c62c6bf05bc6d09
-67 1 306 \\x6eae93215c0db09fef02cb758248f54545cb8df974874143f752ccc39ddfd07499a9e30cc86d0489195191a6ea1173d38a839b90b4b85eea2531c0f1717c0f0c
-68 1 248 \\xe6433a78c61bfd6c08ad88e6f9e62376ea1e8b2399d1dc19227f0914865f86ab6e362fcbe03e90294cfa338a98d737d2b4c097d327a21034413a33618783740b
-69 1 277 \\x0b12f5dfeb967f0d08886723480be297b40f3256797138484871bd18d9b297d4d78a23e76f12bd43a403e484a09a8e0a0faf3e7fcb095a306112629108955d0c
-70 1 390 \\x3c7f13265558c412cbf5864c6341de8192030f728e61137f84c55f57df5760eaaa55df91f38ba41c0861f7280bd2c21f8e7cf1807f868b7e18450db556466f0e
-71 1 353 \\x96165d493474561de191f4a17442a525e528143e0c6e8d69b779b34c95c65e9cebf97f2ca189950f5841dade932130d0d3db19474d506352fe58b88353703b06
-72 1 119 \\xd80721791900229661dc915aeb19a87f782ee8a7d49b36fe3ec4c7b1dbb68e91650a3a7b64d15ae6c6fe795fab8932255d5d9a23987ddf8e12e342b95ef16507
-73 1 57 \\xbe529851b7ac96b15225bf5f4af70bacfba01f73908a90491660db25fc2d496084c75bb86d9ef4bb2283f7db49863709407774554932089cc1a92d070c769804
-74 1 409 \\xf63463e79ce8508cfefcff40c8c5f2808b475e56a356bd5fc900766cffb7491173edca7e43ca56db352089132bb9b6921bd5dc9026c1cb2c6177dc049561050e
-75 1 176 \\x4009632a27e7789bbaa37f235b7b60f2fa3bc8903c46f604ca5a99fb6c06de045d4e0c6f4eb8d52593d9b26c445162a145716f40178900c1518b5d30d79de10f
-76 1 8 \\x4904280325dafb01b13c20b5d15920007a625a6149f345c648234dca72aa2f4af9b311f2b0ed1abc68338f451e9e089e3881f731879de37f91efe04ec73a4707
-77 1 405 \\x1a6b553bfdc5234be7a01fd12e5b5e1537e745948fc2e6a80d4d2a2a4e5d908a1af4719df4518cadc0eebb0efd6692376a0555979e8db0788e7e89077718c101
-78 1 315 \\x8442e48f6b3308621763b51fd50b6595d3e8e4bf5196ee6a67a764caddd023d6b373e2df46b274f9c1fabef6456669fc6df446773ae1cecf0c1c7ff033be4d0f
-79 1 179 \\xd014e158d814502fe22bb827e8410c15c7e5afd5156b018f6557bb22745d48f8663c31999158bc365c5e27e2c4366815216a336d009b6aa72d6224924915e709
-80 1 368 \\x7ce7c9bee2443a930b23a87588faf9ad4c2f6432241b3b185a073b0ef84ffe40aa2e247d6f4ddc36e40db14e33b26c9b96a97adaf3e3f7b27557a49a6683f105
-81 1 14 \\x770132b405b7af33f89a5e2d7e0945727b6ad718137b4cb4f962453d6f60e539c378303743a79c7c6e9ac05eb732de2eb96719d180cc5d17cd37a65f915c630f
-82 1 135 \\x47f2bfbeb9b6cd7c3e8df83fc5e1db0f33b09179788fb953849df827d654e34aedb06c5801072ab27bee9419e5f8b569c14feea9ebd2b1f3c3395dbb959f4f0d
-83 1 222 \\x9ccc5cb6f4f49f57591f824db29d1a310ae404ccf14e8e19264884714381ca3cb922411ec727f7acb14f32fbc4de054b451ca6285bb5e0935ca0986a3bb06709
-84 1 382 \\x0d00f0c024161c0c7c1134e9ee20bfb687657ad6ba9f2cf75448f0594fecb2c830c96fc8fb2a72105aff4248f2778537dc29100aceab80206beeefa8cd0aaa04
-85 1 318 \\x0e0acf5c8659223ec62d5d1fbac60acbec039ed597f31d1bc875c8a4e32be131f256ea3c38dd7ca6371adeb4aa6889df18ce87a860b5e17b07aaf89833fc0208
-86 1 416 \\xa0b3448c464e26405c288f6528f9aa134bc7192b7c70172668313eafd51500d9d2ed975a11a9eaff72177ee85244fb0806fbd9fbb6461f05d20d8e0aff831c02
-87 1 18 \\x01345d906e859294c95dc9e151be47620d6554c3252aff15fe521e55587dada600d27c675c3323ba037e8959dc7ede99bb15cbb72e2ce2049d8eb8b7bd06710d
-88 1 252 \\x5ad234ac1ebaf7c08e0701f97bc56621aa4ba31b10e8761c9ae53d63e47b1f5dd47ae93e0623f8a6abf26b1057f970f96fdfea1a6afbeb8f5ed114bbdc628e00
-89 1 189 \\x3b3044574e43d06d427784805dfc33e5b3e8f19f2d571b719f58d07b98a395fbadcf0fcada557e4ac041e153de58380a69889ac3969c82bf80d58ac37fb0fe08
-90 1 79 \\x2feb6b79307c6e98e030bc0e8a5dc508c7a17556ece836698f26fa82f655d7d35e8f0687ab5985b517e2378659d859de18a0686b6ece9003caa356497e1cbf00
-91 1 81 \\xfc3fdf9fde0f1f7035e50ad9467e8601d6fa6c4d94d2599538398c7dd8136e1e621ad1ef9d9904346474db9d7bb07eee6abf63fb7cde993d9e0b7a876f733201
-92 1 233 \\xa1d509a97daa7abe2564459d804beee755ab322f5d06725e4d5a49d7622727796bf454c3dae4e54bf15ca028d4a3066eb9770e5388e021929b47475ef3938509
-93 1 378 \\x9d3c5266f6458530d410d257bddd636a957c0104ef03943b3535d1a65c94129f5ae2eb886e1f73048e15c89d370d09a41acacda7c6021b2a09084761135d2408
-94 1 54 \\xd431cb05fb5cf4a9724c225d2c13ac8281bedea71298352337c6c4fb20e116cd7226af100a20f084b8a98b54c9e4c9f8d886db0dc7fa9ae2c40ff67bc1493205
-95 1 68 \\x709e0c28614c07247945e0bf5daa661733db652edb0d28e865e3f101fcd5ad3ba4b5db2821b9ed990641a1e7889e3720b0b19c8fa9cb3e3b0845bc301e4f5200
-96 1 411 \\x69f63a2faa29d8911ccf747e34b69f5e0dc38fc9e367c0fef64a3c6803eb17bcf32f98ce2a45febaa681635dbbbbb2dd0b5b7e12129ff08849fcf75a5ac35c09
-97 1 90 \\x78a4718748c7bbab84df107e14673ac274ede05227dea7be949f3530c201ba4dfe7332db9dd77e1456f7fd1aeeaf77fab71590f6fbf22599b807c3088432a30e
-98 1 164 \\x02e53fc7a6e7a5f998eeba4958fc584817e1f4200b02b90894148a47db2d143bfae1b1ee7b997ecd0596c890a0438b0dcff4a8e12ceb7599d104ffbfba2b5c0c
-99 1 204 \\x5a030acee667f1bdb5a519153da79ad286ce12de732e350aba4881aad98e752dc44c78dc431e4bba2f8e7fb71069fdb2a33835cde1f8bac85ed01d469379a006
-100 1 258 \\xc58398d6ed7733fd280d98bc6fad9473b20e901f9e68d325aca9847e862de96e681fd17b6aac86a0afcda4509ec2025669ec09f4f4cc91003e2a769e0c006c03
-101 1 27 \\x863633e57dd3fcaab0ed32fa3315138c0d845015c8b7f7e391cade9b4e95710789242a4fb48231d6c736fc3c0d4f0d9a1f88eff5a25bff444210ee0df211fe01
-102 1 272 \\x98fa4ecb76807b82ea7818d0b72af2764e9bbc74349348057a1addcf6a4ae042ad6da2b9d5a88fc5a29f0ff747db95fb6c05538240b3e50e3286f63636525508
-103 1 356 \\xfa5c9ace68d5e4b35a818966ab30a267f6c772ba29684ff7607f6c853509cb8ab9d0d1bae52486727e639cf2f10dd9600af7789a46d70b4bb461fd998a5f1600
-104 1 226 \\x8501cf72ce83e676ea01e7764b001e52e015c79d774362ce8f175dae6cfe6abee67033f6372338475ccd654b4c3f1a530eb1534937a1150482c0d5a741210e06
-105 1 148 \\x1bb4246ee552b3b4ae6fd627564a7e3ee4f673363345357ef05eb57b2dbfd915fd96cc6a729dcfec2d8b6617540ab4584ee487750db4eab3a0cf0d3a1dd1500b
-106 1 275 \\x0206e21a3daa48726652592aedb51e7ab8e74eee4ff87c5fb4d513416709a34bcf34e63e6e89c11bdcb4df877bf1c4cf30f1e570efe2fab1ddaa3991aab66c0e
-107 1 282 \\xcbbb61e14a01db5991a1da7ae8e45a3f2ac2e7c8f2fc6ffaf6114258d1e9715fda52c4e34be7890db35776c0cfa8517eec0a399b8989ae1462074c8041e66602
-108 1 309 \\x45d99eee45336fd8fdca75d12cec8f9fb860f5f24e6731a8fbc65b08160a875a60c13844f3439df64499cda0708e5989e2ac4e308f3d1a4b1d9c361ff10e9204
-109 1 152 \\x688a3fe429418eeb16543d0e5fe6b05a15a79005d6490a5addd28d3cc4ea31a450654561a23c21f118c1b31c1f5aecee837c2804d9ed1b9440ac2ee0df3a8c0c
-110 1 99 \\x87405d745c8b61609851729780766714a65f6aa7647d92ac0af995d2a5fe83372c58e62a53c637d3c794c9c8081504359fa04cf5e7c37783b163ff023a63f403
-111 1 394 \\x87e057461166e4ca937e2286fe46d663c00df77b05b81f04a863a776a002eeecb532587d679ba5b19d35b5b3bb753ac4c3a97296d715c8a7491e25aa01fda702
-112 1 60 \\xd434d8ae2df2cec3bd252d3eae54b0e9b905a76a8f420700229b47988b87e3bd1c1aac359bcf4e935d09fe5ee6fd590398691e9f6cb682acabd1c270b4f9cd06
-113 1 249 \\xe43a039b1905c375336b0656d7609b31940d8ba4156d8ab87d8c6f0ac1573adc377c58bacedd67ef889b78bf0da5dae7514a11d4233dbeb6ce8422a0ab1fcc02
-114 1 324 \\x80bc9e73d7bf1753550bcefb36e2628ce5529e1b6be1e308e825ed5cab4eb1518e5eef5d954af428f5987f915d864cb8646d88ca7d4a5a76e495e6845521d903
-115 1 388 \\x7ec7000c3c1bb66543f2f6a9155a5636878b02852772e424a9f18f35de3f9f5a67291daba6894651e9e4425cf1fd1a377e38ae44d11c3eab80a3079cc7403805
-116 1 211 \\xa0b3b5e49b1b673bd9554f7be99099cd0361e6bea19e54fc8c06bce2aa5b04076a86dc0cccab80eb71b52a291fd20311465bfed22cfe84ee38178f5b7cac440a
-117 1 213 \\x6f1081cffb6ad8806c27fb99ed5ed1f0e7402ab18fb803be53f6580583eda9d87d2af29cb29dfbe499659a58f6489ab97ecb1f99f1637d07b7be24d3a57b2106
-118 1 413 \\x4235303206231a4bb663b4e4734ee77153adf3a06fbd958283d79c7f39d9d03bc45f032c9cde4f026a02890e874980dfd125db5ae5eb241ad8403bf196ac4304
-119 1 214 \\x2299b8f9f10106e59161e992475f0ba52db3bdcff0a4a7f700a3eff4229a8fcc03d5ef7dfe01d43c5cada427d319bcc9266205e16c2ec6d10c8c96b359db8c05
-120 1 308 \\x5c1e46d608798d5d7d51edd64b8399824b50cd85008ee4b9201b5d33150e5558065be8427ffeb08db3861324afaf9d3e448579fd711874a0ddbac15a8a500f04
-121 1 169 \\xdf25be73c89f2e7d15f4d89938b5686200f17dcf04a3421d62175bcc6488e720a6546ecd0eb5e16c52ea0d307fd99982459666339b25967699113afd56f40500
-122 1 193 \\x689885f1245b507db0b799c9cf1914513f64d21ef0e5e7d774bb101068a87a3064c8ed1ef933d982cec665e12f0d33e88bd51077cb6e32916768cb48077c6f0b
-123 1 183 \\x11c3f10711fcb76469d45b048c9e6f725b78f3a85565227175c3d55267661fc26d8ccae5769a7b5989b754aa4781db20eafd9df137188795c1a9074fc39cc80f
-124 1 209 \\xd9574fdf5c07f4223d41ff070df8a06a7fad760681ad8033ed81eabfdab8e0bf85962200342fe52bc5eded6f5ff2d56c33b68e9ba1d54480e3408fa3a6b0ca08
-125 1 6 \\x023d86bd6ffe430e6ad15e4d4a6e754461330a5ec25f9da61916e04720928c634148bc8685eb34f43acacc8dd86e9e18572473d4027a0b41e275069391efe508
-126 1 110 \\x12f40d159f3ba301b335dd73ed15164263b4d7a3e692f4c6a5ca6dcc45129b57feea30447ca9ba17e25034cad134ab99a03af3eca136b0459ea38ab068f30303
-127 1 13 \\xc2ee56c5e8fa25e943663a79432cec64d541f4eeb2b1f0ef5d691beab0a05d9e257dc8c02c94983c8ff932613c76c64dc2bc9d03d30e7248357bb12163332f0b
-128 1 236 \\x9a599c224ea42271371d1035271937df568170820ace4854d2bc9e74c1c92efa1724dd8504d51299fb0c73290baf6c15d297fd9f886fa370df99ba8da6fb9600
-129 1 350 \\x7842bf76d3199d3a9bce581ec69ad580a940091ee1bf11672b2fa0452a5fc89176e34937e4b5b9f829aac7d9f18c38970aa5333aff632c6c5bcba571eeb0b702
-130 1 372 \\x18064867c3e5fbca756c3642bd483bd7d6870039803d7199dfd915168a29cc28997065c40690c83a4e6aa799212eb8e37d695dcd1c0c9f0e8842c081ff003908
-131 1 88 \\xa7880625d2b5bef070881e6a73123afe429ee9c5fff4cab63fa1560ae459f98f77317211979c3388b04492e023f5e2f832586bdc84df1802edf13e3228294504
-132 1 26 \\x006fcfbd7e852c1bb568ee5d5454614de2fb642dd150c3556f829349a2000258cfa59c786f4c20a99d0b17c0f00b3528a8e6c9c6ac087ce1ccac63a6f863b506
-133 1 28 \\x04688481e7b746c38de260f2214f896224dd397ef606da78f2fe04721f47d34bfcb5a20b642dc5e5860486c1dc804a7c237e65997b13f2e4152e413d88130c09
-134 1 112 \\xdd41fd8372220d93fa8d5483de468a42b0a311e333888fce482155cf61a629205379046dfc8afed810c14b445018a00a771486daab16908acf3bb279f7245701
-135 1 254 \\x7414d9124fd06a13a5ed3d3a729bb887df7ec687493bb26523b17e0b602c958918f627c9f618fb09d04508b76e32bf22df7c1f2aa49fc888d8cd5af70216770a
-136 1 113 \\x9f2e7cc5ed4afaaf9dde2cfb11ac0ee14f01a822c05a5808a0dc3584211b80ef74b35924492551fd5e38ac4f63fb6a7135d24c026a6dff93e36ac2fc53cb100a
-137 1 134 \\x045d7381c337ffd2aa75fbd4cecf08f3feed62dce2422aeb2a6ac2775722448605bc9b3d69200167cc082699be61190588160f7c1ea2f069cf71ad0c66a6d60c
-138 1 161 \\x33006fd52ea775d076b050ce14e8a259040d85e2e3593b89cdf60fd627a0b0ca79c7855c87ceb70ab2266b7f771e8a3b6c21f9ef59b4c222273ae9bcf9147a0f
-139 1 279 \\xdd92d44e76a0b586def71967722a4d8d10ec8242bcc1ccb91f623afdf9b95f65b224b2e41dfc9634877c1097f7e12dd3b6c5f732157e2867ee8b168c8ccc5806
-140 1 307 \\x20dddff049f7f1d85be70872a86419b87a13458b2cfa9091ed7c1c7a841781e347fab0370f8c02aaccb1dde90eec5b6dbee51a9c09a98cbd632e2756c2d6f00e
-141 1 106 \\xd8a8b5b85b055472b798dda82ad4c8b60ba983a21803b54e34cf8764490f929e345b5b52eff96df0cd642ceb683da3267a53572bba2e0ce2e7de125eb8c41803
-142 1 72 \\xa6cfdc37345664e81f4e3ac298427f5b8513ed12a5a4d1f0885dc89e80d9b7eb74897e55a6519c2eb95177c3689f0581fb61ac97e5941017519b01e88bb6cb00
-143 1 284 \\x55efdf6b4366dd00b3b8c396c73450c1f8de33add869e3eb6e6aba93afda49e02313d515973c720dd2df9bae47b7d6c5550c582f639131504d191db28d2f5909
-144 1 3 \\x3d09b38da7ee7bc2a13a7595008fdcd48db2e5578f671ee46dad918ae1a2ec9d13f32353e222947c3913289d363332d4abf4b246c4178fe9507e7dc8de6a0f03
-145 1 269 \\xf04288aba3767cbe54bb7338f42c7cc879de1e71e083596717c38ab773a86e4bc45581f722fb2d4a63e02b524f9915e3f6ad41ee2ae0587fedb9839449e9e609
-146 1 335 \\x70998b851d70fe22a963a381656d6bda76e967df9a5e5f36f37f1a727b23dbe56e7d9a84fe1b9f832144e858743609348141bb66166526aa4212d88d8d0ef206
-147 1 59 \\xcf3f8f0986fbfe182eb5f08e4a312eb5fc2c68b109148d276dc4b997b009debf6a5651c73194c6792172338de0ee365dbadaccad2b900bd5574ff76bccb8ce0b
-148 1 247 \\x5912a3f3b88ebcdd6aa17158358f85e3a67868ee505b7b75f49141ef261c3193c2133368f1f518c3e04b74f1ea67b3945f199d1361a7f463f0b6f5ab70924900
-149 1 299 \\x1e2a6c45304a98d404a9ce553080c985b07846246f150e549519bf54339464f3eeabfa40e298c7b04a83825a6cfa1b3f637999024e3b59c9326d955d186de50e
-150 1 158 \\x529a91cb0142159e18c9a7f7d911e079e066db88d9fd3323d7cace001b6bb233ce6f1997c0336ad137ef87aef221226246ea1aa3665c2e32945f40850151a200
-151 1 85 \\x6f0dcedccfab752bc983a8dbbd210fed3b3263e6fe19fe113367c2c3c6a65b085e64d7083f6f807d0e1fd5852696bb3675d01e523f77be8f2e19393ed9fa6706
-152 1 305 \\xadf60edc481b7c9e8a135238395497d783d254942d525a1fb29fe353750b6c022d9610409ed7ee7fc7e30759dae8a04ce436c8d84fc92683165819872bf7fc07
-153 1 265 \\x13b7d5c93b4ae45365de1044d146e6ac64d96776d87cf6e1b63aeaed23bebb06efb47575030c63f9a233b71719d30506dc26d521250194a2eab2e2e087dac906
-154 1 283 \\x483367b1c06c94450dbabcd71f9390ed1c10996949fbe9476479e5706be267da7d931cab693d5f6cfb668b564277a90f23c705a7dcbc6d1f90ba2f8b7214160b
-155 1 63 \\xbe7d645b0b6315f1152f17d096dfd4f8b0b691dc6dc46f952be7abd4d0465da0ffbde507f3ad5edf7a092b77c2c2e4f638eb25bee66d01c6f5fcc2a6af68a200
-156 1 325 \\x23f8ece472e8961689b06d25aa9999574148213a80492312f41c0cf5bdf493fcf8ea3c579497645cf5e419c6573caac1ba73012305bc56f898cc4e73f37bd804
-157 1 45 \\x751420ffb657c7ac9ab83af244256e8063f79f480017675cc13c0c9457b25542849543e6fcbd2a8bd13884db3ff7f948819e90555766f0519b0042a0df699d05
-158 1 157 \\xb3d7246e0273bb7cc36af2d2d8e794ab1f7c9c24fd4d735b5ca6eaaf2d483b4e44d4d5dbfb319fd92260d5f01f480e7f1d0e28d8cc33895c8055842c6b6b9408
-159 1 402 \\xc25c713e61f8d5bb3c147fbca8e218d968020132beee4107a6ef79dd6a38784ce321a543039ce3e689ecb7939ca1b3de7af393b5e189cb1be1af0dbd04bd8500
-160 1 97 \\x5f0ec413fcf5711b70c1395832b985983151b302c09f21c1360ee88c6f78d2bc89b71b97e56a5218ae6b2b8f47e30b4caa468ac7ff86bbf376c55f97220ca803
-161 1 385 \\x28df0d51b30310e8a97462498c6a976f20dcbb1a7964c15e45b5e190f2d0aae16f5b0f4111aa102af542560f8a2cf144292ad69056b09757e979fd7729c8a703
-162 1 357 \\xd60923a28dd48803eb0552807bf14537d5fdc437a8e95c55cb960c4c962c0c2c594d4220dd781a44cc7ec9c87a1080583608afbd15930c2b0296dc58599fb504
-163 1 369 \\x43364e6acb4c8f0b7b59784169ffafe165c065771f2c56a545eaec6bb7b958685eaabe3668acd387be18a84abf7a11c67d3fd141c9d64ef0dda828e6e72add01
-164 1 25 \\x501bba7d67e77330bc92c133681078cc1aa840cd49a1921c288b3d05f112be8dbf220866a85a9513f31e43c8573fe2578814097f094271d32bc610bd7719a201
-165 1 69 \\x5044e9ec2039b6a3865e4b76357810eb5130d8d03f9a0a600e17aa624f58b9baefb240f4c338f88ca8e8b36ca9ccef712491e505d62b70ff34e5f456af234e0c
-166 1 375 \\x2cd80c1aac06b002213e1d74712d39d994d0b51af423098be69497dae11ffc05a3a987d427e201f08b9d6a75d004b928594b2eca52c42879035cf9ddec33b60c
-167 1 51 \\x8972b85fb4a216ce83fb6aaceb009861d6354d55aed7a0b6a80092ad219b4138f935065bde10c2b59badbe43a9457ff560f60e37c47ba326595bbc37c9e62100
-168 1 71 \\x646cc0f99068b1f6c268ff5a347ed9803cef3f28746e00a96b4d2fe6b65081ae354c48c7a8fcd0c938379586542b6658170706bb23066bdfb83f81e2b092c303
-169 1 290 \\x089bf1e96705c83a336fe9dc05f191dab74e6cd16a3a8350a3c436b07d295e86734741d182a232df4cbed8e19cfc9d024c020d9662dd0202237270e18f722d0e
-170 1 46 \\x51ed77589c5000bc7bce084d3478d3f01473729a0d0898b8b533219a09f8bd1fff5018542ec717b6fd7b9440f5c80aca5ebbfad4050eb111ad9974323fd5a50a
-171 1 349 \\x74c26dec7a895d51b2733487eda9f26f1d8a29b77f100c0392534f3f4bfe0fa59f70a8b1602ddf5588d7871855064a25e2f100eabcf48ba51b22b88bf4ff5101
-172 1 121 \\xc7ed22cd2490cf1377b76980d684b16c7eb60ae56f015a33b14d3bb18a36cd72498dbf3140932fd95f08b385486e5566e93e76d47ea84bfccd0958805f67ea0a
-173 1 317 \\xfd37614998f2aaef4507d55dc68a0b662c94a37adc4eec1837890c804994b2842093e1c7cba31245261aeed59785679e5770d1b461fcb7dcb27218a74e63ae0c
-174 1 316 \\x20a34dfa8ac55562d4a62e0f85e1bbbcf6c890a365665756341a5b57bdbded1badf783e18d537b24b6014a08cededbf87b5751a2bbfe30ea13fcc849f31c6a0d
-175 1 197 \\xa3e475171f4cb07f99db5fff635065ffea4257d85b95f7abea2b2754f739c10bd2b0b8b3e71a2d064b031ad2acad8e15f364391afb2ebd68d38fc1b7f7493102
-176 1 218 \\xb939b40a3a91d4749d2e2445437ac59878020e6d7836b80ded94d2e67f3d5d22bc3d398db119579c151a6611a5b6c1765b61a640e2687502cc7f982bb0558107
-177 1 331 \\xf37deae98ee20104ec349a0457039b02244001695896fb9188d8f1fc354d7a809b01eca7c065fcfcde80708c2ade27af5a35aa2efd341dea78f36096321f1c0b
-178 1 123 \\xd37e4a1eae0617e072ab6507837275d43b2603e1c273fd2d5e5ebc9e349d347560b9e71a6c2036d13df9ab5b789d9703924dd7272648cfe9128798b76891800e
-179 1 376 \\xb71c1f224d7488a5f723454d24ecf14bd8f5fab525425f0011b2cf2a5a1dcf94aa132a20bb67fceb050f0e18c46fd7060ea0ce2c61e946f8fb78f7005caeab00
-180 1 83 \\x746673fad78d1516e4b83f8c5db924eaa392d52c5f30c0142d72eb8f09e85d471ebda8ad48f1952ee3cc8600c1d97549e9c1a73542e9200d2fde241cb26b760e
-181 1 55 \\x0dc7662ae8d3854026513812117762610f07e3744faf0f8e28490a0b0f75f812fa24b67807886cbc4346b65cb84e8fb5a2f67603539f9e88bcb8e62c188aea03
-182 1 194 \\xdec6131ab8a4415ddbe33f109b45a88f031cee636b940af2d2981007dad8ed757b6d7844a05009a79298b684acd077d930fe7dfac02dd22d10b6d2a15ded5c0f
-183 1 297 \\x7e8250f837bad4328ecd2c53e587aff8baf0cf02d7d1603cd4466567a9ab9af02a3d75eabddcd376e167c2f1b5936823d46e316fbf42bbc54e790cf00661120d
-184 1 267 \\x49ec3795807724179f9c997186d5abdd52c6d72abb35a81ee5840877f5b338536cf4ac50944c71b0e69290085ed85eaf5d67757f34c14baf04b810fcce3a7b00
-185 1 244 \\x431fa08d8d193287e1363da77f9531596871fdf5f769b6bc8ef66edd4b4292bf558cc10d322f71bbef8b4c1aa648feabf16d0c3f61cd9a1c2c90d6e3d4f76f00
-186 1 311 \\xbd21fa8b36549d3c9a8bd59027699985d5f90f2f6c0b2bb56687e0973297a2474055e13abf868fd8f0363125374e8bd347704ba77d7b5147d640e14655c34909
-187 1 19 \\xf9a51e641ee3dd6618b184bd7ccc303ca090c2850042db8f86b7a95590f429b823378dd3fc6997ebc6d0753ba74c58b5ca6df1b5231d278c451e877c78e5d200
-188 1 114 \\xb3cd99cd483c70a7b3ed45cbfb8a767cfdc5c1ca5aca42815b9967529f25a20b3ef0a4349499d08be1af135ee2baba7dc86b867be027e8e846c99a63f2e4a806
-189 1 237 \\x77e4db48c905c54333f996d3abb67e256b34102fd323db864bd0c703fca91bd4b511ace6271d233ab86a21e7e4671ab2789d887af8ed2298d4b8000303f8a104
-190 1 7 \\x0e2c93db622c63d56e2e0f978c8b7a08557e308bcd90af211841f8b5a1c97a110a764caded31cc41b9572a4d178d30c73db397e1b6a92e6eb26c07d81556a000
-191 1 47 \\xd72f88eeeb9523353123b8b089ef1b10c049385ee62c36f8a1ba311fa1f7d18ca39fbde73b2e9769f680e85dbc66e585babed4d5fcee243462ae6888cb284106
-192 1 132 \\x18fc93fb44d51fe33fb57d6f37afcf4c503e50000e9d582f16340cd49522fd0e221bbc171fba7d79e07b734f15b8122a99c1e63d0250c3c8d88f584a9728da04
-193 1 365 \\xd5d6f931f19c2bc991fc659882c86e77b89b3cc3c02993dd14044aa431e70da54def70905b24943b1f4599df135ecc711c96915c34197bfaf7527511c758b001
-194 1 346 \\x4be4702efe989bc35b41862790e8a4ac3fb2673e436ee275b7ccbf0081851ee98f4640db875a0a883590370473f9f1b3f9685bd18e3fc3c2040cc20ef165b802
-195 1 122 \\xd0d0dfbca96091606291daae169621c2285dcfbb9cf5be3a528de4f2f145f3e1a70dbbae613b24428573f60bcd63fec8ea8ef513e22ecc15a34a144801a01d00
-196 1 342 \\x5bfc42eb05566ecac294b4bd715e263e88ac0aa3924188cc06868f73f72164e9e0e940ea58b0f62a1987d4a235c9d7503362b6d6edb22f7b3c62631a1881540a
-197 1 188 \\x8a7162706cb01ff5485fb2954104d1e6840f82295b424bab59d5eaa568036dd58e28609fd25ae59f16d9f20973560c27f4b8573c2ef39650e878d1becb50d304
-198 1 199 \\xc474534b226ffe3d7d9f9765a3898564e398f3086a1ceb0dbce46aaa95dd6ae249eefb202b26c23655f2a1639d782d139bafd73812dbfc5e31e053c405eedf0f
-199 1 322 \\xabc27e080741d1cb72910a22e1f2ce5f65dc803f2bf2ec4b69ae9c2aa888267b3d92e9bae795e79b703088e0deec2563a3fbdc506221a663671104c143f80a06
-200 1 172 \\xc13b33b27945838001d5a7b34db7e6eac81339ac5e435dce678e7e285687048e40072651b36097e8fe9e81c00a2dc66683ab42949baefccac0ebc7c59eb94409
-201 1 398 \\x30dce14b80676357c99d679651ca6ce081ed51beea9e411c12086e12b3f982ec53f90536a4e20199d83d5a306b4e1668c8bff0833c07bb0f7b3aa9db19966809
-202 1 80 \\xe1989e178c433405037fecc61bbc57e32eff31ef9b8da9e212e463e3c797d1b06a8a15a9d99825dae672de889d8311ca5152c4489eca399b17345fb99c55c507
-203 1 37 \\xcedc4d1989a81e036beebfbe97346aa0589ef1d498b227b37e796ac0397de27fbbb2adb070ccd913147d6a46e37bfec0886dd21de91e2c93d7061f4ff4532a0e
-204 1 140 \\x5da91e10c09dfd54cc2186bed27248500233721860290bcd25cbcf3ce9016bc6f6d34ddf83cc36f103c54a3cf22256b2c2747b7cfef161b165fc11392b210d02
-205 1 296 \\xd77aaafaf689e6a8762392059443b24846a5dd5e5e31a6cf76c4e51a805fdd1ae5a60f2e01251bd7e9a7739b3af9e85268b25cb01951c0f047f84a947d320f02
-206 1 379 \\x53ca59ad51654abb21e86429c733e7163d320f6435838eb84affec09f64a069ef1d4462c3475279f5ce6d0f4244c3f6b34006b8b57ff6c9caf7ce27c74820305
-207 1 144 \\x2a3367d4bedba3d7196661c36cf0bd619e20bc28705c2f779381d8e04007bf421c05c11a9e645c34059d083632ed5865ef70df8147dc2626530522c85c5d7800
-208 1 320 \\xaddb1edcb5ad88b60fbb2a88b9d99e3b918b0bfb88c140c1f5787b270ad0179aa13de0ec16f3e1880908882226ff4c9fa51625fec893f60d9137a90d983c9a08
-209 1 111 \\x7f9db72c08a7fda6fd43330840350ab2147808655b9c4b0044a4b77ac1d09fface3afa61cf267252a233aa870e0c2a0eac225ff3c9c1811fe5c338d897fac802
-210 1 354 \\x4999a0a90eea04d9bda1e79992011736c8e94d81e0f2084f2e9eda561bcb80edbb710ab97860f7615ff378b1f19521e8cabf01a87ab7287b1aa6860b3e32740c
-211 1 224 \\x77bc7bb7ec3aaca93d3ce9c359a5a9246f7bc0a9e05c53c32c6e78b4de508c2926e878273ca78646e9e113401a6a2c37355675e24708fb678363be483a8b340f
-212 1 154 \\x0e8acfb600fc551781809e2f711f92c0125833f816d97c8d0874dc24befd0bc4f8a41e3329df123dab5a3e34c5038b2f1653e0b1dfe8621e5e44566fde063307
-213 1 276 \\x18f9e109f360f98224b91cf099beb82988b155c8fdda623632db191ed446fab0fec136cbe8e0961e40df4f0d6b42c986f78e2c01c48bdf3b659f08932c5d9b03
-214 1 86 \\xbf962e03f805c600c6dcd141b053377f64edd825620c188acfad86d09831da78509117afac033f1cc437a4cc0f1a410571573127c69ebf31d4efd5c62d99c10b
-215 1 16 \\x697ed873f6f7ec506acb2565f7be08d25d07a74d64042793fe206c4d3501a5efb553f4e1c6771c21a00f61def3be4ab1965517bb80d6b5562cb33df7e4057e0a
-216 1 1 \\x9e54dd5c4af151e03e1bad68e6a33ea564461891f6363ccfc901e23765efcc005627cc17f8efe26c14f3407020fdfb2e8aaf25f4ba8f1821afba708001fd7608
-217 1 196 \\x586d9d5e91e1d649d5508e0d4e26ba933779b1bc9f0bead8ba802090b00dcd938239b720126357052c9341185acaef014eff03375bb29698c4611ddb5847690f
-218 1 168 \\x30477e4612a2c3cf8eb8f5ed5a8c42eb70ee9a7fc3fa4cdd83028271970aceb0cc5842217bc999935f5b653271385169c2705ec5d4788897ed2ffadabea16408
-219 1 124 \\x1e378930d4b8dc73877570ae50e7a8c4085e390a1ed22b0b8469cba25b39ed01c43c10f2c7be650ba18e9efa15738a3edd517fb9945a131fd49a051d8bd37905
-220 1 107 \\x91834037ff55ddecda203035ada183bc483b2c5f0174a49914f7e98bb4b8f3cfa8437d3278c0396766675deb40ad4dcecc42561957c743a61804c2fa6df3dd0a
-221 1 163 \\xd64d92ee561b42ccf65cb8f42d386152e258798f06e8a6ad1cd83969f10c6ecbd14ee579062620925197ecff6c5bc4ed414c8cc28aba9732402f92618e8f6805
-222 1 198 \\x9383cc25c1dc8c9a8a3fe57154fde2f4592932f4336b618142f7835a2133e50aa3062eac004785d0ae76a10880039c7f5a3792b8eb550618d90fcfba5cf9c10f
-223 1 181 \\xbf7335c2a87456eba9df69581ff98a319e2d66968f0911f2b13f70135b10d2f8af4703be066f76390581349ef98438eea369434c6dd8d3258250863168969407
-224 1 98 \\xee7558ef52aaa4c3564944a293c661c7f32c2fc660785c20c7df517888c8fc27a0372e4101e1cf8a64430d4b2d86c37235096592c395a70031bac9149b9dcb00
-225 1 403 \\xbb335af98bdbfb2da890cb2fef6fa56d864eccf07490fa01d849112db6734e3504b9f3c457b20acd63da0a85ac07caf9112896f690ae07931fcc60449567d103
-226 1 191 \\x405e57dfd4ccecb0d2300164f17800cee4f2d52317ebbecf36c0e8e91139158937c5b8fd5cf87abff98d802c7f06ab5a914130bc8c25560ac435041ef21eb201
-227 1 190 \\xe63bf570bb828ddc9e230026e62cf752cb6040fda77120713eb0103aaeca7034913ce2cc0af8651ce1641d5a4f844edb6debd3c540c912887eb1e7465b81880f
-228 1 200 \\x2e9bf04be20dece56ff15db59c17b663a474212cf9c1ab0808865d9f85819085d3c063c44803cd932b7ebc626e658d430ed84f927d0316c9f70bac0337823b07
-229 1 424 \\x47ac68adbfa796ef711ce7836258c62021dcd2c331dae98cca12941b502723e545e41c1c58b43280a86a8bab2a2ec1f5f2310ffb9f37b3d738344d3fc1f3d404
-230 1 137 \\x5c185a0c6c1398a3fb1c2d8469134bbad98876ac6a9aa3c472004c6f0616c8e213193903094b05b2aade0561dbe42413799825dd75e3ca2fc651227d77e9220b
-231 1 130 \\x2a1a0e116c06f151192ba0de799da060a5e3f4e5a7385f5fbcafc3ea15f7ef76fa1252abf06e02784a32732e0d670d0b46a571e353b2bf02ea7213c427946d03
-232 1 240 \\xdb93e78f8b2d1e7e34aab8f57b85de8ca5a31ffc0b1dc7502bdf8fbdf7f1a40f43897613cf8d07cfa95212cdb981a66a85235736eabdae804a54364f29e2060d
-233 1 351 \\x2af3f604b4527c242cb0ea275cb794945b74a3255aac4750cb51b5d44e405564777d3c077fac86ca5755cc76d052c3bae3830e824532a0bee2e13425202e1a07
-234 1 215 \\x948a245eba64fe70062926387e48dc59222b97439ab73b37373d7976877eef4e9697cba55dbf08deca68383f25cbdfdbff5452abc7e792a23e799b00502ea307
-235 1 62 \\xde6dbf97401272b1d3929c3b51346da7bd98aba2ac4018aef0384ccca2fb5d3d900e2361ebb9a92e61c45d748bc0143959dc574af1744c6c8f62681fe9a40304
-236 1 175 \\xe89f101ee7fbb56deb525df9e0297a3e3ccdbc14fee2980f27c3cabe6409c69c746faba1f923439275e35f24b626c893b782d82352295ada9d3dcd499125a502
-237 1 184 \\xa71336270b83c11e2279bafbf3ae1e4afa4ddb2358135a5ea197f33a613d371e79e8f75d7e71fb9d187b3849f9d0a56a1415ea71e2cb7f189bce96a5d042e809
-238 1 274 \\x63a33d655d0ddd07a5228351f4af5c327f846d782a3ce9a213b090fcf3236ab17a842528137dc48cd2a95e05b19ccfe86ffd37e2332a2adb221280856b9e950c
-239 1 278 \\x39b13a5f591e217d09f3a603448d61adbb283631c7ec0d472c996649c8443b3386716193d93987aee3851d0ef68543885bf7424b617ac3d300ac22b47678920c
-240 1 294 \\x096365f854459e158110bfc6cc568bc25ff95f7fa024ba0753fc7e930e76b04c5c05a253b3ae3fd1c7d3a42b940b9bd1f6c0c22d80ffbc1291d7461eef992708
-241 1 399 \\xad13407e6a8b5d4291675faebc3c5c5c660a60c01f452d506128af23cb02642e5199ab5d64df4447df4567c07d21a933f2cff97bfde4704735e5d8333ba4460a
-242 1 53 \\x69948beb8ca32f81e57ea0748b54780b35ada56a499a3e9259d42a3bf2367fe679b4e754586d3a5470d4225b51ebc2eab5d051ee79318ff39ec72f1886d25a0e
-243 1 253 \\x085705e2da1fce5bbb0fbf50afed1f49de9e776fbd7383fb2c2a62fb41cbf1bd460c236ca1877a37578ea33b8171f2cf4bef65d633d3334d75cb356ef148540a
-244 1 291 \\x901af0e5a2b7aa844c092bb76051d7143c65bdefe8b535badc1f391f175575b9dc173e4b1f160e2877707365a98c654d9f72e9f1e037b390cf5ef8e89e433f0a
-245 1 245 \\x035eb740d45627b0732652fcb3974f76c530d74765ec31db3ab1f42ff54fd52c82fea8f38814b64f79ca6e0bbd0b583b2e21a79e7a2d7895744f694fb7ca9c03
-246 1 387 \\xf07bb0beecf0ae994e6048d2c0d9378eef19a1d2cf1184e2a0b171bd25424bfbaca9fd0a475dc34ca24691476858e8bda89da8ccaed130d47005a89731875d02
-247 1 75 \\x138f3ffddc48e76c4995d62ed9e05db7940fb1a1fc4c32cb69316d30627fee960e2626cf5e519e08e863579bd265e75afe8ebc710ec2bbfef11ca8c5800e1904
-248 1 42 \\x7f388f6c559e8d99e99cd182c0e082141ccdf39fc16bc3d82d02fa0e1ae45e0c9432c3d7ad680e1a195440f3c39926f6cb0ff2112a5c83263d70ec2ec60a8001
-249 1 256 \\x93dda3fd9a529222e29781edd95a231e5411543267ebe6ea76c254f9d8e2b9957fba3616281fe13d813bcf3d69e1d9b9dfc304a324e942d70eeb194d0ee24c02
-250 1 287 \\xdefa2b4898eebd27c6f84dfdb94a67e564a9af901888dad9c41fffa4fd7cfce12a86dd890393b415d29d116cda9b2469164be9f32ffba93020db89b0d120d408
-251 1 421 \\xeda2e195aef155c90066591531b7663b0d6127d0d99e937eba4cca4484f61bed5b07d30b0cab923f9116e861444723fe9d5c2d1f96a86af0c5f53e20e6f72d04
-252 1 38 \\x9b9e3ef7e192a7672d70544eb7d99efe926bb9b17f1c5e11b21bebbde70117e4e8a260d2d4cdf8b136a2e9a2b120e43226cec2e8dbf0d7a746048c7434272a09
-253 1 397 \\xdd25231100ba34149492999b03c296d84c4e69352c73e2c906f546cccd9b9963d98fc4b4c6b9833715551a56fdf9525133d5b5b2a3d805482dd076d50c096c03
-254 1 264 \\xd2809fe961355fd7b89edebc07f2d1c09113e4e081569ad217ab4f4b2707286d322a4a61a98792500abc2ca625bfb8cdca19e3f2ae6119dd8587d142f644c603
-255 1 355 \\x7037e12fab0e03afd80fca132ed86b891639f4f41e578d8d509bd7deab5d5a0b89186234114a2f269f60593f5949ded908f629342934d0ef7d5e4f87de82e70e
-256 1 408 \\x44ed3aa824b047ffba46f273be25861f85cba470452f03f4cdd0d5ec81561f93e829b3ed231021d345d6b67ff6198191aecf2f79518bd17e7080f60ae831aa03
-257 1 141 \\xe94b3ec34fa564fccf98b9e8762055d470c33d48be4690ec7342d3263e5a2ad3dc1e61dac019fd999d8c444f832889bced474878cabd546ec89580667c37c809
-258 1 300 \\xb0c101769edd10cbc1b6cc48543c1fc105a124d6450683ce314d7e44a3fd021dedfdbd2b7417c54d2434786a05a9df96e066cfef684819f207dcfe4a0086110c
-259 1 312 \\xe95047edb199b959dade1d1a8b43c5243a3c0b0f24142b828fb09c7830a0bed2b997b0de2cb53e310c6d8c385db8b0c120e92b02d841a06ca2847e413bac5d05
-260 1 2 \\x12b67284f6d96c1fe1bb6c4dc7ef43e5fae024d42f8cb6d4b89f719c277f1ad792e1c075b3280c1983a45561e8a46264208570dc035aa52173ebd1770caa2205
-261 1 31 \\xb474bfb68cf3de9847df3c98632f02c89be89d23477e38409db7e1b1202ae64974131d0aef53a040185f15a1d4ed14211db87147f84053f749951ec91e83b400
-262 1 321 \\x60b42114c1adb116337d64e76ae04ae9e3a373dd3ba68d65749a92d49ac3092b3cd349684e1657f4e54bd3938e0ac5b619d5e32fe0594050ec1cd10f2ba0930f
-263 1 180 \\xd7b22c61dba5bca812bc7c030acc2575b7702480871293dd0530e8050700f070989847b11a8060fe018c4be38b23625e43f422bdce11333977f4ec94b4aa0b00
-264 1 332 \\x490eee45036bbe9cd14256a716bf0445badae4f563ea034dd812c2199a52bea2516993fc0b927ec1afac4ce12382698b08bafe831012251735da74ac255b7c01
-265 1 364 \\x171ba298445b752cb51ac638ec4a0249524ac47e82b40fd9baf446327a60791eed7475cc2b9f811ae1ac0b4e7923d678d54c45d5cb037fe3ed118cd171b17903
-266 1 242 \\x8b365dc76bfb36f91c9cceb471f84b39c82c7cb9d3f7b19c141c52138d91896ff83a06b6b39f3fa1b5a6709b4e7fa576a48f2ad146c00e99be1280958da3b701
-267 1 359 \\xc771359f003b8bfad125fcbb65bc8104478d427375b91d4b633562efa879dd0f9041a27d13e1f8b1a7aa8cac688fe8b202940ff8682c87d5e39fd94128a1b80f
-268 1 208 \\xbc82e6543901c66ee59713b8e70341c7b717089be188a258c73b03ee1bda4be53ac50a0917b9e01ae58645b0b2453539e420dd40066a7b55187c074f44cc8f05
-269 1 319 \\x4e059f9f5891e70db9f2c2616c84538b08392a1a8b34181b615f8afcf642edb764ee83e2d5a0e40543510a903eeeb88efcbdd763ae9526bb3d720b5fb90f4f09
-270 1 404 \\x2c6de755038301b01ce4849f910b5cd56914373f6a576be80a2b5c342062649056994aba6a342b00acf6676056f8f517cd440c3d10612e27d8c258b66b834b01
-271 1 108 \\x22cf37912163cdf21db0b061327cc608227edbbac22792f91d53f56e9ad6774062e7f55cfa397355382ab147f4b7f399cbd87b42643a452a1c684aafddc70002
-272 1 116 \\xa37757188368dbd8f4114f29aa46eb2aa5ada3bc92802e2be4af266ec5c28740abb5c7ff3cf4005ee52705ccfe8c10de4f6ebbd88c613e1f15e35e8817ccc90c
-273 1 298 \\x4559170a8b1b437fda7e928ed88d931bafb111fd2e21c8daab03b17648b5d500ff34293375a6d2369339b4c2ff51180c6c0e450698593ac54cdc68da02d76e04
-274 1 231 \\x62dd22a33bb461046d6f292ed0dae30d2ce9c80f73ee9f837915bc2b68a29a757ef2dc97757e5448c77ed281175e149c249976833dd11af39d12cb4873ea8504
-275 1 327 \\x6a5387778ce689c9c4b97044f107d953a0bd0bad1d006e194fe4a55aaad58f6ea2bdbc8fbc74a97a4f3b53245630d38b22f826f0830bade94c42bee0f196b40b
-276 1 221 \\x554a4d554336ae748ca58f58920c0ccf171424c01d225550fa74a713c743e9c1c8e3f25be4b61ff8fd2b946ff90e5d77ac8af0d7f4950f65cf9fc3dd866f5b09
-277 1 117 \\xf302b57097aa600c9b74076095136610d65e675dbcc91d04c6cb6bd5c6398113de893bfb6a87f54e4e78f4c289cc4d42aeeccfe8582ea89840db3a9e0d6b8206
-278 1 78 \\xa1e0ba3e9c77e3076c5a1785b8ec6325a84e27e80cad1db13a37b747bdbf71af0a16df0e7b0d092f01eee9d62d0d63f1ef270cc0aca8b5bcbcdc901aa31b0e0e
-279 1 295 \\x97ca713a0a32b3516890cfb076a04d1ab2728ed397212a903a66dedbea1a87c92f0f4e33c546392440acf82fb52b0b43650fe8985289e92e7d5e6c288015b50a
-280 1 171 \\x10a4f128ffcd8b59ba0732ea77cd7fa1225178713e096bbd00b26efe19cb35d523e7435939d75054b052d920994c5ed2f5188ed7554a1402719a64c1a8d06f02
-281 1 337 \\x49dd4a9d1db9d55243e5959a305080177f0bb739fbbe56dbd847450e59caa5da08af0797dde3d78f152b700fa31723d373733f522bd3494d095159ecc30c370c
-282 1 223 \\xa0879c3a9b69a9a3b0a5b6e9e0c2ff19f8472042e406eedc12a4b899c4033cb0c28a23e2c0516e39c678af543b34bc1c76586b4684daf14296286cc3ffceb906
-283 1 102 \\xe803b5fac2f0a1baf28c37598b769162d9a7d9b1452078209dbe66897743321b387eaaf35a9a7299e913ad00f3a5fbcdfc858bba55c16187edcfc21608e93d0e
-284 1 52 \\x8d937ef17257c7d295e6e004845cabbbc1d1f57004a27dbbd3c13671b28e4ee0af9be423e0ca8a5c60a60c0848a271442735fbbb32787ca8a52583a66333e10c
-285 1 380 \\x7dae27844bb0a216c617a86ac2ee73be7b7525dca9c7373cc8bc54be116ec605f0f0cff349e77051ec8955ab85cac0fdf53ca05a32c59969f2027caf0b65490c
-286 1 170 \\x0335596abe7b2c8d1cafba09be51ef33d73ba1580bdfcfb22ddf1a75cac3930d15d600adccb233190078d493766a5552cd15f82805828bc1530bee446b8edc03
-287 1 118 \\xc4d5895ec4cb0d011e6387abc04197088051a416e914c1d58508a28eb017dbc39788b760e2cafe662ea2351e58a7ac65dfebc0b4f6bce81390b0bccb36456e01
-288 1 49 \\x50c38d72b06e6ce52ed57d5066c3ee8066e546549113172e230973529f2595726d9f06285a8937319973b98d8313121067f876417dbe08b8e92177dccd6b7d09
-289 1 243 \\xfdbcd41707f87638c36c04107d9c485295625a6a1eed2b6e52497cd3de5cb4ef350adccdbc3b8e0edadec2074ae0097d9ae5d47a3da0ae119d33405929e7670c
-290 1 66 \\xecd4d0d75022e251cdbba3e118d75cd290d2891e5f875602723188c68d21f00f2abf3cf782c6b0d2852ccd7bcabaa01289a7e5e8595b21475c0b4ab32ea6960d
-291 1 70 \\xa7edcd554b98ec196c28b5ddd7568201c843387b8be3b177660c5288a27154db05e0abeddc97db9bc14a38c4a30e73aee2fe6a06d42afd0111e00cde728eee02
-292 1 338 \\xdd3c963c18573beb004f59b511deb05a57ffcaf0e285d0ddf67589e0177b91cadcab4232bd33d180530a995b05eaedf60b5624d8b6bb764cce243be48c714701
-293 1 56 \\xd32500080366d8b02c7dd0ce610a0447bc1c174fb1b016916f18d172b1b3d419df6eb4e155cabfe0af8f14233283da3ae84f5e7809adca4543ac1a951af19b05
-294 1 67 \\xab400e835dd517c49ff7c8528a2bf0d508b8cb15886e79335a17faa24fea6133e9754fbd05b0460d41528b6ab2316f531cc23fafb32df7680ee7a9cdab8af003
-295 1 136 \\x9acdf98a6f1145e8ee23ccb52f1718e8839f176abb02edfb9569a4ccc081ce073a6e797b4c2c444b7075a699deeaf6af9ca0ac3cc8f9e3081e0c405f0a6fe00d
-296 1 187 \\x9d6b6c17ad47c3c30c43e78e6b5fee28a92979a6a4fc2760f9300241d7addf58fa7fb3e41f231e2b80f4f909c205dc2a60bebb4d1f03150c659fac8af3df9b02
-297 1 150 \\xf036f92d2cf205c4875fc9386615c8343dbc8863d0870101294bd96c8e4ae0955bc9116e645b19a5be304c275858efd5ab7b5e45622430426bd141d875530109
-298 1 314 \\xa60cd85c67a5e0b65288e12b9312993c0b358c993d8be9c2a051c09436dc47b4d9d42d83e9e441b212652fafa784b81e02427229b7ec288fd0acc5174c9b0707
-299 1 36 \\xa3967f84650b79ac96c42fbf90446741b67ce484339762fd6315bab518c1606aa856b7320fdfbd7291d0e54a568d7939b740427dda7fe0c46ddfada21fe9130d
-300 1 173 \\x2f017b5bb13614f95cbcdf0591fdcfb5f8b83f639f42c59a26cf0bcf627595b5f53f140c521dd85bf46e30b4854a109db71998ede4ac22908901044d682a9205
-301 1 417 \\xbf79737ce6b7827e136925552115aefbc1e13b0e0c048016eaa3487fca58ab5409597dbd41b198c4a700b7586af863d2cc07a3f155fffe59f6dd0fe38887bf0b
-302 1 220 \\x97ca5a6474e3f6d6426922263f8d2fba815c9cd2148b30deca4d7e22c1cc7686890274258b7735d13ccee0ac2794a34cf1743cb3a4064b27552755f3cdcb0201
-303 1 261 \\xd3ee2ae1aaabfa2512dcee8be417a89b450d00306d809f4e586532cd241ce6a940bdfd2538bb1b17771baa5b2c2fb9747cb7912888ac0c0fefd9fb45b43ad409
-304 1 345 \\x3f80acfb75aa8fb411808a533daa9a8864db6d62f4222782c0fc5d099981969c72a9c4f188b6a6ab492296258220f4f792b6e7ebd041d3db24a1663914024d0b
-305 1 61 \\xc77418ecd69e9ef8b9f102599900c77d6c6b498d0566063e43f6eedbc417a46411edad10e190cce292bb30995e6284b66dfdab426bfd65ce13615b575dfb090d
-306 1 241 \\x7a9b456ea501fa24f505b486224151e450daf0a0b6b47a202d668d86c9d2179ba5b49c3e08d8d8aba98a5f476a9ddc78e084d8373ae48c0b1a846d5d34a7370d
-307 1 310 \\x651e29cd19aff05775c38416c86a62880239735b7f4000dc7c113df666bcfa4800bf846df9216a36721ece976b82fa87e2b78a0772f9f46ebd342fdad02e470f
-308 1 91 \\x63d2a9e4b6a6aec7f2975a86632a5affdaf4ef251bffca4c243b08642a15c9baa49b059baefa8f3bec858a4c172ccbc25cf971d5fab8309ff69dc94b2b0f9f0c
-309 1 177 \\x8b5ba50862b4170a0c6d30a1bb1fc3757b7dcc98d3fd93d1fc723761b47223655f0df7e02d146111cfc4ca36ce2368e999990e6d36ae2ce8cffbac87e80ebe05
-310 1 167 \\xfd16e67df72b4be44df8545c43c953f88c239b6a4413d690012a219c25cb5e5a47ea6f71c58c4976c45ce6ed4873cd2209c15f693bc891def5c5c4afddb48808
-311 1 420 \\x609adecc315a0cfcc5cabf8dca3facf1b200d1fc31b8b528c80f3e8ae2ae88d864ebfdb0cbbe6466c71163f847542ace1b09336e13ead0fac60f152f50d52e03
-312 1 105 \\xe65ebf8e87ca37bf4b7f45d608b14d7fef9f32efbd343e12615c4528bee63fc7c6c7c884f682f2b11ef6af1dc007ce987eb62af294cab45a293cb95ea7b3f70a
-313 1 352 \\x9f9c41c695bba100cf2fd05dff7bf687c238813a7ffd3440b7ca2b42999f650034862ddf1de77882adca98c825c248dfa86cd0c5678c208cd18e08dab3c7c20b
-314 1 128 \\xda0251ec73739460d89d691d026304f35a67ff6d6afb289cf5eb3835dbec09369fe54d08f8f38c0f30bc65409fcacd81c6b4681aff5a812c91c4bf29dbe1740f
-315 1 192 \\xd77dfa50a0a75571af82886a175fb6d5c8e011f610ccf1562a3d568d488ba2cb07002eb9525bfe59c295540607500c9fc84b8c17def13f15a8c978abf72dee00
-316 1 348 \\xc811e2682499d17a78c0fb27297b5a07be416d655691710914ce6aaba5db1d61b67e9dee98404d3a4460a0234f8f84413ed6efc83f2641c3c7168d05a99be102
-317 1 185 \\x5c1add1f81bddd233cf43eae8b8bcca7b1dd2221772a779b2dfc89c2ea582e97e95e72c2cbc92794b5e435432a4acb7b4b6d4507982377d2503e491f8b7a240f
-318 1 74 \\x92c89508ae139c772ca001fe3fb3544d1e86a9f3793ec33b7c5b73c494dfdb22f4d50042e4a9045b7f761c63fabaa98a581c4350808225999615230a9b258e04
-319 1 89 \\xdf22d7c8dd0b9a624fe657f7b8046c2350bce7eb6cead05f5ea2fb4340beb99e140c6f1cd0a439c037fedaf2d4f8809dc19a76ddab828e3a5c7465a45edaec0a
-320 1 44 \\x7a15196e69ccbf5eada9324c4320a3c8a709b3861c5cdd4c92093cfcb245b87c150820511b6d59eae4b94e6e9c9bed10860dd2d6e0b3ad69d1be6c372d7fc203
-321 1 115 \\x9cfc1eed061245e11d88ff8f8867766b697e674e7546d2c3eabd269b9c0cc57f464312e9aa3849d79fa46ea09851a018b23fa39bab6b0dde946be5155834500b
-322 1 362 \\x9baf4dd5bacc623e63348570edfa21ee6e27a4434ec2a0808b94323aaeca9ee9d621bb10a984f539516646305872e3074327276dbc9dafe7295ced13c7315e06
-323 1 386 \\x749e05fd078c303e07c8978c4772dbd3b97c71c675892b105be431f155bceade27e910898229ef40aef07b61a24496bff18a42d49bf83e1e53ce96303cedf306
-324 1 153 \\x0ca97ae21cd1d5c0d4b9418a698d5f1a24cd8085e996447ca876e35c9835b69f8c7b6d4dbf4decd5fbee84684d953c7addd33e4f9f43b3397cd3f50e7d489604
-325 1 146 \\x7e91c2890ab64d164f02776d817d191dfedbf2576014fb170e3fa4a744b330115aa045fde188301a47f6aea327ad843dc20e955e667cb6e45ad918ef819abc07
-326 1 155 \\xd259286ca797e28b0fe21d948896dfcb6b58a3f8e8678fcd4610f6470dd18969f88e1d5c6654a799deef4637d1021144fd515c16903a77fa3971018f94729f00
-327 1 246 \\x76619d0d2b5f44873bc12c021e4a9087d7744a3f26b1895206bc3f145285cb49f397166f31e5491386ca4ec2bd23709517e8757731e672c6db6729af67b82b01
-328 1 230 \\xe60aa1487b89cbbb8b65712854d5a4accc292edaa82bb55011a01d04b09204b98f28f356e6d65965fbdb1f4c6d5fc2463fb910dda7d8a748c3250a196f6b0e09
-329 1 292 \\x4ac64faf545c4634d3196807b0d18bdc8ad76a82cf797396f1c5eab3768319d71d8e2e7fbce1209947fc2fea26e3237c7311e316905cd4e873505ede48662f01
-330 1 343 \\xb963fd379ad38003b21e2d89f2826953bc9458ca0bcfaafea57a58ed5b570610f819f215b4a4d06266ae260643e4fec8af27fbbf5d01bde9b08ccf90201f980b
-331 1 340 \\xd653aa277545f9bca9533124d93015bdc87a61cfa3c6960f9d32d828f86c235d656665457f8e5d40401b55d01307e82856d915fa469f7e6d3df5c5f934670e0a
-332 1 293 \\x131b71b5dc1a977065876cc0c5837788e604867d13a05ce88bed51d49d0451bc603d788bdeb1a31021bac82a4cd8f633cb653d8a19cb978b47ca0ce3d4ac690d
-333 1 139 \\x7fe7e0478e7eb693b560b3b99982713a7ae212e9911790ebcdcecd8c23b1328fea24f1a56d3d8fd157d85fbe6285ccaf88d81838debc28c7c63bbbf6cc33fe00
-334 1 396 \\xabc40b86a78f3ddef93d33af1dc4b02185408921f2fd62a9c78322be921f01032e9b5098ea78f4a8b02fc37db5f74c97755df4db0dfa6374f9baeac13c11410b
-335 1 377 \\xba0ad7ff507d6a58510878e804535b5fbc377cc351113a07ad39b3b4c965afdefe5fbd61975f303d89100e4f5edf60b2e4b7b9c978c945997007185230c77500
-336 1 313 \\x2c839b453728b53bf46f210ac71b606dce616324c832c911ca24806868ef660fe40e9a0b7b32351e3fca26d1b90adde403f450c7250e14ec3ebf610333360f01
-337 1 228 \\x30563c5094f52e09083dd0921d26d91ba410008623f8ce7198867d45bfb209c4ae7ad3fdbffb91cd7f03a39cdbdb64cc53e4f8db0e763ec68fa73fea0ffabf06
-338 1 104 \\xb9f93e5cf45e439fcc8711cf7a4b2cf2f85b2f5146fe507f1092931c882b3c3832f0bc557c4c0cfd7459f295ee158c5d45f93e43fbb3e02df671c9dab12e3b0f
-339 1 373 \\x68dc57010c4c6c76fdda70a1794d5a7e856dfbaeb2a0cd8b4da9f26b35ec258f7e8e47d398e60857038cda1642809b659807f7e54018691e0c7ba1abac9e370f
-340 1 401 \\x3b35b61e84eb21518f5576312d983bd969a0c0614b9793cb011d5dae92a8872d8c51c4c1148f720d3513c99c5d3db18cca36beb58573bd6c8a1670b3c2f58c0a
-341 1 259 \\x5f2fc71a589393ae58414d5f680858a5befeab1bf93d1f53d090a72bbaa9c902ae858ed93d79f0c445c3a2dfd5c532c2140f4e61da18dbb6c3ea9f2bcedf010b
-342 1 414 \\x6205973ae06a0b2f65be7273db6d06b397c43ec8db294aa7e8b004d18a070429e4782d537b7eaac954ce3b5f13ccc17b994295cc01c4d48882ca3d25e335860a
-343 1 366 \\x146c35f53079e17481397c24d87cc2de88f636cb552951ccbc343da8543f2f92c6770086c8c94c778b579588e6ae7737b7b806494523c5ed194dc4bee41d7a07
-344 1 21 \\x47b1bba0320d6e5c8d125f1fcc5d573eddeae6c97a88162b9504c3e05ff14ffe15000e94b31d9e184bf5bceb19ba731a2e0f8ef837faf1154bb96c6ef218e801
-345 1 360 \\x755577a0535cde266b6414f2410aa71151cfa419ac04569f7e7018c107eb6bd035bce832a1c8446290dc1dd9e3f78667e3ee2dab99833460ab4ca08944aa490f
-346 1 326 \\x40f2cd7bc1b8b20ef06d2a93667db493e7cd97c50dbbe52070be7cdba29317797fdc674b8ee22c2f2ac135061430dc8e3a2aa1cfc7fbef80fff91ba0d8689d0b
-347 1 255 \\x37712471deb8c0ba2a22b4184f89d1a0eec133c40e40e0ed029f11dfdc8655a062a3a162ca09d7f4fd761da4bd8a4bcedf5e925c95e46fd42c5652c0118c1401
-348 1 370 \\xff932a7e0332fc2bbca102a73060fdb4389f95dee6a8b3883177551bc6ec3925c271a939c2a92de55cb2539b67009f0642787d9851d22aef6dcae63321df1a04
-349 1 131 \\x7e2c518b0146cf17d0fb322a0fbbd3a091bd872f28df4ab7e05dce6854dd8f7c628986a14d8057d6801c9312a5a17f0a121649c4a617b58905f1667bd52fc200
-350 1 257 \\xc5a4b53efcfd45b2010426fc5c65dbe807256e99ef335942290f3554421565da5e7061afe99053a14015f2a309503af1f67fc58ba9f43aa9754a2e2a0d255500
-351 1 100 \\x534131f93719c866edb6ced9f4c4303d596d50afc5a2fb2b77906207fb922c41cdae6513ab639c734a21cdb54bd8f12485f0dbfe569d02a4c32798325d0e090c
-352 1 5 \\x53fa49bc348f75b9cbf35797d0e5a4a21c05e34c5883521c71112f901015f001387208dc9163f5fe9d9bccafa9a2628c709fa9c7dc3503b0387dfbd3821e6f0f
-353 1 166 \\x35be774d57c478a18d25ffa3d1826d6fc07c084520b0caf8cc0a9e9b81c7885659899fd0e4752dba780ff6129ad9a0541c11775c4582c5dc3be5e8ae8d368404
-354 1 96 \\xcf2f708d72b1bbcf8a63141700ac07aa44ccaa44dafd34c1bd6b1d4541cb1cd4780c520dc523c07c392f11be9d49f8a54641fc0af695c44c230c8692a33c8a00
-355 1 266 \\x377bd8bea97337360d0816c3ad31d0241a8389da6be8db6387692ab856b21f7d978463ad986af4f652032353c5dbe0673817f4c1e7b26b86c010342e500d8100
-356 1 229 \\x2c60eadfabb40067714055c84fd252030d2a826594d8cab9a50f0573607ae74014931866aa15a7b03a37a9aed43cad506ddf4975c721d92df96440726ca6f903
-357 1 302 \\x267fd651f03b96f6213dbf536878a9a908b291267fab5f59d3079f82cf3c1c954f6eef29c72bca981d36300d78b209fae2e4a2ed3338d920dd7b59bbcf744e0f
-358 1 384 \\xafec49b8a9ff8e0396712666ec183c8f1d3508f1db0f00944e669300d0cf113a56a6fb36a1a478ca156aa57965650dcade6f3623e0c2c738a4591d57c55aaa06
-359 1 329 \\xd03b455d2f4f11462f815047f7261e79022bccb16ca10948315123f9c3eceedfc446989d92592f7e2597180f44e359ecf974d71c2f4c9eeb4bf5f61b76e43f04
-360 1 285 \\xc721cf5ef5a7a8bb03c37e25da437e21106c5335e49b917efaa24446982e73c78772dcb64a9997d91a733116e86d10f154da812ab1dac488fbc872034618cb01
-361 1 304 \\x1717298808d82d81a686161dfc7b83dda1629a736d36bcc1059569d399872dc7c678f8d6482ab2ec7033d34ed397d41a9784cf3409f158f17738efe154fc0700
-362 1 125 \\x2df92498647f32adaf2a511c3be60c13d58e41e525ce398d37204854aadd2383e41430136f86bd22e87f71e918629585e7528f970b1c87c66a8618277a04da03
-363 1 271 \\x0af1ddd4834f3272ab043d19d1f3f9f238b74bc57a41c176a1b4448d128c778369b45f43ec11945a81a23bfefbe2a68ed45adca9a3b625531519a429e9390a04
-364 1 73 \\x7d587cb6a2a499d19ac4c3ef159e34f8f73a53b6417b1e20069cbc3c4a8ca6757e409554dc20bdb9dd8da384f9d569419144a78952808592c56c0a45a9dfc40e
-365 1 34 \\x4be4ca5e3438e4f53cbc9926e92f2606f09bdb4e4b3ad54acac37e6a10c15c6a6acc6d91e61fdf59b52e1825cbba7b75350521642303340a787d46eba9ff2b0e
-366 1 303 \\x7ae8f197f94583f33ff7eb84097b0e70abe297337c9e605e8cb8d63875cab0b26c477db7eaedc1a498bea15659fdc0d7070fc6f483346e7666bcefb09f896802
-367 1 58 \\x4cd3e6038600485f647a1b1dc11c6b6c7656ebf543071c9fa19230f5a30dbc822d4d0d81b78ff92c9cdeb71d4a7a922d96f947269c86d3aa3d526248e096200d
-368 1 9 \\x50ddc790b607bbe4404e52dbd266967ad01a12bda6ef253ee7d87dc8f02ae0cff2149b519931c63a79ec5b0ad36245fd2b897bf41d1facd94eda003746ad5205
-369 1 205 \\xe9250cbd675affc900c380af8a4ce6f4c840aab37c645a7f97522cdf4b531fa44269dcd08d1679f00d0100d6458bafed743cdade4e487289ca49064cb5b0340f
-370 1 412 \\x0e8614b0d621555baa8ffd34590b80f03ee8f49b070e752082aac7aed96976ef55c3c5f836bd016692e232f7b1bc26722b31651da218217bb161f499abb4e80e
-371 1 35 \\x7dce37ac6b8e232aaa3349bbb728566e35a2eeaec69438b4a2e20def0ee565115ca78619b73296569ab234c4f9842fb0fd2739259e8ece182654975ccb1feb02
-372 1 65 \\x7ef60fb720ae3993490b313d1f8b1291687b992f3030649aa8adaeb550568410fc73b53d2c69b0bd44f1dcc1efc5925fcd4eb7bff983ab07274f44721ed7ac09
-373 1 40 \\xfc535394cc64089c49f12aca90c7aefe91ece3d8249a6fa1381dcfb7ab68efd41807532306df8eabe7592f2b746ceef422bc3d3d6a7673b50f5e16827fcfc30f
-374 1 202 \\xaba9a3ded2a872adb92040d3b285a9a3dfd3da04f84952070f42fc5d038b0bb8b14b999f84755034f00ee8b653da9463f5dd479b1a084b52e9598f50ec8e790a
-375 1 219 \\xc9ac0cb08aa599508d7102744929c7d8b38f944682eeb95731e316fd48a4fecb2e108da9d0c68b402bed8e597aa11b614b4cb02531f0b06f6a66d0f396e45306
-376 1 286 \\x37b5bf245a0850ed2011f48fde8db56377c0e8e0379648332b1d0d358e1b14c1007b569fe484cc7ebe78c038b53130071d9479608370d71252adf10cd9d95d02
-377 1 347 \\xf3c0e8b9f3299e1f99f210037536ef63ee795e92e5422a6f224f92ec94a4e8e43727467423d8b30ff43185ba34464554351670ee0d0a6f449b3abce5fe3fcd0a
-378 1 415 \\x57efa4597053aa8d73cf0aa8cf884e516eccd0e1f69760ac8c108285f4e16a46a0d240767d5f0e4bd1e2ca93ec07bcbbbc121fbae4ee3dd519a342be9f90860f
-379 1 358 \\xcdecdec18241b3e88adc6478cc2d93fa756c77a2e0dbfde93ca01536a4f5f170721b77e4baa4e100a107c2ca8e476eb9f55d0794321409c52b16a09af9599c01
-380 1 11 \\xa5109bca1c652e94c1936d288010f43b4383d201a6f0ea10dadb37938bbbda0caa483aaeee824e9c2a8495f84b6bfdfe106ec5e9ae122591101ddd0218941000
-381 1 333 \\x44045494c56c10da2b6c8749097ca03918af56d4d8bb5f03bba086cab5eea44f7fa69ee4f67c56c5adbe266af0aa823d5c669945d722887fe83fbca95e332807
-382 1 17 \\x524b1e628ce53016d99e3a720eb7a2223469766c15eebb0ab4de7028ad95309cba3efb0a2f51a646b9ac165a97b0607d1df87c44475238de820c3afd1b86d60f
-383 1 50 \\x4b40a8756790ba16bee322dedf80f7ca2001df5d7d35289fd1ed147d58f3b81f66b4e7040d2906e327f02e97b617245191ae86c8315632e5509b5e6be3f9b200
-384 1 138 \\x6bc95ba4bc2ead8e4859695daf5aa13d6341761fe91ccfee294911e4b8122f5d07d0a4db703a2b5ccc7387bc5ae7e3f3c9818f07ac41ee8ff156544f95d0200d
-385 1 389 \\xc59ec70300a6c77dc1ebeced282681bd370dc4c9ca62cdbfd5bdb79230a8267ba392ff10fcd3814acc8a3be5a5e489b35544dfb03bdb9f84ba2f813bdfc22803
-386 1 381 \\x65c455e2e6e7d4ad9ec37deaa0a957ae3d1a7565c6146702148b2d37035aa5b46318d214b68ed139cb55b0caccda53218947db37fad616bb68df489183e2c800
-387 1 156 \\x3f006771aadba2585114c152ec3c8b731305bb698eccaae0b969f0b102c352af42ef89b103aae48e9e5f5ac1c194227c39e7436f2529264f72e6c12c7f87c906
-388 1 64 \\x5c5c1cc5140248903898cdd337af2faacc50bed116699c54c2fe39fef7beafb308a032a018fa1bba8c6c0b12ab1389dc6fb9e71d7569c7d3392e90c656ed9303
-389 1 165 \\x8987a9aa71e2e4e30f0c8a94a0081e161dc49b79757a8db402a6f0a8b6de81f5f1253a0c707fa7fe5488ef04a54d09d32453894e1a7559d0f2c343b13041d401
-390 1 334 \\x1b8b5a717c06b372ae952c24bf4e33a58174c38f9285d24b102699f3eee430262b56e9d26dcbf363adf0440cbc48c17b4a3cb360a5994fbf4346f841ca864a0c
-391 1 235 \\xc20049f9caf8fc350963b7c325af8333f1db276395ba072539c12f42d9cc3a78981eae9985b5660bde5e930e6c90abdc70cfb5078d3af683007b42959f4cba0f
-392 1 323 \\xe634ed2f093471296b0fb539173a71f423fa8deed2abb0e04179cb394b0dcf4ffaf2e407ed6194cf03a674b6d53456ffa064d257ee1e0c80d8822552ab6d1505
-393 1 174 \\xe4654e5e44c1b63e0d69891c126277d568c1c9d9fa01a7e5206908fe15d5b74284b3b246dac5c4f4ef2bdf4514a9606ea36f9a128dc5e51150199f2d5ca6e10e
-394 1 328 \\x9daf682f5e2133c73a425ff0fe74ddc717025e0ea2bfb240a103e54db8017781782d0d0aed7e5d746bc3fbf781de16aabcef69f7158e27ef61aea31b0937d30c
-395 1 263 \\x4b46553b2e585aa95bf7ed920f3317746c29d0586c3ddde2c77ae7cd906d69585f4b24971298314ad23ac0f3350acbf4436bf315a65cc3bc06e8566b2c73ff0f
-396 1 280 \\x6da52fe8bab37d12e4cf20b5f937884659de0ccc1f8d03bca8fa8761295992f84fcead7ba3af2f94bc78be8be6140e3921ee7bc8175fbf0377878579b2c5a90b
-397 1 95 \\xc0b3a222d8982fff10850dd65b9cbf6a5e47482bf9b8a888d3b21e1978fb8c32213f2fb8fcea95ec7bd28d5b56b2a14089e30cca4128d27f2fe8ec7d87b8e608
-398 1 77 \\x717babe31e136138136936e7b430afe1512fb64c4546747528bc1dbb757bf01f4717e843e53e2107a42a2da8cd66c2573213cfbaccd84190f6777e86e9800808
-399 1 159 \\x801604227e8537a8cf5729b1796de538802d6e47a3e6a6d0f67c6b2b79bb0c969ac18d714d4efcd0925dc6eb3e77a4a8aa7e7fac2c4a0ee07e3435a522a61d00
-400 1 238 \\x53942282a7afb93920710343679972273977cdd338c28cbc994b6f96a97e88aaaab6de2458a5570d39e80b8bc6b155205ec9e3bb49ac28ed674399be5b774705
-401 1 129 \\xf7902258a1ee48322b1bb58fe5277f565f235c3adec57d99b38636b2d9faa9bdc3483fba9b4cbcf098d17d5776d9ef0cbfc88a88c0ce04ea639514d22e4fe201
-402 1 24 \\xff4e2ed6cd63149fa5dcf7ef292130bd6e0284bfa1b6384dd00744c6309491ac2d7d44875f2567086de4b532f662bae9565f37c71186ae27f43c147f6e27da0c
-403 1 367 \\x766a40cd44c2e096626b705a3f2ee6f322c59bddf309d71b0ba985c3142e679f12b5bfadb17fc53a6b54b67cdaff32071cf2ec269efdb53635496e8a6ba7df03
-404 1 423 \\x061efe5b6735c1bbc08c09fc2ad970580a4f13217243bc54b0e2596a4856d16a4ce288fe3733dd7561ba160c46c4d810d49834ec7c012fd6846ccdf91ddfaf01
-405 1 281 \\x468bedcaf282da35c1ede210e25a591d0d21b3aec1e56461046c54ef037c05810c13a085b804e69555f9f08411c0991d20cf4d832cf57b34dd580c62e5681b00
-406 1 84 \\x12d15ed952ce4675e80dbf3557d6c13b2afe9247425cac73f21de51293a8b1dfa8f9ed14b48d588b9557bdd6d211401bee01f8842d61b33792f8c50f9767a402
-407 1 160 \\xa070b469f41f84ce86953b56c3edef7660d61e64c621227478c07ae948ea87c51ba2f7530294190e33d80cfc7ed1adc60cba20bbef2acaf5c8c21ffd64504206
-408 1 206 \\xff7561f5a5b48fe8a2c5b4eed49f1d6dcde2da498ea60259d92132236b43262786c8ff25d5d3c6b1a6729c482a4e3c75b960d77f4eca0f35b18f5a6cc1ccd606
-409 1 142 \\x07e4b76e085dcba566896e0419cb1bcfbd9498ae0f387166cc6096f8b2687849736f2e36bbafdb17e5bb82df26978049678e81e88701e8b6be70cf4da6f87c05
-410 1 361 \\xa8539191af76bcbaa0b68925983e9c0bddbac8a5bab7546b7c169103e0107422a16ec73efd8b7b4d6280602bdabf7f662571ffc084fb47ed144981442ea52201
-411 1 400 \\x13ede071bfd6794641198deb452b38226f4aba36c6f0d0512d74654fb5cb0d9ff72a43a7df5a95b64e2b4ac231e6e1a36d1c5c38d07e71da7f764c588146d00e
-412 1 22 \\xc1f5d189af0f6f971e823669fd4aa226f1db0f8ef4eac28653d77866086fc8ac143dbdeb9026b2d497220e6fb51e9cdf766ee2db645608cf48c3a6a43f57e206
-413 1 383 \\x9f2ae06c53b94da92e3a114397d80580979deec5e7e27063817f14463033bf3d2434ad877aba2b34ad2167940a7b918d12e9e7a5128ee7476ac6200fadc9160c
-414 1 288 \\xd45acb849d24627cea9aee74201c14a532331076c7cde8777c9532b42c8ea20403b05baa5421db44120a2f6a4dbea111732e9fca5484c3acf03b29e4a765e506
-415 1 147 \\xfe9708ee64053e55288c7645eb1f458036cccf5ff108cec7f4f8ff610f1645d4c9e54f046f21ad203b433d427f040922e8aad087d380aff91081b658f1fa5409
-416 1 41 \\x46b259fb65d942ca90bab2723cb40363f4e11b0235d53bf4e1819db1c8242706bbab4671aadc4d42cd51c0bc6b9e0681863213e3450af2f774203f1e60ca170a
-417 1 339 \\x668f2fb3828ce20b1a8d5c395db1f07e300ebed16a243aa9e1da3cbec344c67853d919562c7ae090b8e878bf58867beac0026045319bfeb1a56545402a636803
-418 1 20 \\x12b19d4d344fbcfef68bc7ed8c8f9c73f2cc3c2a85d39b9bfa7f2ce9c92a2c62274a1f606758962b1611c1cedc866a4a6d1319a78a29ad3b39d2c61ca439ad09
-419 1 178 \\xf93971d96e98444aa698aad726e3305ebc51e420d84db54809344ffc939c54ff9ae67d234e7e1858789ca0707c35d9ced94d466979fc75d148e8ee6c346ab105
-420 1 422 \\x94459f27407c4e9918d1d7bb4e1f26ff655d37f25cef08d5cf8924c77c733494072ec3a48c8f14631fa2effda259caff5f3df2d84dabc2b9b9e8ac4e8c8d8302
-421 1 109 \\xed645ab2601cdecf0f1eb4eed9ccb77e9aea34211fde4bb95749961ca5b298b38689f0986fc56a040290a8c021ef72c7f0ec4f4c38fce12b8b02514628915e07
-422 1 289 \\xc7d8a740a638427b1d39fe51c604892c6fce90dc92ca84902aa28bde53042cfc443db3089b1cfeeaac3c9fa06c9463d37e1977a23a66a949dacb97c78bd61a02
-423 1 251 \\x454a66a959b0e9be9e0f2fbcadb984542d3b370161a61e90cd27f8ba930aa239cc633437512381198af666d630b5bfffb3fa6045952ca2ec734ade1dadb6cf05
-424 1 330 \\xbd3b10850233d31f6b7236d79aabf063818dbc5fdb1c57e48f33de206d0b55b8844f87994313298b83010708d0834cf86b4fac2ab07e6275676405ed0ecc130a
-\.
-
-
---
--- Data for Name: auditors; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.auditors (auditor_uuid, auditor_pub, auditor_name, auditor_url, is_active, last_change) FROM stdin;
-1 \\x4bb0e0f563c5303c877539c41f8abb0a7d87fd7598f9e35dc14c522d71944394 TESTKUDOS Auditor http://localhost:8083/ t 1660992754000000
-\.
-
-
---
--- Data for Name: close_requests_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.close_requests_default (close_request_serial_id, reserve_pub, close_timestamp, reserve_sig, close_val, close_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: contracts_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.contracts_default (contract_serial_id, purse_pub, pub_ckey, contract_sig, e_contract, purse_expiration) FROM stdin;
-\.
-
-
---
--- Data for Name: cs_nonce_locks_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.cs_nonce_locks_default (cs_nonce_lock_serial_id, nonce, op_hash, max_denomination_serial) FROM stdin;
-\.
-
-
---
--- Data for Name: denomination_revocations; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.denomination_revocations (denom_revocations_serial_id, denominations_serial, master_sig) FROM stdin;
-1 339 \\xf834eba8cc9598d667fb83df7968ae43126e86cce480d870733c9612934d197e1d3c8dbc8e67f11b22b462f146891b493946d449c07a4d16316d8e8e2be65a0f
-2 400 \\x8df2aa8b7db47277868d6ff3e9845812523be94cff3a9c72a25d1f528fbb84709eb609aff734c8ec5194116d5a70a6d5cf0a58e71aa06e2816b3ea5ac90bfc0a
-\.
-
-
---
--- Data for Name: denominations; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.denominations (denominations_serial, denom_pub_hash, denom_type, age_mask, denom_pub, master_sig, valid_from, expire_withdraw, expire_deposit, expire_legal, coin_val, coin_frac, fee_withdraw_val, fee_withdraw_frac, fee_deposit_val, fee_deposit_frac, fee_refresh_val, fee_refresh_frac, fee_refund_val, fee_refund_frac) FROM stdin;
-1 \\x00144207a8b0035c749b4357178f2422a51db610d3ae8743be9ad75d08c049b2f4c40568722a64437e0edce345882ea87142e6ecce072b51b1c7c286814015d9 1 0 \\x000000010000000000800003b2770e18d0aa9a76f861e5c4d565c28d6c9ec432660f48f0da6c14170c605d9b07c5ae5db891e591b230ef25ab12324d50f22d35692f6fe8a2d7a7a2e40dc196e7df5fb3b76e674a29c92651e6b3c6606ee2258f5a75a829ee9f65f2c37b58395b14abfcb761e8ccca0c1a17da885438fc8394c6378478fb5a6002af2650f96f010001 \\x54c7b45dcbaec39bafacfa78382e35d4b3c56996e595a03df5987bea2a9131c0e899048f138b928b2d8d8791779869836a8a4c1a6ac707e383a649d02b8a3600 1676709748000000 1677314548000000 1740386548000000 1834994548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-2 \\x028458e8086a02d79bce23cfd462b17f8f8cc9e0e9abc4f80d773d3ff3cd6a669520f3a67ac82cdd9bafa052502b43b0e278c0cf54016e2acdb9613ece029e3a 1 0 \\x000000010000000000800003a486d01dc9abb48af73b4fd38f2ce6d8c28dbf3777d69da956d95c993f6e41b5b2e78cc93f38faa380462ab3bdac6527898cdc41d2e1f8eb9eb1e9aa8ab8698951665fe5a53f3e35c4645aa2c1267b7c937b24859ca9cb51961fcef05144e3b21e7f2c49d1b354fb83f11bb674958ae8ee01186e328451901ed04609465fd9c7010001 \\x0c2160934ecedfc09606c02cc3d29864307d7cbff9c8ab8efc64196ea28a373cf0564ffde61b621ead129eefbdbe0ade6ee1a13a661f6ffcafa5807cbce93d0b 1673082748000000 1673687548000000 1736759548000000 1831367548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-3 \\x03749f84ca0d2449e354c25db4033f7a8ab2c32fd856908df4ad39ec415f7a92328a86f81a09fda2320fa17e9b34bbf7a5d235a8b2cfc16b9acf819f30ed27bb 1 0 \\x000000010000000000800003df14ad311462aa82b2c7f2014343bcf3c511adefb39ad58b5a9f582f1d2cf196223ad64ed38b3ed75063c349ce55f36f5afd33ed1e3e2907ebd64f9009222e1c5aee528684311bfe1fad4128472b04f1bb63d2b2f8cb58c2c528be8c2dc24e74d6a38bfa148e0faaaca852bfae0968e03b5c2e226974f7a2ff6677fb7136ca09010001 \\x7685620cede57289bdfa3afb72b970fd0b4eb1e995fdb513331b90d405603020ee2c3208f3285d80db24d881e92f3c4973c6a8184979ae8301653ec8931e6600 1682150248000000 1682755048000000 1745827048000000 1840435048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-4 \\x04183c36da8e6059f0d519c279c57724f86f938d7e4fff8357b9b621b74cdcdc69e2a048c3e1d32a240f85efe11b5879a745c56fd2b584f14d903f21880b6571 1 0 \\x000000010000000000800003baeaedcf8727f5f773c8afc606f19559eea24b155fcfd1180b0279162f77bd4d7bdf044357e39f42c1e6ededd29295a42424228437a6b043df085721367819e6205af0cc6c0e3e9ce30af1f1aadb068e489351cb43ff28672e32583eda9a2cbd3bf0b5074c759eda05d1cb4fd18e4fe2a8cfc0ef862355fe08e5a530ea4abc3b010001 \\xc8d0aee566f56bb6a892f4db3acaba4c5ffed857553baf018da0f154a4532d156cf49a0b61712eb302ac97b7f7ac1a8ac0ea438725428357f675afc84e43c900 1689404248000000 1690009048000000 1753081048000000 1847689048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-5 \\x0b20cc7129123526f4cd709f428ca95b2466d4f40db13bc5bce708a0f9117269545bd661952612bc2880460131523800381332cf43daa43dc0540a736f42c804 1 0 \\x000000010000000000800003b954a14143c6a465b512b123e3ea711dd889adc86f861cb8ecff82a307030af530683c477b09f3d1c10350e331b673ce0b432b228601a2d77bef82cd806e91af3f65d75dee928b6a34f8c08f8f18ff1539557dbba8558116d5b0746992f7b4532b352dab5477c6c24c2cf0782fc98440cf2ea33f10f8da1a82ff4b1c095cd3df010001 \\xe6eb713e15504cde4bbc7e950fbf1c1f96d3e57b3c0d2cf12b768288a642a791b255c63b113c57f27583ba8dcdc05826a27fee61ca925053a91a72e5df72b50a 1666433248000000 1667038048000000 1730110048000000 1824718048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-6 \\x0d40a7419cb3ec593ea30501855bbbf0b2dac7b06fe0a92d9c9ff13a605dde277b29db31d401e73bc7d72b553b736b972389e6f7d89008d852c1c311bdff9922 1 0 \\x000000010000000000800003a95e818a8b3cb8502ade59cdde8abe57f55b80072615fe0c17cf230e71da186690f32cf719f19c73c77bfdb1d3d9238f2575f92631b1a9d21da25216c237105345511fbea1dbc58a8fdc819dfcae59210a97e55ef6b91c5f770547f04157d79af0608449b26c2151a3bb1d0719514ba5e403779aafb144c5f03a7978b3a7ebf5010001 \\xca2d19c1ab10d5f437347b1181d2ed2e5e638aa3c278111caf8298648a6b337704ddd79f42a2da101e20cc3e618c6b871b0bba556ead33bbdc6ff6ff071ad901 1683359248000000 1683964048000000 1747036048000000 1841644048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-7 \\x0e986b3aa8d977eb969d59f1c0df0504a611487b968d3c203b790a2e7260015bf2b2c34493a5e4446ae6187bdcc977cd9c381449a596a21690c433b73dd15d13 1 0 \\x000000010000000000800003a512cdd0a8782d97849818bf481c249a84d54f3f84a3b08c0168de5946f70043d9647b8a1bf00da92bd087b408ebebb565c7102f5ec8c975d20a72a8676b2dfd1de02c7a33e40d5fb673b43fc030a3cb5ba106bfc8ead901cd5ec6c7335b4a821d97196bdd184edd4a4f3ead3e17eac80a1d24bcddd9950b0b67c31c8b4b4759010001 \\xa948ccd294ed6c59281ec758c3d6a1848ce8386b3856991625b678d436a91467e84b6d567b4e8c2a3130515fd70f51b3268953303041a96eef0dde7b6608e605 1678523248000000 1679128048000000 1742200048000000 1836808048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-8 \\x0fc0269a8876e3dd77a55ed64afadcddb1759f8d1cf776b5f8a64578400b0da3be6f30aeb8177784363ca700ee4429f7db99787b1ce9dfede7dd7aa8644ba5fd 1 0 \\x000000010000000000800003bb4241bbb1540ed3e8d98b73c4804dc3b6d9d4bd4686f48f8cf6f24fe7eaa8e9c609403e30e50fe7901ca8878400b2974532333dbda94e4554c4f24f84eec1dc71ba53195d359339bb8c7622890cc5a505abe3657c7eceed22d3c34370421244aa50e447bceea72d41c414105a7f64ed3029a9dbaca45b97d7aa0438b22ce80f010001 \\xcb1a26b39794ef688fe9a57aef30d8283f2bd8661cf551946065c713dc0c78a78eb928167449f2c4f193b896729c77ccf0867c6ea3572e11b262fded8853a109 1686986248000000 1687591048000000 1750663048000000 1845271048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-9 \\x116078711557d0f152308aaac373a2e2cdb88b2d3173d0ab763d5094ddd770b672e1d502d9494aa2bc53c562435e083af2b303e0998042598ceabdb328ed95b6 1 0 \\x000000010000000000800003c1601d121cdbfc59eb7a1ad8c422c2e928489c5a407b6c567434c9c708ac8223ab391eb15415a7e4a592e9e5b468c11cbd6bc7e96901636587e68603157620a9dfc46bf1bdbac2b6abfad40b9254b81575e2b48179aa4aa96d1b035032516df5d564161a825c38b68edbf78608e9c3992d4e358ad4d505246f0b3fafb1c07ad3010001 \\x65244acce9e1bfe5be85c27a6c25b02a330ba7dd40975f88f95a507d5a0e526350da7c4becf1484e0f859f24cb9e47267c5122250e2d8cf909605a5c703d4302 1665224248000000 1665829048000000 1728901048000000 1823509048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-10 \\x1188679bfb408bf3f364131757329206fc0c9d123f5c69483bb33a765a9896ef36056723e4afd4f64876096c13c1e51dd8cd1e6b23874f5f227927dc0c9c6542 1 0 \\x000000010000000000800003acd96b7c2488472fb96387c3428535a7e5a05b627a6390e8d3249ca2069cf833268c2ef4565c957a54e9b342ce4edf875823712c09ae703a579157fba277327ad4ee4540445d949f1f0792582de37a37f7b92283e85bcdce6df3f0ae4fc5830c75af6596a67ba11855df09dfbcc50fd42154799064620f627cebaec8e15a79bd010001 \\x4d457ae8b6f6997bb42243b294bd3361e7e428f3086bbf3a6a9f43ef7925d7eef2a66c98db8128c33a2fbcb4203678d438f73a0c2163430818a8fc788ac31c07 1690613248000000 1691218048000000 1754290048000000 1848898048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-11 \\x12f4b03351dad64cc386efd23a4bc33f8e9813e81f1b73a5dfdc4a63e469d914429500be6a4383036466f3246f194d95d538b2412474b9181db6aa223dbde897 1 0 \\x000000010000000000800003d439ff7eafa72560c43401be81ee806e66349c455dcb0808632d259ac3c545b94be2be79587cc6fc930fa42900480e09f96c233ef3a6f95202d76b6208205e1e5224ddc40e7e99bf823eb62ad8a9023593b6adddbc251a8358f622e10893e0e0b53d90ddd006cefb199c5ab7e65f71b0756d9d5edf543a11de56e3d08475fdb9010001 \\x5490883c6aeb45c1ddcb2faab951b94cca8ec5aae6717ad4a2969599749bb362923f2be31a471bc9b1f3961143d8c9fb4d630b698f329b9ad37a4e7f11054b00 1664015248000000 1664620048000000 1727692048000000 1822300048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-12 \\x12b0a971334ed10053e5c22f835a3dff0f3cf02d63509e89a1e86f181e2e6719c14c4b5294201d354a15c65fb5ac626539caee4a29b94f73ccc5ef2e39ead9a9 1 0 \\x000000010000000000800003cdab3b418f3e2aff9781f4dce9f64dc9fc774b0935b3c71ccc4873b22fc73c94dbfd8d8c02463d69c828ef09d51d0170ae817506f43861d95a57cc7b69415ecfd86e7ac3cd4e38b5dda17505e9909385889fb8e53c17a8255a380676840fe96bc3e1ba95afb14ba630494385cea7bc6abe6e0f7814dae3a09e794e054aa64c8b010001 \\x429703a83cb609029696585efc7ea16545a53fce3ae847abab5015ed49b9bbb58c42403b2bbcd2e485d92fdd747a8935c122f66af69d2c5c0455be7ae4f81405 1692426748000000 1693031548000000 1756103548000000 1850711548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-13 \\x180c95f92194bd537b7c33640579409b40a595764510b09a2fe4067075f325cf4837039020fba79436720a198525e4e4ddc574d380f3c8048054cd9c5fc0fb8c 1 0 \\x000000010000000000800003bc4e09636cd4abeda2060fd4d375d90ddaa43580231d69e47f14c7b790d77390486035471708bccbdc65b043ab162189916e746d1fd0d4a2f55cce9d5fc652ada83983815ef25e1654db7e53d8b66752c37fe3af2ea896a55886c11334bae9539ac4e8ff4d54144d7835fe7155a91effceedba18e411cf3f6e794dbb695af5b3010001 \\xc326709566d0c98c969728e484800eb327db58a9a34aa0123c10a4f18213ad1b1d716b868c00892368fa791ec54c221dae01fc9b5d0dc44959828c6fd320430d 1683359248000000 1683964048000000 1747036048000000 1841644048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-14 \\x181cbcbb8884c7e8abaf559472d112ee861e3fe9980a7742ef56c6840cad3cbe75cee7bba4cdfc49a15ad025c7eef8c3fe8d222840a23b8fac9935d763718bcb 1 0 \\x000000010000000000800003d7e8ed16169168d1b26c3197bc42797133febdd7a9dcedf1887c4108e83b2cb2443a843136df049cdae10cd7fa185c13444b186c59c226562b3c68f008232420aa2f488f078b8e6e4d45dc2b727bbc0b6829aff8bd9375d9d621d714a32a2b935a453f2a140ea0cf527c192033ee398e23864a09df3d01d0a52b56269c6cc723010001 \\xf2cf6640c319f5f412184718459e901569ed01e2afcecb88e9bab826f503d16303dc9d88ea41b882d79de1f202bcf81abe8624e4f7524e5652399cc04b31e202 1686381748000000 1686986548000000 1750058548000000 1844666548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-15 \\x1b90ad0babf50db3de9d3eadd4a33c21e706070abd16556024ee5e816ed7be6790176cbfe0075b75fad8d93e158e43790c54ee6ca46961488de4974096c51ea2 1 0 \\x0000000100000000008000039929986a25078eaae92cd831f3cec5964ad71f46d336883faff1310d17bc72a65115163a3b92436184471a66d334282e44408bbe0b349613f47b28f52f13e91fc45fe55635e9dc0c5f20e104b3f7425fcb4f1ef44bb558f81217d462ee3504dd546096e5297aa6d730316e928cf0afcdf23ae970c80b33889b90d55e03a72005010001 \\xee955cb5af7ec89a1751997260b6376d7f1ae60cc61911fdd71d69de0fbf18a0ddca82a5c27031fef7c47f9e23ae21b1b29ce4f066acfcd92e88b2a1b8668a00 1691217748000000 1691822548000000 1754894548000000 1849502548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-16 \\x1eb05b94d4e13d7f384846450f0213b313cb7c550ae43086d6516a1c20baf59b85fb6fcb309216e77f8b879557df408520f77b206e7e48d66ffc4fec3566d58d 1 0 \\x000000010000000000800003cfe4e1c85850b276ac4f49a136e4cce5d872454908ddcec2a740de58c61322ba8f9f75fc133f88bfd779eb4e17a8268dcba2b74b73773ae8043df92ead2530145fc723e472e15e7e3ca8fcf89c0f65802a6776e0d7ad4604f1512a49e875b1319d4c67f2a613f341a2037f6144deaf4e6c3b039eacd2b1dbece64f9db9025719010001 \\x5834b42ca47eae033720165a51c0d17fb19afc1bd5babab5cf1d1975fa0bddd499aa6dfc25d7c531800b180d989ab6c322780a93a8c7078376899c1851b53d05 1676709748000000 1677314548000000 1740386548000000 1834994548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-17 \\x212853283015b22bddd97f867c51f8bbb9b2195c488766c28a584f4b035a79c2377cc17d5c7a99c5c5c287dbe84aa4d41cb6634f1fe86ada4784e70c53d2b827 1 0 \\x000000010000000000800003ff4764279e3abd8efb77023df0af29f954972db89948b59937cc3bd5e83ade744793e8a58d6230b91fddf35c1516f107c43544bf041ef24de0e8875b156801d714eacab9a4fdab951fa5c279fa4607a9f4cc458ac3ac683b32a29bbfea40dfb5d2a8a374c9a8cfb26bd5a7340a55fbbee82bc962ee2f574d23f5eec985ed7313010001 \\x319bc1dcca0fd59acb62420cc624741e4c068acf36ff0e080393cefb261bd3f41c40e190a0c5afeca7e80bd24f317bcf0eea327fde8962c8a54fc13232897204 1664015248000000 1664620048000000 1727692048000000 1822300048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-18 \\x23802fd88409beed953640591df661538c3f99eaadba96a2d008b08aa127cbaba937cbee69d000a8140ab41847102026e848c29474b7b6ce00533c9e00b0db59 1 0 \\x000000010000000000800003b36e5b7b796cca4c13bb308a4891ed4f1e8b75cc305b57ea84ffe632c621a4cec3183994761f8eb51fdc35307b8058f94db4b6eef19b6b295960603a099401df9d07ef6f6d92f99f3259086faf012fcfe935742ad1369d66d6851ba5c67e24aea77656786e60065882370f3a958933e204705443586db12b6db5210d054199b7010001 \\xc1fb1e33e1ceab95200456bf5468b8f40ac5c0cb0c3e22264ec27e19ebed90d4c8e2d38bc9076293f0e734259e763d16e8bbd282e7b75b2704375de1bee79e0e 1686381748000000 1686986548000000 1750058548000000 1844666548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-19 \\x25d47a558e05bbaf79df24e76cc490cffe4320b45d963196871ca0f9c2ef9b9973bb94aeecbce5afc37fd4ca29b0dfed5193b3787631179fb2b7dfa8b45a7fd3 1 0 \\x000000010000000000800003d11b2af43f65a534cbfad22696e93cd9fec594a431cdf148f51963d45972e74ef769f988c99d7385d99d709fcc8e9fdac83b3a685e55856cb03b4e858deabc82d74558beef1310a6ac96734f86c75e17875a8feef98b7168308139e07bd43be8187a2a502c914735eae964fff313f21b9ce252e5ed62117bf000da0cf3010149010001 \\xce505aa9eab970e85262ab53ea9a6522ccbdacea194aa6702a5ba261219d3df4e76f6e1cbcd572844e726f7d3edc407c83a8e0d67492ec751c5eccd502080003 1678523248000000 1679128048000000 1742200048000000 1836808048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-20 \\x2bf8c55e328086c3e1ddb6cc5f366802f41600b8c18112ff10e926e6fa22643e55327b346e3ec28804215236dad5bf7c3f32737e156bfa1e72e8e46b297f4cbf 1 0 \\x000000010000000000800003e0014f10bb86be1ba0115850baa1cfee04c14908fd8627994d797212d95846557d5091eebbd27e941e57b158bc056145f6a8259cf6f1e18d46b875b25ec61c99066bb01d8c77d3d7a7a097e2d72d584e98dd075340abfc1a64dd963b3130bb2d5be0276d0d72b5e7ad0970aedd6119117ca37b0fc9ecd02ed04eb374d7d85a49010001 \\xaecdb826106a79419e31be5940a0cbec19502b526ad28a67b5c50aa488ba78deb34fe9765324cf55c1d199fff4ee81b89cc6ac0725cecf291b6f6519d702e30d 1660992748000000 1661597548000000 1724669548000000 1819277548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-21 \\x2c787d0e72a0e5426897b87a62f904c99f93f0299172b39e130e11bd79f0edd1d0771ee9d399e52cc0d4c0080e9d851406363b5c48fbf17a93ca9c7d1d32a5ef 1 0 \\x000000010000000000800003b9b6bda8c05f70f060b7143dd562b2e24ad2180f5584d1204ed5e3e733f6a21156e3dfa702bde84090578cac7be2c073554277235108b368022b05accab463488198ff5e57bcd205900b13dbcf745b1143817787a3a98a32a2638a5be3e5fbb0d22d2a9f58b8229e0d9ba35e43d9f370124d0e42a15fe16e72dbabbda124a61f010001 \\xddc0ea5c03068c75d0bc18d9e0ce9ac68240d6d86204ad603a30292b77888e5e8dc01030cd6be456fab140724d50587d6119554934ffd1473de8693830489906 1667037748000000 1667642548000000 1730714548000000 1825322548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-22 \\x2dc89b8c86f739fde54f8c7cc09fa590cebee5ef746a9cc357c7f9875ec411b299332413fc95d077ffd472614750b5941608fef54866c8e1313779f55c8e4b40 1 0 \\x000000010000000000800003b32fc173180358b348b6e0e21fb9a21368447a41b60a3167c1b18fbd8039ccb2077a6756e909bbc69d4d650ecae33d57dd5a4253c19306e604f08bcef6ca69a20c37121bb4c1a88812c69db826fa864251655c84736c56da6d43f88ca63a7159e0e3598c3c6016291f6de5463c98b9016e5d31adc22975dcefd343ff1e07a88b010001 \\xbf98c7576be5185d5f8872f4199b84c5c801b258cfa5170566a897544fa965c51304f9432c44ea69b44d7395db039d0e35c5764c4e0ad9f4041070cdd436fd07 1661597248000000 1662202048000000 1725274048000000 1819882048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-23 \\x2d0075a5c104fe77251f95372aed580942bf6a0328039b4f6c5b42ddcd908a3497725eafd78b91f2ef7520eafcb299daa7d617dd47167cb526b08755c55fcec9 1 0 \\x0000000100000000008000039037d9f8506a27c028ad368036bfa3a7db12013cdcb1f9a139512776aa3dff00bd12e4621c3a16e3f4cebe5807602da8e5de2af3e48ad97d74282e7f13b507158cc105b23689927450deb5090b14469a338aa794dc89d62404809f21a679552bb6cf69426162e3602770a05ccfee8de5c336971c912ddf7c3b88927a8e82f859010001 \\x3835a432276bce30416c7aabb3f82a7f152667942cf686162b2819678a80edd2ec278a9fed5d46e84c4eb8fb515db350e56893294de9d82359183c269f3d5307 1691822248000000 1692427048000000 1755499048000000 1850107048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-24 \\x2f08753979a5789c9b3430eda8fbcb036f356a5fe6ab9591bc6f17c64d022912d1df5059387f3cc3a17316729ba177093bf0d33e78cf2494a95d2fd5168c6935 1 0 \\x000000010000000000800003dbecb6db4783e54860a09170b79584632fe1bb8269ac52a76a7c359989c2ee23205679158e6d3e1d7ca0e55e783c2119e294b2d57d6ed520710568702e9cb7cc040a3f1b41c452c5c34aff84ca43456a3dc82ac628b085b8beca10394441c9abee684391039644efbf16d8c263604783c898d0b6630cbd0d667fd79505fca31d010001 \\x5b5e86e3b1da6af7a9de983b8ff050ca5a362edeac4f2bd425de09f9e4e98111a5273354084cec63fdd5737bc7825325b95d1f71d8d69d79ed5aeb46fb1d840b 1662201748000000 1662806548000000 1725878548000000 1820486548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-25 \\x3194c57f6a677e6bfba48d101ec683bdd6acb58bd3d1fe0fb0da17ae64c9241dd60e87702a0e1c3ccac8a2e26e79c8035279a15c75c5a43824715bda7c0f93e0 1 0 \\x000000010000000000800003d7ed24600131a8ece4a3e84642b336dbc10c86245f5c0076212a4f8cf019c7467607b1f4bdfd6647d5efe29c2ee14c4163f5ac9abd92f1479cd0641d932fcdaa72ff6452fd35d087213e7c73e23528fd859b207b6e21617af42fb53d5e4bf4c3475e0b1c5487e419b35723478018ada3796bf06df13cafe43f074c98c0dcd561010001 \\x599f468d180b43163aedd0136fd41a84bdb5f311cd0f07345896f96b350e851df9f7562798d8096c0bca0209065a2ee4c31e061811370012814afffff5904e0b 1680336748000000 1680941548000000 1744013548000000 1838621548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-26 \\x35c8f812f73f90511ceea2978b5455e24c8fff72e0bca2f8a436e965a9e0dd1440fe51977d0f3df2da3384d54ff401c75deb8ab0f6c5b6cba152d5c128431ce4 1 0 \\x000000010000000000800003ea61b56af2da2883ae3efcc1fa8b14bb95c4348c2bea98f95eb4d6d2ffaedf666d9eca2e20e8a64b0485a852374424ec77d12b25b660dacaed2feb4c93b1fc2603123a5561317ed39aa3b4b5d334215709d02890f7051dd5d2d4a9a8c19ffde30ca2f255f266764164991c2c684fb6c419f9c5858254045adfbfa5b3af2312af010001 \\x7e0d5a51c54397b0ae3a0528f591f527f5e3aeae2785a6ade486207b64cd1fb93b4e07dee499b08c2c75dde757c7defc35102b512f4988273b5536c0ee0ba207 1682754748000000 1683359548000000 1746431548000000 1841039548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-27 \\x352025623472e88faaaa4c7640142918d918bb21b2b6aad5c77843f3b2a4bb621fb9bcb5ffb021ccd126cd1bd8af5acfa42da069893c35e24c2504314b501d82 1 0 \\x000000010000000000800003b7e0894bf460e5e0851ff617c193ac89b38b13694068ba93d3f1f5c174b853ecc38c644292da7be5fddb7b6af9c7744fbc2c3c933c34af85da52f33290525f2a528a3555f6913099e253cf0f72f7fab4aba1e2ce01894d692310164425705ad97bc85fe09a814e0013b78442eabf601a66043ee62304e3f838db28d5b3ce6943010001 \\x8006ad2f2de770cf7389b559cece451aa581c9afb9815c8d4c4fa6090d628664e0d1713a693a3135432e97387a30a51c09d2eff9806fb5b613ff0faffafae800 1685172748000000 1685777548000000 1748849548000000 1843457548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-28 \\x362c9e3e05591e3cd39fc42f6f394a22222d7714829d0984cceb942f6db9c44f217fb98e81aae0455d5ce0d28fcf00673ac50c0e86caa753253118f17d155e0a 1 0 \\x000000010000000000800003d745d2d511aadbded2babead751bba92fe46aaa130e9c82cd37254b3f9c0f769844ef8404b589ab98d960a67338864feb8f63697f2811d2ff5f5c99d90c491f37faaecc1bad2077125c3fcbd0f3edccb59665be9f61a1d400f0d57b8ec7818bd04ccb084805a35527829d09b81999b7ed01729dc0c1edcd799fd0a30f139ab31010001 \\x677341935c26085a05745b986c1fcce31569cdf69e0abb572dff41394148bbebfaaeca7d43b7dfe156ae1768c700dd8b351fd61497ffd4517acf7a350e04ba00 1682754748000000 1683359548000000 1746431548000000 1841039548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-29 \\x388453bda1b585fd20d85bf37c7537a9a59030b52a4cb15456a6fa619686279e514989c114fb3d8eabe260986413d2de6a2142142878874ab31e65d00d697d6f 1 0 \\x000000010000000000800003a47347739adcd3c09bdbcc64ec0d0d8757dfc3477f8a654f37739fca8d7789f5bcd8f7f9085bb4442dd96d51686f9614251e9bc4fbeaa07f6f82e085c59099397e24470b21b6a8acaf5d5b50b89039a8140445cdabc7a7d63dae206bdfab96a48fcfc93954f39dfc88141508b5fd9cf499f869019e83f072b4ab2810cad9d161010001 \\x2e5c4e9f9c38e356ea04b8a0b1b724d549c30885d89e6fc59c3209eaef31f242f93f08f85693f5576b85d54c49e648a909b4a7782fe3eca528f4434717d5f800 1691217748000000 1691822548000000 1754894548000000 1849502548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-30 \\x3e70eecfb5cf341793300c0260027a25ee7bd4f3c3e076170e3b4f4f09a34a929218f0b4fced276be389aa9981eff93d3c99f8e68e1256cc7bd290ec740bb0ac 1 0 \\x000000010000000000800003b6074d3809c1e0631e3c5cd8e59578591f00fc90839f4f69ce1c988d40cc371519bb148524d81525b4081544a97c792d886ead927e6d8e8ff4ae3f4ee4d3148eff40d4ae19fd9f3ce1ede17d0b4297be671d0fb59fffb4677bff7e2a9cb54d516c188a6c2b5ba8ecd2f218de7d8fd75c7a8da16cdd7f8dc60b9b4eb1b8a33973010001 \\xe969e617b31af5e03e39dff54ee8367ae534d4cde77d85bb0c243fe37c0c074348f7905057d6e649af2e94359a1564475690ba34e02b708dc70dcd57b87aeb0e 1688799748000000 1689404548000000 1752476548000000 1847084548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-31 \\x413cf3b9b2160884c737832d97a320bf7e6889ce38302c7dbc8b48297b954cccd5a9f8916e7d963e1880fee41177efd6dde04858428a716875511a179512a42b 1 0 \\x000000010000000000800003dc5574b8dae070f59d248dc04c91624dde5a7f31e28915d55ca7decccbc2b0acb7d62663229d3abc53201d8733e02653836c6d0e2b88602628732f49ce8747bc9a871d755715fcdf17f268873ccfbbe753daceb6089de9c3f762ba47ebd66203c85f1e03cce09449565dc2dc87e3016c3aac6bf712020b2b2008bc527479da51010001 \\xcd4f7bccef99b3f922c6b57fd61e3d40def44107fa3715820828e24439ef7600a74d6b1a60c0b1dce2a4fe5063cf67efba6de5ce8855c626408c34d80cd83e0b 1673082748000000 1673687548000000 1736759548000000 1831367548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-32 \\x4230ea0048fa31ebc6a07a2c74c6f2c8cd64565678642267069074c51e650c12957b226ad4afb622fe207f5c17e6456877c9c6f497d3e9f6de7c35a1c986c4f7 1 0 \\x000000010000000000800003bf9d6787d6e33c1589ff36565d4abda10c064b2969f1ee6b8d553dcf9acb1c6db65a9ecc3c615cc3cf019da30c35859c78e7f22d0d27746d803b90447eb76e9977bbc3ce79fa8237c011a5e2fb7c624f094d09e18984139ca7a566e24e7b3d534ffb9426045a603a20bdfb7ae2191ca4300900985bafeb95a2c6db6a22bd2d2b010001 \\xf856cf2733630db3d6469db94d6164f5d2eba1d073c7d4bf27db925411da10fc6f637654c0fffd1d34c150ed10bb1f5f38c48be3eae46d38aa235ac2095c3402 1692426748000000 1693031548000000 1756103548000000 1850711548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-33 \\x448897ae21deb4384a2e362fac2e37a57ac7dec3caec9a014af865979490d9d552bd61e1925eb9150423a59d0af142072c2de727705a4749c74f1f17a5e247b6 1 0 \\x000000010000000000800003b8c01d2a7df6d3ce17ae41122fb007d748189985dc7ac910a124ca19e32b9182bfda23fa2fff1dff7c915072471196d1d0c91344c754336977b8c38ac874f8bd67ef349961738488f54d0b591447b432f4f7b778b56973150516ea1b5dffa9620f60c4f76d0e4f4f72451c0bcaf201987d0512a04c6bc5fcca1211b650bb8629010001 \\xc929d62a3861df8384130737c41f580657c7889210cda46fcacfba2e7efe5deab78ead9dfca233395415d4bea30f618db20d91d87046ee83adb9b60a6f3dcb09 1689404248000000 1690009048000000 1753081048000000 1847689048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-34 \\x44f40d99abb4bc241b82ca6148ac67d64265fa9cf6965ac66ecbfc822a0ee1ed9bdd22f14a17fffde301904daf8d8f71c54e543ed2a345244736c5e78b3bcdfb 1 0 \\x000000010000000000800003c07568f599e081b884ae080215164c55f6329421f68ffc5560e57dd66af164c4405b06f438daa90dbed12ec02a65735ecbfe7481d4c168d85e77f9195fdfdd6622f3485d6fd7954cde1a81122b18a0e7651b8cb9893a28ba4823e739e799bab85f6572c281535953cefe70fe10ea941af4eb626939660cd4c23de199a7f8e59f010001 \\x76a6275ee319232001b2be3733e548a69b4c55ebcdbd5a43a319a0485a698865ba7046c2f7793014a1a85052a94369fecbd9ff84a14de525835117aaee93800c 1665224248000000 1665829048000000 1728901048000000 1823509048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-35 \\x47b8596b7db5f392a60ef8eea1f17b9b4d43ad10c38b1c6a6737e83ffa36065cceff4de37f7b8848fa4045cbfcb25e061dfbdc85ebd49c29b11101bfd0a1bb83 1 0 \\x000000010000000000800003ebe7c53ca70c37eff78d730dad3bc6aa6f22071d34caf7efc2ddecca9543a710b0a055d97d82e8863eb9d6250620b4cac84f3998be8557111894a19eb170bcbd0523806e7b024ad77bc9f914593a12065093a707bcd233b9e740f3fad4720f47484a650c5b414f4806b615d6c2177549a393eb110edb35d0e51b92b7ef2d6f2d010001 \\xd83add6bd786d11a1640d70dd3ea4981a094674555955f4b723627d0513e9c16022034715c28863819646fdf1823d4e709b7b7a92e185ced436b598db0248e0b 1664619748000000 1665224548000000 1728296548000000 1822904548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-36 \\x48d0492da0af15eab6d2d3c9692f9ce4d19d8502ae34fe5ae165f64b5827d6d15142f4752bf91b697ca5891b3dca3f2ff4500f0cf9f8883880f15432b5a2d615 1 0 \\x000000010000000000800003b3c3d17f0691648e4c41c4dcd57b1b8b09e93e860b4f179a770a7cfc071125ea62305a7488548aaa1e39f5272308ca268de1d30d678b1521739f05cf54c764a8f96fda042c3c40b2789a076679e84a0c6be23ebb50085f22b06cbd1a5d303c214453f275cb3ae4f70d5fb6ff358d1f99922143a49ad106aebde5ddf00bc789eb010001 \\x8119a701489fbe0bd20a67e060cd184a5afbf7ca7903d004e034b694ad9f46d6ed4561a843596b058ce0f6d7823ec6faa2f0094d2f9ae82d9533b797483fa306 1670060248000000 1670665048000000 1733737048000000 1828345048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-37 \\x488432e1719db7c1cebe97aae993b26b8b9e8cddae538714632bd5311cceaa6b7092e872ac9718ce7cec9670cefa2561a7795677e0cdde0c3763c95869d58ecc 1 0 \\x000000010000000000800003a90eb0613458466aa5426f464af0ca451b6d746c2891d9bf22f20ec2f74755c4e5814dfc93f19503e14ee648ab993cbe698c59849a065451b4e93b8f9b074b6a17951df9d9530ba4789ae0ff51b310487c8c440d4dbe539c63b45d64ec8d1dbff6d60d8f03c60c94a6d5c9fee8ede72d66fc35ca2c75aa24bf2441b33f0cb94b010001 \\xfdcf80bc5a58a2162234ca070c78a426ead6e068a1a9fa4924e6b28e745d325a44143f43e2db7b06aac2b84816b5ef0267125b5619907781aebd4e8818054f0e 1677314248000000 1677919048000000 1740991048000000 1835599048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-38 \\x4a043f1aa80f8311b03fcc1d6c7996fc0ceefae4d33e8eafc2e256c77ebac9acd945b59119c99dedcee6c66080e0dabee0eba778435698c876933fb64cc88492 1 0 \\x000000010000000000800003c81d8b4619e25b172b941511e250136d16a13c9f0e298367f13d20ef0af73f1a3b8aeeb971e7b29521ad0f06df1512bd4386943d0f964edd96644c86f8c85151fb66d91ed259fff064f2899031a8e465f739ed04d0134dd2cb6fc755cba47ed314537f556d7c58b2d4b9c3e489f6eb979b776e9ac7867fb777b5ffcc0ce6a27b010001 \\xdf3ae0998ef4f1b9bfee22b06347412a12f94d7525ab08ef50338af8680894659869835ffa8a4925806bdbf97efda845b433d56ec9efce6f5c24438c22272d0f 1673687248000000 1674292048000000 1737364048000000 1831972048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-39 \\x4d84e1ca5cecb873f29e79c9360608b15827a7abd41e45989be9736c2fc11540b56daf793c10edf4e7e879784bbcbc94ab1404c67f57df6d3afe4bb927a0c168 1 0 \\x000000010000000000800003b391697f0bd7cd9e30462980975522cc33d789ea6c3aa5daf021c11d1f5257d1fe8baaecb1f74e21ebacc01c005653918472906d6136081374ff439030b3227c2952a66139a42acde8b9599f6efe88e6a1d6320656bc929b37de3d2578279152bef91d4dcbc38b8463f5d168a2fa6f3d66bc2620a3f0754d39bf16ab0bebfa0b010001 \\xa5b37c6320ee27ae1ab124ffc1e344612dcd843c60757ce7d80b5c2b9ed4377dc52b7ed18977c67486054cd29560e086826e2b893f636df4e59fc0aec4a78404 1689404248000000 1690009048000000 1753081048000000 1847689048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-40 \\x53fc0464cebc677f05ddc65c10e22300679d4938c564336795f7c6711ee43e11d51f82701b6375cbb0c893b4875d492fc6e23989a63da5d3fdbee35ad2adf892 1 0 \\x000000010000000000800003be3d6bc88d7c7dad61d98422531b09420ae53e4cde6d345c8d5172697c1f8ccc50138d618429b7cc19463e4fdd9338a94a5281362f6c5717a8f414f256d03598e3bf23b05b8e0a528c958c8217cc4fcaf6d2ebeb487e3208d6767e52c48af05bf58158d3cf5f101d58dc4defbb63b1a66013ae81336dd13bbffe691b2b0a8f67010001 \\xcacc4b69c0485aa39b3ab5ccb4e7e200b7cf912bc2088a49749851684316fde4f78ea2f6093dc9f4882f39398a443204a9873f82f0711398057d951cbbfe5a06 1664619748000000 1665224548000000 1728296548000000 1822904548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-41 \\x5334a4d20890b739e646278a5ae55140d9344aeae6f9dd0e56550721d622f51a5c608db16216c9bf7290ca27c81d26feec474c8c9acffebd298e9d0d9e46487f 1 0 \\x000000010000000000800003bc5ff4df467d0ee8770bcf42aeecca27508f8c43fa19ed15022de10dc049411d893e9f3487ed0f16c3135a783ab1a3e88cb447ae433211744d34bada52d5e6e42f1220ba4b65ba608fb9ae55182a1df4b63141803397907ac959513146c0afb54615a5b687a6ac4e5cba1f203198f07ed28a8c0add1a9fe5a9b1c14a857b1023010001 \\x1bc0731154b01c12cb67d503f10ab060c063ea5285ccf62ff5a40f3d27177e99951417c83de47ad52cc9ddfb3ba3cecb60f5dfae1fbfe580d43776ee92c7a400 1661597248000000 1662202048000000 1725274048000000 1819882048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-42 \\x5998ecdeacf12f1beb895768d2da4e6f0b28bd38fd69d4c251122982ed125748941668b17720dc32bea88ee4a2cc847012c7da325c40309892d28cc4d3e750f0 1 0 \\x000000010000000000800003a7ce8e9776c3047c00cf35cf9626f9da617f17a2c6ec1914853a06565f1215f1f110cb9dec434c7e8c2d82f47f1dac40371de4e706db36fce85f824b6dd1b5a0fc8e12626fc9cdf4860a30447711d786c8c1d39d52cdae1a65361eb102317d266ce272f83ed96b416725db50227a460e141ed8b7a4e70c3985bf42a30f75d377010001 \\xbc92c0e6369723e61768504166f296e38faf2d69625e9c1488925a37117e2452d20c354ee62180e6326cdefbab6cd10b21d2335e4857b510d168177a74eeb205 1674291748000000 1674896548000000 1737968548000000 1832576548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-43 \\x5b04e05a5fbe9257716a5adcd160b7b075064cd8add70b4335cf100b3fee1081c1663d5ea4bd57cb844edc3b1ca6d8b687674c8abd10dfd9e693a039a67751f8 1 0 \\x000000010000000000800003a68a7a65e4c0316b822c1c990acff6299cd37f97da3ca336015a9653ef47514afbfe91773b7043299f6967dc0cda1836afb40a819cddb21f8a97004e4003a9cf1cef606fb377b339b9668fb22b331d7a383db637b37c1bdec2fb64e79c4110cf8ff9fe7a7699ee541a457eece55934e36667a8b01380fd9854dc427af22fdb1d010001 \\xdc9db58541c8e3205e18436d820f9cd818e24bad02042aa62cd4d1f18f458d1b84fe7251da03c63d43246ec795de3f082e49004240b021db4bb0cc97b889770f 1689404248000000 1690009048000000 1753081048000000 1847689048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-44 \\x5fa81d0f0dab2c5279ed3d1846dc6d01accbb69a038e07b4b6bf5398a09f1fa8924e75c386711bc891e5b9dcdb2d9614c1c3312922e49723000bb42e30a7d2a3 1 0 \\x000000010000000000800003be09b3f5d8df38b6ea23599e5541a288d963afe7150dfd28f7c5514af141f18f372059cbf1bfc76fa45c7d7eb53eb8e5f11fef6fed2c1b223d3c3c4630ecf6b27794e0b779ba2719d18f390c140abc5fa3b77e4ab7aff087eaa53bcc70812ca0b1dfa4b732295830527e03a45c75ebdbd1c5fc7e8826911ae5a437dfa3a79603010001 \\xa54a1f57d41706988954e8996451039399c071a784c8a9e6fd0b32fec4ec0bc065bafcde876e2fe6795e42aa3e9a1453fdb6974e121aec9c322590b72adf2407 1668851248000000 1669456048000000 1732528048000000 1827136048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-45 \\x5f9824e186faf62adb6e67dfbd4d7f12fd78506a26cbe8b62600ab465c29c4f20cbec42218513e6275a16940e9bae43d7a5de51b5a357c2f823017ebacbb0e12 1 0 \\x000000010000000000800003c6f194e38679111530e899bb609ab0ea981a0cc1fccac9bb09986579685eb0c46f05d9f6be5a04b497c874189167618ac1eab01df195adc4231882fc84dfc46c00cc61eb99c0f5b096fd90e1995c4285fdb6aef89701ac9369d98a40463790cf72f8b51d12b34bbb7e289b90a23110c07a96a4fe3ef6588c82580dd29f9ea123010001 \\x269c4d37b368ef2e29a403c42bcd3e512ee4c5df3f23648bf832b6aa02bb0d6750e23bbc79ee2573f209a954bb464837955f3aa298b6e1c021d2621120102802 1680941248000000 1681546048000000 1744618048000000 1839226048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-46 \\x649c549d614e5fe52d32bebadba63bcd25b2099959e040709446160f89da7b866c7952323c2d00ecd7067b8261f89a8a7cdf8b11f43b979520fd90da4492987c 1 0 \\x000000010000000000800003a9e6792dc3606e7dde76a72692c4ac4efc0b297fae5a0dbd74dca508180c1fd5e7bf1f9f3451f1ee78b521835881419fb384971e9e9588e873e96624e2696732e9d3d62c6bda6c9d05a2eb744a6a3c2cbe00279971f68f3eae83f5810f70e694a80c28fe4bb3393c0837bbd2a9159516e20b42651b53af78963a0388f00e0f51010001 \\xa420b27b0eb186e61d289e5628676985781878af683265a6a34b52b40596abc88b7e32a85676737958a2281463f00a34343ee04168162fd1785b81b7ce06410d 1679732248000000 1680337048000000 1743409048000000 1838017048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-47 \\x68c8348516d81df7565530b2b09247e10220ade7b0d0736317aa34db59c6994dd61292d9333e911c1e8fed0b32a41e0dd7d7ad3540f621cefb16a62bb52660c5 1 0 \\x000000010000000000800003a899e57456ad9a4482cd5c219259904cbd9893c8bdeaff305dbbd2fe4dc44e63669f8ef221b30afe265382f4e815b7c22b1edd1e7574299f8055c23ceaf969ae156971d46c0131927c29d93655c74beec8bbf4bbb9959e2b8e891ca59fde2e87e65815034ca1dc0164bb00ecb76fffd697ff457e8fce37dfa8cf7313f536045b010001 \\x3f4878d1bb141d7fc75519f4d00d426596a2608f1feb8c98ab135e5a3754678942b501523910cd70b29e6142b90430882cf657d77f8ce96e0196dd9d1e91d907 1678523248000000 1679128048000000 1742200048000000 1836808048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-48 \\x6b4cafe8dc31911da85986d42a6b67012e521b470f9488c251dd8682cc5b17f7fb82cedfbd24ebd16eecb9e21a73faf3f2a7ee932f12bd3792d9c79b86e6c8a3 1 0 \\x000000010000000000800003e9b0755b3d5936dab82e0e857cd25a849a636b6f5caef3e5f65ef223ab9b627e15f5558938d636ca11fd4aad3b95363f63e6ae17fa785c4f96a5b29bd0169cd7223a9dda029286a60fe5c950334a240b016da4cc7fd16f0933f9cae1a921688d14c8d1111182d9ad9068d8128890ed3397b7de585ce8b6e15a71586ce38d9a7f010001 \\x77f542eae5b4ea29169f41b9f0faeba9c027f765113a8f6900bb0a25203c1db66451f2a08e4a2099295ed48ab44f45d119d4fae11fd86023f09c5d650809d30a 1692426748000000 1693031548000000 1756103548000000 1850711548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-49 \\x6be843f4997a730d5e28ef353428b0c620cb0a5e8f584ed9e281974a2d679292ced6eb80501d6327b32f56e774b3080084cb79fbae75831b2f7a32297094d1ee 1 0 \\x000000010000000000800003c50346242ce6c40e7eefaef2e9ed038a8a91f1289ebd26deb07b7e8015e786f7d9399e02d53d06d8a0e3e3b3f2b4d284efcd35de74a5aedfcaabf2c5f2182452a23fc9b63526b810ddc8dddd1fa4ec8121fbd346246aa8402781510d15404f84f6d07709bc26d04ad0468d1edffce7e5498f532da1453e4cfb9932c863ffff25010001 \\xb4f861dbb0bef5430df785023adad8af10f81fc0da4bf746ebae1210a38bd4467a9b827877de60c9be71e8f78f1b8151b1618d57d07934902c7c1b06f2b90705 1671269248000000 1671874048000000 1734946048000000 1829554048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-50 \\x708cda6ef20cdccf4513a2a6c73562297f9b7d2b0cd545bb11c7ffff374a4c7e8000dff2b20808a2147c481a39b058b1f522727c28d8348b1d39411354b71651 1 0 \\x000000010000000000800003b08ede7b611d3e5e22816c8c03a47d69d41c0ba4d0b7309b7c4793c29b7e6308042f858ce52f6e2d4019307195baed949313a304badd493757eda678c5efcd12792f70e927ecd76f150ff8ee74759806a6d219e44228f03849bfe4f3769dfbd81112b07e6df492ff9dd6fb5102e54e5505bda456046e691f420f8ecfed4c46d3010001 \\x201d3f8bd9d7f5516b26792a09f75a9dae3e771aceec63d65690ca20cacba23899d00801039b11d9353d27b494a1ca174ab813f5fb85cf9e4ce3791da4d3fa01 1664015248000000 1664620048000000 1727692048000000 1822300048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-51 \\x735c5a777b8552d3aa4f10bea733ae46026f18f6c38314541b5c03528796344d65775007a04019cbe939d5519fa700e262e6dd5e72f651ac7f8e896ae98db2fd 1 0 \\x000000010000000000800003a53dda9ec1dfc220ebf6f7bcfd838b805035fa67b55bcfaf3bc0ef4f69a47c046df8723207355bb945fd023efd942fafe224c21de1f8f980038182b5aef456b1f9c090970606d6039114cc0b75ea3c40befe61292be49756b1d74497ba3d4bdd0c8069b1303c3fa7661f40ae074dfc729667d8e29b7cac1da50f75ca52b676d5010001 \\x55e78bdcd7443fb06927e770d31a8862c8cba6594f6efc4ca8ca26b08207d05a6593b361284aa1e41718488649f93a93040ad7d74d4fd342881e63a320521d04 1680336748000000 1680941548000000 1744013548000000 1838621548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-52 \\x75f4441a6e4aaa3becb930c066b41b9fec43062c7654692dac9260453cda05a3b99f65772a3611320b96ec3fed1ff62a35c678b17d0440d9020d332c051e802f 1 0 \\x000000010000000000800003d8a301f2c31ab60f42a521e6efc5ffb498910483e9068991cfe9bcc50737c32c86724f129d3fb6713b4d432980e5d7b86cbedcc28fc932672d2e0b7aac520dfa42c18c325a5ef419334f3877d92898611496d65e0113da8c911e0063ab4b903c5e608d6ca90254e3b86ea63195af5cb49bd1d6c3bc364222cbdab486b73222c9010001 \\xfe5007fa8e6e154c0def47cc1885d664dfb06c2ba85a92d196d96f207be24bed84a15a0fa55f41e057d0ba2c86c4a8e38f6c244b24956c286f7ad29d0a26980a 1671269248000000 1671874048000000 1734946048000000 1829554048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-53 \\x756c827dac776ed540ef356c4d6ceea2d2dfa4a494a19a8fc299f58c5b87be737e64161301294911930ea7ad53ce8105b8a7474df5dec5ecfcc6e01a715016bf 1 0 \\x000000010000000000800003abdcf2fc620475bb68a59102e6385f729383152cf13f0c5feae3cdc58c96f184de29088f4d13a4ee50c7cb467b59b695eda5906459f0e45674ff874f7ad51a185f3903cd415830bb3d17f158bdd1fd4b900502857561297d3c242a3b21c4f2432446a368355e82ab42a48994c94960c6b2983b3298883994c4a1ec5e58851de3010001 \\x091a82d9175f4ec343a628b0d7059ee33e0984dfe9a78225c4aee344669c85d4dac00833584be6cf8063ec933a2c2d425f7b1dec294fe41d8a08f3c222bc400f 1674291748000000 1674896548000000 1737968548000000 1832576548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-54 \\x77a0f64556ec8ca32b9ef28570dcaef0d75a1f15bfbb3340b57aee58606fcb42508d74dd857df08d3fb0f232c490dfaca6415980cdd87d204d0d943a1b678341 1 0 \\x000000010000000000800003d4bd6ef9df7e96d01ad64b3ab418d76ac4bf578b184390083f9aeb1d58374889417c60f13baa9b096b895ec9ce08d4530f4e7665a94e31e5e19a128b5525ae43c564ee9cca5c8c1549d8b6807daef6dafb4a52a4fd4c950133c012cca020295728cc5da540597eae09a4527f325126a230153900a47859c9f3a6f195a2f5142b010001 \\x52f43b5c7637c3a34f81c81857db83482cf3cea67b0d1713fd32f3c2978eb122e8a1c714cdebb81c3b351b704e9c17a62d263f7f3165b547f1ab207b7c84dc0d 1685777248000000 1686382048000000 1749454048000000 1844062048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-55 \\x7c340c416cd6cae40a111fe67a2b3f606d5203a5877382ecd94c905f0a83739d430dcfe6f53e7290ea61a9fb99c1ba7ae23a5f7088e341bde2645d61424f3477 1 0 \\x000000010000000000800003df38058444b7598c11a8c7fc8d1bfd6c916105906f981a4b866433bed31e0fc62c5bbd5237bafec4e86e016d0cf968e915db6fcc05788eb31c3fb73ef6edc199a3bab9ee4651eb3d207e3031c0878dbdbbb3eca8a40f650eb572b28f2b90f934e214bde09ed6d4a48783135c437cecd0417da0640691f97d278a1e4f043dc6df010001 \\x3bdc7c745e84221a17bf9be32438fbf530ccc7aac9d4b50b26a06e2887aaa9f25d9813e229478dc8412e8f08b11ad77cd96d692141d067eb985fe8d4671a000c 1679127748000000 1679732548000000 1742804548000000 1837412548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-56 \\x7ce4320453d4e0b33b30c1df5a70d5b8f719c71157e7a00c7cb869be1d7e35ff8cad221e2d188a934d605fd5f03fccd3ce1a80014a77c1dff0f9b53572dc7a2d 1 0 \\x000000010000000000800003d83e172908e66f83cdc2aae10d4c4dcf4fa96cb909cf34e355cc38d588297ec0de63113991fcc8117ca8f340c2344b763274fd6169fcafaf4851aa17d371abf005aea943dd6085b2cd3efb70e586fc5a0feee989a62979ac978dda22ef96d3fe459a97b9d3d4fc24731c0974309999c681f4a4638400a58730e7cedb41f71531010001 \\x18071e1cb77d02b615d41548e2f9c18523aa8ee19423185610c924fb07974c78235c12663e0f26889d6bdd94feaa7946251f0a73999065888dcd179434054200 1670664748000000 1671269548000000 1734341548000000 1828949548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-57 \\x83f0ac427522013de54aed66740cf359f9cf56563506ee0314e31dc9d0fc8c81b9f913a32eb5b5e4d705cfdf2f113eda1206230a5aa853109399980916d2cfd4 1 0 \\x000000010000000000800003b6b560412e5e5f6e659c19959466bf2793d6b626bd69f9a03fb18aa355dfe24756d21e400b8225629650cdb46c2fd168fd5f5b7f8276ff4e6912b9095a4d4e65a2e6b2f0631b5717ed45dc81c5a153b90be93d8b08db0b93a3032dcb0d8aa9494f7f5bb9b0c5fa9d043264c576a339f85c73d268e7621a972735bed9417c0a99010001 \\xd55e2a474bd8dd31817dbbf362f3d1d69ebca618f4aa293cf8d61047ba492a56af32472cfed8ef3077fd53ced5f1149f5ad623e846a8bc8a6bb3e75b88c14c0e 1686986248000000 1687591048000000 1750663048000000 1845271048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-58 \\x86e844488b78ae03a0b266be10658612046f0e02d746c4419f789d22e1ef428549c33cf067251bbafeab170a34fa2f7d78c2dbfa26732e2a98bb7ab0dd01ad3c 1 0 \\x000000010000000000800003ac3400e42dd1b057ed4eb5049a680067b0d3ce569abe8bf1631ddbc6ba2ba3780ff4f4b4c56f6632b7115c1285d8b26b29358bbbc33e5650f32dae42879544647895889cc9e17e24e2a7c25b45754e25954e4d057061689c4e2b7f940ab9df7f3ac93f2fd1fff578c32528b35dd8f2278283df45c71bbf4f3fcaecc6b2f3925f010001 \\x058a85be5e056e4cf9357fd564a3ac00381f556a343cdfffde184a7a8403ba2304f0eacb038d0cf1e1a1cf067bd46a608276293b69518d2d4544af1a0fc4ba02 1665224248000000 1665829048000000 1728901048000000 1823509048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-59 \\x86142cecdf1b7391dc4a259027679c47fdc2afc8ccdfeedc4ac2bbe1e322d0d0b1e3ef1bc2e6e5efc54180a65e91ad5791c77dce4b82ae07878ded489a87ddfa 1 0 \\x000000010000000000800003c4c3361fbb306c86b37dfa3db5fb75d2814e936b15a7e5ed28702ca530c359964fce2bfe18f1833c95f16ef7794e4c729eec75ce0774e00447ae9c586726b63fcb492dfe08f8b1245a17b94c0ad5e055a2c5b6255f43067f302813eea4fc1d5697646350cb95e8bca4cafcaf3e2c124bc5165fa736a9bc40d5dd11aec1a20867010001 \\xdec0185bd8903c5cf03a2877ee29d605e84d6a4f46f7893b22e985eefcbfa10d56345311d0cdfbc94ba60dfc82e9209d74a4ecdc2cafac77ca4eeb4fbddf690b 1681545748000000 1682150548000000 1745222548000000 1839830548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-60 \\x8cd82e8b40534584c7879ad745b0a3012f5dea890c693bae2debc01d0445514e5d8d87c36880bc2958a02e2ddeff3fe5a648e831e0c7f67128cc057e607ec515 1 0 \\x000000010000000000800003bc5007377600f5b9b725e8e6c10cf0e266485dafcc9274add403610551d1b97120a3cc28e5b980e08db7ad296f341e4d61090a211971e4fa059ae758633c019846b5978a0af5d6dbaec8d9bc62d6f81da4d361fa88a3592810efeeb1773e00ff319dcd7f25744f234818ad03dc773f9da6852afa2ac3baedf34e0064dcd590cf010001 \\x8f2bac61eca14a55072b596bb9e7f10f8ab2b57151e7ec42bf0b08344b7aa28d1f2f34faa57195b561fe414588f38a2801bae99c4a0b6724e892856ed52eef01 1684568248000000 1685173048000000 1748245048000000 1842853048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-61 \\x8d40e0d8ff69b64246b19d73473a374dd2995bff5c29462baf3b09fac8db41bdcf6394f96dacc7036e131d382e4eddf0466125778c4a6a10295e8a6506100ba2 1 0 \\x000000010000000000800003a8f7e1121d6ba925c049bf9e4d2a479e7f63ec2c212c749aa04286623116cd1a6d8e9f8fc1a443834d9f50a9de35d593c7188cc989322e825da34a8100689f3ea135ddbeeba9e66f02301cb9726e3ce8c3230ec5c6446b50de8dab8e27939e14b6290cbd47716ddcc8f326aca765a1edfe256a7fdfa436161a69e8db1a59887b010001 \\xafa9960cc32858c81bbbcc9dfa1505709e3fcd13cdbbb060ea603a7a20f9fee453a0218f118416631a6fb1669c146a25a3e73bf08f8a810ad8a04ef319133400 1669455748000000 1670060548000000 1733132548000000 1827740548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-62 \\x93a03742013fc27d0f8f4c6a236218b31861734e6acabeb3db7bc33a2f060c63694b1366c4e625e5d25a712bc95e404020180818587653a87a9c6815ebb413a9 1 0 \\x000000010000000000800003dc7931c4172d349e42dd189e403972b1eb7064e436e5cc793f01b35e8a1f1f08bb816ebc848e266a588c474d2187bf846a3eb3dd0e0dcb72fc64c7c6e12a7f8a7d3cdadd3ee11bdf0a0be4cb1a6438514a802a9e8180739982f7bdfb226bb36b71d5c2060bdacde39ad97e3afbc7459a87cdca9a3aa86c85a609f44cc160f797010001 \\xacaf54ae7891b578f7616c9f10f444a549ac7662020c64710b145b0e715c8ef84a6acc713b00b53ea8e8eafc7d966ed4809488e3b8740e27d5c886768c6f8105 1674896248000000 1675501048000000 1738573048000000 1833181048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-63 \\x93105ba38254533ffdfdd5c0ddd2127f55372194ae3fa5f176573976e3ef994a71dbe0eef7ef68e4672a1aa133bcff160f61970c550d5eb8f212f64d99d7d967 1 0 \\x000000010000000000800003c951444bd94844a8055f00357bacdb71f54e536d70df0b509fe543c7cbe0993e5d3d4cffe77de4c8ebc4f8159a87127423042e918dcb295e6163617cab7583c500989a36f8969fc44987eeec78c1625581d9ad3eb01c7b82df23f6b86fd607d8f52e61266c2f61896f04c9c10d0949b8fef2977a862ea7de599ab4ab8261bf6b010001 \\xd3366d9af0cba93b197bd5c22e846d4d1b15e4f0fd5e084e3efb701cf9ac4766bd549bd672ccccbbb250e8a2f50580c8a56b2f7a283c870fd63c187d3a236c00 1680941248000000 1681546048000000 1744618048000000 1839226048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-64 \\x93c8626787ce2b905105cd433154be7e4a10f90a348c40002a61091e44e367d2280da60cd52db213394df96abd8db30abe2c748d3d53189342d96a1f6db20753 1 0 \\x000000010000000000800003d2e1e6c209bf92907ecbda547c08a6496c575e9dabfa8adf22466413b6af6343b54ce9790b744131d074118d08145aac3fc20a32bbf759f5a6219c36c2effb43c66d77835f2d8611cdb4784063ccdb61999773238f49226873176d23ecf70719f24a57f44d7b443b7edf83b1dc485bc2c0a1a47a04f2a486738843ff4ca88055010001 \\xd2c5e199d853ebe9205c46545deb64d9dfba748ff7d7bdcfa22574bd2474b97b5d070e63640e16f591f09eec7803d422679ae9c7b58f526d01ad7ba4aed2d009 1663410748000000 1664015548000000 1727087548000000 1821695548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-65 \\x94a0bf989999693fd256c8409b0153144ef067626997d81e0a6b8549650c1e65c7859802cfaea213bf87e33def39b2080093c43eb903f48a07256da44c51694e 1 0 \\x000000010000000000800003b44062c0151ddfb502f81b6cf56a6007aee649c2ccc184413ea06982b5af4bfe624bffbae31c57664ef2ca9fd82a26119f48225b272d6fc22c18bcd9c38aa44c9699331d1592f94a4cdb70da870e7c9bf0ffd2b3f1e2178afc961b57ab58b70dda843479c10d88baee11f7ea07d103cefca73cadfd7954dcbaeab68209d637fd010001 \\xf1c0a350a6cf3263137cf89907b2841251dc7c3c5df31ea05e0c456ab90ab78eaa0cd2fcf48c81157328be47457bde1db809b04abfb729d6d1cb66e8589e8f0c 1664619748000000 1665224548000000 1728296548000000 1822904548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-66 \\x9c6c206b1f672151ee00b896caf09416635890add9b0ce9f28984a181b786036c8d5c0eb1d8af654baad15a00cf531bcc35f925a5f5de8382d7878cf9ff22311 1 0 \\x000000010000000000800003b7976f500edf883c27633910b77ffbd128f8de52b60cc8a592b5683a555d769c0872055bce53692a2b33f73d668c6e3a70b4456c7fe4ab94b177a6e8c03a313db48d376479735e70c78772ff8c014a02f45ac822a43d78c32a7c5e57eb99dda35491c180cb9fa76a13380d2ee6828f66c79ee1c793cb8771cca44552919d6f87010001 \\x18ef05fc7576168da3ecbbfb440433c21e322af5a9be6dce04e0697506d722567051f99dfe59df92f3311e6d9e028f33d9ec12ed01053dfa71beafe4d63b0e0b 1670664748000000 1671269548000000 1734341548000000 1828949548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-67 \\x9e0472a8d250bbd44cbb2151cda1c1c15850d2e2cfe6da84fb43d849b072ca6a3b7a67cad920ee66d27cfba33a9491eab02079e88afbb3563ef16e84af9fe8da 1 0 \\x000000010000000000800003dc34e78b1294a9d8855a2543ae51153ff0d045b4947865132c2cba163e1c464710a5d48c45a24167d236d01b5db4ac5b8cf9766419ec9d7ac5dd1e351064393f435c0118aece0d7d4304f77f33e286f29bbb1704488c4d7745cda94ccace9c51f6bf86005a9fa067f24fa49c8911ea9b0cfbff6531a8282bdc851c683a0ea4df010001 \\x565ed5ce32272c8700b8b49d936010ea8f61985d9e4714fb849eaabbaff87155ce7ebe709c62236b66543fdb229523e47723d777d0dce26c6c1c92e3758e4f07 1670664748000000 1671269548000000 1734341548000000 1828949548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-68 \\xa174850ec7e08afcd7e04adfaa7e1f468bdf54b4312216ba347f4fbfdd4e640779aeb6e0f529f20efb0ba8bd186c7c18c862f6743e703babe256d332de7ac660 1 0 \\x000000010000000000800003e27aa0b3542cdc8ed8651d353c5dfeafa7d10e6a0977a15aae322db52324764a8d92c81c84b6c1b31ec7eac2a768dd28d9dcee1d4ade68744df67bed207fcdb08da903878f9f8f1573f48a9b89bf1aa7bdc8929dc71e535f8b5c582a9dd6988accc94f1a56ec3688548c6d5e87551a442f25bc37a6259b7c38024cf4feb362e9010001 \\x5b6d083c556ca630f97c4a7b04866887ed157732ca47a10306115e8c1d2d37efdfdfb8b1fd7d67b502e9a1572c7357f3e574d38b7647bef2dc7e2c1b241f4901 1685777248000000 1686382048000000 1749454048000000 1844062048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-69 \\xaba0d4aabe181994d99ba4c01bddc6c42052c310a8329c16e7ab4cbd603fdd455d1a1dc749447fd04189e0c1b582cb0cd38c67f3ffae2469fbb5958cb3733c10 1 0 \\x000000010000000000800003f9217c2850b09112b93b0184cecdfea48a79e3772c6ef7154fda6a81c038473fc3259bfca6f11d6e8fa48bab4ada4ca576cc824d628d578db40e55b9b986415e9b931effd5d18dcb6e86c788132d0b2c9640cd6feec61e9a39ee62a3e9f9cd85c4f1a9a5f64728b743225069ca430995e51d630f5c2c6f94f4fb78c4a130a1eb010001 \\x03e36e66250d7c7bfb12d9832dabb8ff7c2cb85dfc47a60eac5b8c748d4f5dbb6767f07e584a110ccddba32612e9a07eb13176647445b42593f02cf01217fb0b 1680336748000000 1680941548000000 1744013548000000 1838621548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-70 \\xad780c3c875753653275855426f8a93b8ecb0cf4334a6cfebccbfe737dd1191ba2bf835bbc9d33208ae30eb56a0580ed986956356ef21e78353a2d760613aa3a 1 0 \\x000000010000000000800003c6ff466e3d8147278f804712ae7766fcbc9bd50d55f8a5bbc6aefb4015c3d00baadda7a3993448c754e40bc966c55e91e49a0bb2304cddfb8ee4c73af8640561a7311c490460bc7bbfa1b616fb9e5e68d605b3f2edf2fd24234a82fe2ce0eafffd09433fb303574b9c155af6cea7fadf76cf54155981d8af44e2c84abce6d07b010001 \\x8cf645ce03aa03727b3a71993036884374919dc1f4f544bb68537f79f79e72fedaa74fa15ee76e9c58e59aa5c3aef7f29f8d8d326b2245226dcd5ac61ec82704 1670664748000000 1671269548000000 1734341548000000 1828949548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-71 \\xae04f8c26fab844b9d8f7fc709a152aa0e01b6ef5b83837222e62ca810edeacc21acbf1d1a3b0e957f8712f0959079196cef4dd2917e2d290f072b26f2080dff 1 0 \\x000000010000000000800003e83826286f353daa6683596a29b959ffea4ac3eca2a8260f859b628d586864633cd67ffe57079ff5009c0e753f996395b9b87448ef720a3b3efdcedcaa36006a6a20d299d305998f12636f668427d20dc1783c96ffa5542c357c6f79af08e330bfb18f88c020a0c40f307c01676b7e262dc9910735f3768ace4801a3bbb0817d010001 \\x09eb3e5fa75f6e26d8fd46476febb62cebc21ed3ce4e680f6db77ac3c7cb1f9efc368bed3cec06eb01a375de1d4e1f3a7ccdd166508645930bef47449f59e801 1680336748000000 1680941548000000 1744013548000000 1838621548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-72 \\xaf682ea480705343a478586db54a305f343f8f82ded33c2d8b3527c1ca74f2ea9896eb0a0feac933ead1cfc72920978af93a7e98dfb8f05b9895db456d2878a6 1 0 \\x000000010000000000800003d86a07bb2ae5ba021c7ec060ffe4de3cc6a39e725c1599749bb95ebbca59f74413456be8dfc4307b24ff88e3c7c75ae9ee367da15b2848b9849a84dd27fe459a4fd07cab17f78c273bd4b575d3fb16e728ed4f33ab5bd8b2e21618d352df28e719fe6a87f1b8ac6bf5a63fec4816006592c290f60d631fbcdf6c5b62a11b727b010001 \\xa75c3af08b9a0b8a431291ed3cc1ce7aab1c60597d9f14388d67eefa636dce6c5330d3560f5f16034090cb936b142226362eb4f6a415877c022bd0200cf0f208 1682150248000000 1682755048000000 1745827048000000 1840435048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-73 \\xaf1445cf80d4791ae81321637a8ad0254279266a058df8eec0a5bb4affecfbcd7e2e7a1ff88fe55c840cc1e1ac815d3457770d0e57aea5fdce22730c922a9e3e 1 0 \\x000000010000000000800003f5535be0d3bdfa0fd9fabeec00a7ba1ba56514def9e532c1c4bbf64862490576fab403cf72d2475aa5ba540ca3f43cca06fcbcc7893ee17e13ef398e381fc40555804ac8046c0f1d690bbf8d21a16e21687f7050d744e637de1a5eadd8e0fc127de93572a710f410d42e3ecc85c67e4f0a238b3b5fba33815dee907b1473bd71010001 \\xcf3b01a145640714ea46867f6baed03e97104381783d50035861ae0bc227960049a9f21899bbea06e815dc5fc2b545cf8fbc956a16643417a6ab60d623609e04 1665224248000000 1665829048000000 1728901048000000 1823509048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-74 \\xb0087bd39b38a610123dedf0d142593339f86ec1883ade4d2b673638b4df39ca6c80622de89b8712f15f2baf3a85355c7b19ebc4da14dec36a9e09e9fec06cab 1 0 \\x000000010000000000800003b1f31b15efb91b8d7a051defec691258c97fb6a5d29ffdca5dec1f77745e4112b11440f6e193fa5f6bd48304888fd53995993871a3fbbcee12f83833dcb1c1ac265d6a141a458887c8ce83ea15456bde040cb5bb35bbfc80df8155d4f851c0cc4278be53e6169419590caf13738948013fba50c947158abcb6bf6d22e450a1d5010001 \\x4f0a5a6873b3659b266875026947d96c14cbfcdc661fc40f4907f211d836a492f2c010d4af64aaeb652aa272613d2524976cbfe327daf8c807918d1644ce9408 1668851248000000 1669456048000000 1732528048000000 1827136048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-75 \\xb66cc10a66ae0bf73e6dcfb98b9e9f097c80fc6b62bf5dcff358b23ea225c8c3bc680f73e17326d9f5932402a0150c06dc769375579cd700a3bdfb3c263c11f9 1 0 \\x000000010000000000800003bfed882899f5a19705c409ea2b1176fb0195a419f7fbf510987cd098f305221be87924fe25e2727c9bee166debb87e956b1b0f5aa2a40df7c58ec55d0dc832ec8103ba13562752325be7c099b6e2ac475b929a1d26a9c154b25e2e7e0027ca2c9bf24a066c9bd75a89303eef6b9b861240b7cc0f6110e5a2525d6cae0669c143010001 \\x5053a03c938d81d32692033e6f60f4b5bf315a426988546a1c155fd1fb586c55bf80f5e7399080fddf100c7f973e8914e85c18712198f50eb1eca77257201d02 1674291748000000 1674896548000000 1737968548000000 1832576548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-76 \\xb660e57982def69d8e10bae7000b80cf05dc7bfe4db1f00b6143b4868b60bc5142e571a3168fb945383df572da5204da3c5f38c070d99dda9f9fb11fabbccdcc 1 0 \\x000000010000000000800003c17062d1ffcf52217621cc481971987a4d4b76d42bbd775e2a7c459a76b650eecdb1e4d28d33ed284bb9debbba60c9596f2a3dd7e65c52870c6ba36d702f432e392bac3715c2eabff08f737d59ac5a4c18ae6881b4bcbc628ea441c830d3f502411c700148067a5c5365d5286d0dc32df3605e14ac02b14e3ec061a3eb88780d010001 \\x6e6d89b9cb21542a4252170db7ea9e8e07b7b7a992364101fe5a57ce1587c5d16eadcee6789182ee0c2753b95668bd3f9af9d1e173f980c0ddbf584ff138aa09 1692426748000000 1693031548000000 1756103548000000 1850711548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-77 \\xb9ecc4d4cbc5bcf7997136fa4f6f0a6c84c10b7c7a3418eb1be5c23ca3ea555c8413e226641745d4395a905f3cafa7be8cd936e3438f1c7d67a0e9d633f01730 1 0 \\x000000010000000000800003d009605b9a83cd2c7c8cc1313fd6c5aadcea9f8bcc7be1d18644c997d4690263cb1704afc37046eb7ea6386d2b17f96578bad252168be5fc2df43dc174331428eaee7bc375aa4e80773b5b2a5904b3b623007735395fbc70bea644e5a454aa2cb6c828b0d2706cc9b5c7e98433a04c4d9f26a2a573e3e3b9d036c8b32d31fcb3010001 \\x719be628d347598e56bb3128a849d68b6d3f2f273a1853876c56bd82f5947e63c88ea970d7103c0700fbd59948fc1cc08e59e5f1c51bcf1fd56b2895d6c6fe0a 1662806248000000 1663411048000000 1726483048000000 1821091048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-78 \\xb9fc1e9fbb3126e2c99717f502e22d64936faf685c6de8620a857a905240de0e40472c13f532531d4dde17e6f18cccc309f6106cd5e1f86d51682c0087c97650 1 0 \\x000000010000000000800003db6775006a4e2f134c441ab2214215c901a2b1cd2e6626b84bf23cb5f94dc990d04553f54dfe97c4fad886f08dc843f3cdc351b98ef73ab86725aa8c8a9aa4633885bca48a6da4d80fbb7e6af673d4a68a3be1a4aa608ec7a7f86dd975217ddd9288ffa364ce3d02e1b1aff3def25e53dfb953adcc7eeaf64a3e3e718c69615f010001 \\x27afba063678ae6788cc877300f5d62d8b8bd4e1e2c7d433dc32a8344fe36b49594b16653683ee161c0089500aedfba15645b2fe871293df2511d913cdcb8b0a 1671873748000000 1672478548000000 1735550548000000 1830158548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-79 \\xbafc9fe8d6351f44ae7249e11f156d69e771a76afb6e9cb59534ae4f441dac4d45d7f1bc5eef14c8112e9f771a9ddb0a6dc3a60b6f3f98be539fd64af11a9066 1 0 \\x000000010000000000800003ba874f9808e0f174f9a1fcbf129590f6225dbea79d35faab49fdef1fa13e6633a06e2b8cfa2abf10d5853410afbd95af808227f825b28f4d08e38edf9917e096957ddb4c11d8d3bf8fbffb8ca4cbecf5b55a372333bdde5a78008c7d846040c5d965eadb2d87e602aae302b70c95a0e2f707a695ee9cf9f087bdcd080c937145010001 \\x05643b6063f0b802a17f393b174097d685d1467378cd6870834f5131cff25ba7f0de9ce5c7ec53d3ad5ec4bd72d7cb18e5c0639060209a0586c266e79bd0b30f 1685777248000000 1686382048000000 1749454048000000 1844062048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-80 \\xc15cb411379b0224d305a9a6db13269b9e633c09ec91876ec470fc163489ad92eecc14c099a6df74864c88d0fbdcece2cdd1c35d006de68577f2c9161d6e690e 1 0 \\x000000010000000000800003e382d1127450566ed16678752c1803f435447ef278bd181e0206eef2f4eff72ac8d410f22255f47734b48e864a250b1778ad328e96c5e72a76ec84cce58d2b389fb19a662836bcf0e80c879cc6b73cecc6b3804905c40269889edc98995a67ce849ff79098ccc9222ee3335792ff40c954cd90988ebb64e0696cd389e50f3d23010001 \\xc3ff636facc8d6482521a1098a375a64358875a9ae937d5f3362268103e0b2bbf7953ff42a451090778c56440e4d13b7a2be612fbbcfc13f4b9381fccc4aa70b 1677314248000000 1677919048000000 1740991048000000 1835599048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-81 \\xc6bc904ac2becd138b0129c4b563abbb829d7c90a9116b005448298ff3d83a4da23ca8bd997962fedd3c8b0e4bd3fac69d2257b2a8de7958a7363e25f6a8a1c1 1 0 \\x000000010000000000800003bb125549b6679b305bc980e67f43ba869043d2cbfdac834074d995c256a7409000ec8b08076de562f45648a25cebc66a8239cdb42355fa31158229a83096d3c2b75593dfe3c6afd2815eb15c94dc51d750567cb566daf6022c6e2029cba47612a16282e0b45304cf20cca07a8ad73cf9548a458cfb1bc7665cc19a6f9f51741b010001 \\x06c40797f268dc01616136e84609ec04b6b7eb883d1dce458c527816c139884fd0bb98d3c45370a82b4a6d32b7db77ea859834b58fb54a3ce48326fb58d21302 1685777248000000 1686382048000000 1749454048000000 1844062048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-82 \\xc7148aafe285f92ea271c28cd75353afa15af35818220452a543e84cba019715c8e547fa0dc35a220b78c5543e798aa0b3d187528567aa4d8238198b4a090478 1 0 \\x000000010000000000800003ee91a7a203a28b7caeec81d184579d9fb95e5ce9e52025825f75087d5afad30a700ea99ddc1fbb9b9f0718c0dd2c5175d530ad012da83003a2aba352c97000ff71b4a10174c59a315621bb4469410fb806096b73c2b25aa3a1db7f196c15b6e532dbb39a82b5489f89e283092b91283ca45aae7937a7b39a41e8abed2213afb7010001 \\xf00b3c17a4eaa232754c211cc1b53b16feb23402e79c1f94962f9b68f7c51f9f50f015590e5fa85cde5cb90df8a5314650a970858ba75d5f160519d43f95d409 1690613248000000 1691218048000000 1754290048000000 1848898048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-83 \\xd45cfcb1c34736f606f27af20f762eecf3466a371e772b614641c0a3cb8b5c1c056f289b77ae9565fa50db872d58f39cfcbe100cb5bb952b9d132d70fd4652b2 1 0 \\x000000010000000000800003c58bb8aa505b38361dfbc8f062bca5362aee6d1fb149526c58c4de69002f747288af537af61398fd74fa96c70021a36191f67c5a3ba8b18bfc62ce72912ef33b5e5e01ca162ca5eb1c2366c28313a5a4716129ae1303d4be779480eb797192f9f7bc0bb5675ac70893de556dd685fbd1f09295ed7bacb67faa8c9216fc9563e9010001 \\x670a2582ce43c19ba7a5c344aedc80f1b40364544950c963adc5ec77fbf9cb2faf1c189d20f77d233f5f3b28121141a168ab2937e7bd56093fd3e9e35bf8db0a 1679127748000000 1679732548000000 1742804548000000 1837412548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-84 \\xd4981d5716128498507787a77179ff9587b1439cfe9860d44911b645251c9ae977989054e3e2172134d8847f28dc08bb3ddb82532cc01ec1b3d90fc331e3a08c 1 0 \\x000000010000000000800003c6c69139b1d4b61cf39abd1ef6bcff09638cc3c9b4083a8f312b26a51a1f5b5c558994cdd8afea0832da20bc2f8eee708161a371afd25822f280c369215cf3eedab827ab81977f6c92c86f59555ff4d28e87d5e157006be7f599155b6592d5b8158ebdfb17549dd33386044ce79b15dc71d31621ae5a99b0eb1c15525ac2f1b7010001 \\xa5a781dbdb6339ab7720376f918b1293d5d7b4a56b59d9c6577cc36747de3fce9d48cee481c3e77b66ddb7a00ff1ffc80531b8dcc862b24d91474ff9e3a9b001 1662201748000000 1662806548000000 1725878548000000 1820486548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-85 \\xdaf40deac8e421aad9dfaff0eeef198562b389a7d4389c8c52efbf84a81051fe4f1769f533ca28deee19dd949f3f5cadd329bb04d32f1127df48cfc7cef93101 1 0 \\x000000010000000000800003e33b30c74ec49fc98927a0070524fa94fd104140929fe51b0cb60561bfc6b1378c5521c7fca8d24ba43532f80ed83fcf62505cb1432ad935eb42c5baa995821e738e7281d25e389dee10eb0f1bdd0edb02db7dba60e2f7c49dba3e74b98e1713a54f012f193e58ec8b059773479209e76cbadc7c9aeaa52a76427521f306169f010001 \\x58afcac08a986ae107850a7277625af1641666ffa1bc589429df441d78f632314d231d32762e15ff282aa4751b2c8281e2ed5d9ea3a0286323d05d2fc289e301 1681545748000000 1682150548000000 1745222548000000 1839830548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-86 \\xdcd01bb7ef474bef48ffffee01800ab370b5a85484eb1882705f564981162bdb32416b085c1d1db68396fb5bd10ff0b74a29414dff0c2c7513ad507d2711e9c6 1 0 \\x000000010000000000800003e8df49e22186e2197a93b90402d1a4601ce4ab3a460a3369f720e843de03337a4d7a6a6e898eca4a66296e0554695cec2e9870fb2d5d65b4422250774a277ba9a85c9473776375e391040d0febe5ef2016e9b21ed7fc030b93c8dd9d6a100f33e3745358d51533a8ab8613e8e0cf2cbd3fca2c2786ab38d693b210e17fc82189010001 \\xf987ab460e2c9d8d15db91678f2bfe55b6c51f04b54836792117a47fcaff7bec01e61c4045652e722bc451f55c99f256cab8f848daee9a843b91c6a1571f5e02 1676709748000000 1677314548000000 1740386548000000 1834994548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-87 \\xe27835ef58e95567b808a8ee14f0f81e0c4b45788863ab8ef00319f648e6d317557ea038df9c5a4666a8a76562b558969b3628309e2d06ea8b6e28677f4b74b3 1 0 \\x000000010000000000800003e9bc2929ccf6abb1d29c2d0cd727f7777de7339fa67f36e68b94f9e4e0f019920145ef5640ad967e71e027b37e12a5278697eeda1929ec1f125f6d09cb5ae41a25cdc3e515d73fbd54d816d355e8d57a010d1acad95c70b63b9a17f756968e888dba20cfab618394fb48df532ddaec44444d76b29572178c0c9aa18403d81e19010001 \\x300dae8c5400709ac20054c12dc1afee5c540059b91e0d83cf8c8bb6e4806b7691295fccdcd93144b66128905099d7a69bb5f16d811d545d1a4ca02f4c510e06 1691822248000000 1692427048000000 1755499048000000 1850107048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-88 \\xe37098cf7c53d50aee1e1036616de3707b7121651b0398cdb30d84e7220fc32009ed4b80f801e8dee38ebf5ee6ffdf3b979bd120caaef27f6bedb5c8d763eee1 1 0 \\x000000010000000000800003c9a3cf3460cdb8373489bb9c13d1f82bcc75046f2be4510f670e4560b3d55ea243be4161a800407499b44978636842e8b9031ac88923c72850c22aed0db0438dd1e57ac1f0e225ff3a44832d1c556897a263be174a72fcd3d6aaf324aa49ddf2a4b0d6f856044081b221243988d3196fae059cd22bc719d228a127f2749f7617010001 \\xf3a69d38732cc9f6ba70bf60134007b5a36b176e0767da9cd485bd6b3699233a9e9c45d54656bdc3d62f374e3a08080830820d8c3c9a4c9d4a7c0273c13b3d06 1682754748000000 1683359548000000 1746431548000000 1841039548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-89 \\xe480b07f4441df828f2485713a750e7f37b0cf196d87fed2e3021dbec5443a819b200f2a8e2fe7597bca6a89caf517cb3cdb5b85477d857871b1cf6ded6823e2 1 0 \\x000000010000000000800003df28388e0d7ec7bf62243ff763b5787a9772a59d061d58a1466c2fce73e0d93be29a717a4f1737e5e0e2e0f3f3e61ada5598cefed29d5dc9fc898eb2737d00249bffbf5ed1bb3119e001473647b8f2d26895aa276e62eded2a88c65c1dfa6ebd05da20d386e7897df834098f937373ed7251f0100901f3aacc5fb5b05e88c717010001 \\x0e7f0f7424ffcb381279837aa1657678308045521fb8fb3683432bf2956d349a5dfbbee46c824c9fbdcbf1760f3f703fdf6b00e4a42e565478beb51a289ed506 1668851248000000 1669456048000000 1732528048000000 1827136048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-90 \\xe6fc87e780748a078f1d74c99af840a3b1130ac7c622c0c6428fcceeead29fb8bf89c4816a81e227f4b6e158f746072c9efce900efb17a10a2ed78cdad3c4284 1 0 \\x0000000100000000008000039444fd0fc0321d3e7bbd17e6cd9f54de652f282ecf6639d23776d61fc3991cf13108da6ac083b8e8ec9ace08d35d354fc6e36eb4c81a157864f826e0b723f2dc2dcfe90f077efcd12932014bb21b9cc31dd0056956095e6fbf91ed92081783b3e88f569aee98bcf42a922f22611050c115491b4a4e15cadea90dd8696dbef165010001 \\x7d571d64d88245ac7d2838b870dce7c88b0db4a7ed1fd7722835831502b3acfeed16f99ba8b3909eb50c580f81196267d16df0bed42aec725c5486c27b25e002 1685172748000000 1685777548000000 1748849548000000 1843457548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-91 \\xe8780d1f32df2291c51af82f24941e7d2645cd85670caa9d08223ceeab3c7f5aa3d1532dad671afb73ca3616dcb7a4f47d425140be5dc4a56b7d276c2bf71a6c 1 0 \\x000000010000000000800003c5e647e58cec7f030e7ecd64f9f3ab2f2e48690a9c70b90d1a3541755c5dab6e6586967fd8cbd91594be953a2aa6a82d8e985d39fc086068b9a7648299235d6fa8bfcb7b6cc4f668c4d62e8809336ef35861c75926d26a3160b003f47f79083fa8b05d48c3efd8aebf23c22c0d154126cbdde4809860d04660308b411f4f2275010001 \\x7c859d7c3b35e402dafa1fe8ce28ebbdd33b46c4d461cd839a4b98d92707f3f45cfe550dd1cdd1c1e61fc9ac5b57c53b93ce6f7bfcbf335b27d0f2febf55820b 1669455748000000 1670060548000000 1733132548000000 1827740548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-92 \\xe92c76492be276f71fad7f358890a7034555a5e73f2a78c345e5d563de203087385b9ebe4a13f8e6f6ae41024e305a74dc8dcb093266bb5dc843bfb4b84c969e 1 0 \\x000000010000000000800003c70de8aecd4b0e5fac7d9a5e53e709ba2483d68df02673c01319378cc177dfb217cd418d6222a523718993792ce6ad0250e1d9d6f84ce50996df375a584a42d3eb98f71ca26fc05fc3f2139e9575dad5f90d2de2f0174f630a8d746ec26afe1b54087cd3c3ef4ad7f9887b4164e03be7d328a455dac3cfb8504a8e5c484957a5010001 \\x4bd1120b9cd70c42f69972fef5af700e07caf07d59ba20a0161c6b29c5fa890ae200d59fadd524f8fb41cc7145f294dde0d78e8b665c2213f7b93bb8791b9d0c 1690613248000000 1691218048000000 1754290048000000 1848898048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-93 \\xeacc74f37389cfba4cba37b4ec20043f13508297adb3edcc6e7928e1cacf01131b4ee4ee4f56f44d8a21897a7f18f1018c40f672054112c6e0d14b9ed49e78be 1 0 \\x000000010000000000800003d0ba2e085062c10f7789a51b2d10b94e1c458c490e951b99d96f9ad56748aa693448f04482ce94d571c2fcc8dd7d676dc8637ba68fe988e1c34785cb8bf0314400275d4132995487c906fae1bbb2cf4f41717a547c5a8c7887de9be59207d6777c40a5bca129e6b44d2e6602356e74cc7b54e0546ffd342e3aac3500cbef98e5010001 \\x962d19e164c3959826bbfa2a125a77013c21236284ee2d3754274b08c1f5a7e8eb2141c0b9a531a45382eeaa21807613f2d24f2266fc3af92f3d18f40c9b730b 1690008748000000 1690613548000000 1753685548000000 1848293548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-94 \\xea9c0045737cb5756c526f0e32ff856bfd60ec0b74d9bde52a42ef28edf085416f5b420773a8fe5b569a7630d4fda09036f694d1edd5a5b384f9dbbe4cd07aeb 1 0 \\x000000010000000000800003d34e4ca53b6502857f4aa92b68c5851ed93871c8866822eff5507aca553a21d09159ce713c0207787952a70e1a96d58b26ee6e98a47fbdb72c26e86848f38193f8deee2fcd38698562a92b7aa8e63444a5b3f457a83aee42cb5b2a8fff07b0a32d3c09e9e4543fbd3904dd58268c95a94b7dd2205a419695d8124a681af1216b010001 \\x0263cb8a7f52cdaae0e909e7d77aaa3ade1ff047e2ff2e360c4b3718a83ebff0049400d0036ae8784f7e0c2ed35f90b5c66f7a2fb59d53dadbc83345e79a6c0e 1690613248000000 1691218048000000 1754290048000000 1848898048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-95 \\xeef4ff9876a0df2c2265bb475c7a9ba7b0f5c3ec9dd5d175ef6cbdd78320c0d447d1fd3f67b24fcb3c0be67bc1578f55e69d6bd6ceea1c8e677d0faec69eef8d 1 0 \\x000000010000000000800003cdd1911ac4b0dd318711fa3be80a9365ca51047dd73e155de904a7752e7c006044907c870512e4af6546f726983e498215ebdb2d66c60ae92d3a577397854f8484c85191bc7ee56da46898d56301635a8f88015f79e7062cfb8da0edcfbf60a95980b3fd9ae720b63a7c79c2c8ad05d647d52ae5458b761d0802bc57142cfcc1010001 \\x9c64e4cdefdbdf00ad6ed13d4bebf5a55559c62122e378c9fe633c9fba2649e755c3a67d015bf53131b72e2f6e1ac477080e27b7608864d4b0eec2d0bd428503 1662806248000000 1663411048000000 1726483048000000 1821091048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-96 \\xf2e0f96b3438c86abfa3c33451557d90536515ae8d787225c7c84a873e3d92b1c48710336c3d4f4c707717b906fcd705e23416de7e4191e98685693760f25b6b 1 0 \\x000000010000000000800003e2baa9bf1d9ff3c756bba96cbbdb23d43fbbdfc606e917d9187385354cb18bc686cb8741c3436c3348efe5e3770ce0afb7ab9b3fd2564a98703812e031a2c7065332ba60873101299dc67682827bd93f7c86e4337f4602e842957ae3d5fc240f76ef41e963e5b2cb40e48fde213a20c9cb6760ad54c54c76fd3ee3006046e683010001 \\x06f5d03a52d737b54ec231435b68a25bed85fbc7e809f56a44fd513b10119a6879e1cce312f783f7c8c0545733d7a0a9a24ec66a2713aa52ba77f439a36ae102 1665828748000000 1666433548000000 1729505548000000 1824113548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-97 \\xf4f8c6f8fb1e3a58960554b9a92745499cc01474b77605616e1d3ad641bff8759e4ca2bc9835b2f4fdb72655430cfc4c55357f6c695431fdfd087abcbf2e33fd 1 0 \\x000000010000000000800003e259271ffcd0ed4b49c897ff6227709cfc093b3cf66a3fde5dfb20221e850d932e0d7edf23d8b2351e2b2a5947b721a9209aa1bdc90f7cf6a77fc0811b830107cc8707fbcdff865349fedcbafbeb7523dd2ab5ecc9638a3dc8ae7188fc2913798f7b02d42351c36d2a50604f7e6636492551213bf33a08e64bdef6bb510b55e7010001 \\xd38c7bd403ca9901f0ce4aadcfe05c04ef7fe37bf2f4a2d1e0acc4595d08048dd4d7aaf7468a6d01f40339977107ce2dfc56301ea2d83f92fe78a5a3b653e001 1680941248000000 1681546048000000 1744618048000000 1839226048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-98 \\xf478f59b832e08bfdacdba461685c9fe19d165129aa9c28540c56096f03c02447c15298139e96d76c23134a4c9421c2e2c8a89a54fdcf9843eb1c24da76bc178 1 0 \\x000000010000000000800003db3dad22e7d5d7692ce0a1de874d2381c8f1980ceac38081be66ecd63d48ef05484ed1e64063b9fc81e6dcfb5ec50be2c769c8755d444a6044244ed467bc6708933ee2f5513e858d3a7975acaa8b878f5877656ab56a5f964986f88796852b2a027160d1c1115ce01c315da96a8712fcad3b6d692a935ae58408ad048bfab3c5010001 \\xfedfdd5aa9d2994794bbbeb355ec7c1c14c3965d239d8f420094d15d510706dbaef05be1595b284de46914546f9f2444fca7c55ab99a0d71f568f9ee4f536806 1676105248000000 1676710048000000 1739782048000000 1834390048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-99 \\xf808be5167cf311f8d98f69f9e9ca5ee41061091f48562274c69ebfcb72233bcab381c6b4e47f838388e081230b6740e9a5506b501f238108ebc9fdabeaca93b 1 0 \\x000000010000000000800003aeb70ed8ec67bb2df86ea0f1f5572e44da971f4d6789964f76d7a5892adcf5abb5198ca220eb1193ef94796e1f291ce32ec72c839ea676e139440e46d1eb66100ff68458537a497d831ebf84ba7f749647547774ac36a04b5e53b3d7fcb7e429c4c26ffd55a9d0a4e884dbc2fde2b4a12c0510d6841dd8f1e83d58da84ff98e1010001 \\x606108660d160817ff35b65a83f8886ab8ff4c182bdd050658d1484f7e1f80b2e1ee33306f739d5c65f2714a04df8d977bf598bd7702229f28265ac1665f0a0b 1684568248000000 1685173048000000 1748245048000000 1842853048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-100 \\xfcf8dd825a00af244960461d7f74cd89f6b1ec9ed69445a0bf53bc6b98f99a370a178edb566443e4aba9400a4d6098bc48a00e7f762ad6260c3f2b3e0dec9c59 1 0 \\x000000010000000000800003ae2d25a679abc99b46602922936d2915575c93effdb3a700369fe406ac77bc88a12083b863278408da5e11e7783419b2a5af3ca8352cb226010f1c85358d47ddb85d874b6f5a8682f71197e4ec6dac2b9db6d32b6ba77e6aa278392e985db54f0dfbac6d1a8b9e302ca22e2a753b60bf3008c79b478b77a297275292a3ffd89d010001 \\x6a627379187955a5d10e7ab7675fca2f1db3dd55746f0d3ff70e1cfc2fce90edc40934a9ddae54564d94248a0e6fc8a5c66bcddeafb960cc699a2a3ffd031f04 1666433248000000 1667038048000000 1730110048000000 1824718048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-101 \\xfd504cd4f3b1f22f66a2b909b7798cba6a6e6c5ac5aed9ddbc7355fc97f9399348a11bb0c877cb1c3f0b5dfc74c4b9e0a9630c4100d5c5c5813e4c973d37e4a3 1 0 \\x000000010000000000800003f0ab770f847ff36621a108b0ddb8bc3056b51344b9d3e59a0b6d8845a5232d25f773102b8158ed9b12ba846c32e87badbc2537315bdc61095667970f9634a455bbd366e13398e05a9e65bd56e20c213143df07da4d1c931b6b06632909c4a53c7c2ef0d1aea9eaa699ab2ba2bd03f6b47c9cb59e489bb67caaac7234a2e3624d010001 \\xdf473c2af95eb77b7c811bec8e86ccb8f1fd4eb753a6f2bcc946103bc8a1438a667bdcafa145778fe5135c75cb27fc141587e168f0666fcd58e54f8f870c780f 1688195248000000 1688800048000000 1751872048000000 1846480048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-102 \\xfd6c0107e17ce29fa6c0ac0908e3cc85202734dba7e5ad61cd2817a8678248125743e6fd9fe64c1b7e734880564bd3a6248063db2470789615a59a4ac22ad81b 1 0 \\x000000010000000000800003cef0c9db847ca435658644b73dd2c05d2f02b8096109706d8b06f804c4d287e86b30867f8becec1ed19b5f55720bb35e62d44f267686b420c2f5784a48a2e634a572995bee77b97e626757c043b6c4da117872022d9666272e1d34710d166cd548e22c933ca638af3606ea2a0a59a0ee61597fbaaa76b0da4ea3bb37886b881b010001 \\x4d10df0cb1ce7b3852d8220a525c1efe72fa318238978153857755378c868d6dc468275ca71dc4c82a1caa6be7b800cab33010de8a755b5e3407d6ac1592110a 1671269248000000 1671874048000000 1734946048000000 1829554048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-103 \\xffb839e9e60cecae212e177e1db8f8270fc2fbc53f8cefa35356a43e3a416d7d9ec70ee0ce3f7ed85c92822470108d3fbafcf26c3ebfbd140886e15ddc691fb5 1 0 \\x000000010000000000800003b9fbdd4eb14ed3037c7393cf17e12700703d1b98924a70c560c442ea06c910dd89c4e05a1ead968eb3a3ebbd283727a2214174d367eb8c6d9a45530a22103bce43101c63a763ec82e927d6aaccae7370b0a78e00574a3c528a89f30aa3da039d0861f16b7dab086b49d421e70e50cc941ca037a57cc946be8a82943f78b1169f010001 \\x4b16dd8be902b586c6ffb7012a6932c25a2c9907418d8a49caa88d321d96a849c0c207d848e4031c87110d73f4e8860047582f258eaf255727dde95393fc7406 1691822248000000 1692427048000000 1755499048000000 1850107048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-104 \\x017d1603395545aa60337ba723c088f12c3c82b023447e70e452860f32f36ba462f1f3e7fd93d043a968660cb6de348d594eac483a98d55a47976a52284becc4 1 0 \\x000000010000000000800003d3388e30bc97f400cb2c096b56870f9cdc1cb4d9462f6c0939304d01d9e56ddef08e09362749b141b6351d9553278571d7d62ebc7a1198e510cba8bdcf7fce8b924ed2fd335d2dd052b2f18c6a943948b6b80b743e6dd89cfb8934b1a06b2483b5765ce48e98cea0ea9f7ff5a9aef98a3ed6c120d0b811429003ab27b7114997010001 \\xbe9927a7acc2bf79998e3a3ad853b9aafe7ab49b1237c35e6f0847a5db4f36d20f28f2ad3942bee7f4f5b250276c28da4930da11650adc7a5839e160f1dd2209 1667037748000000 1667642548000000 1730714548000000 1825322548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-105 \\x05d9f8d62c8abc49f9e5ecb7b7d2e4b3d95a6115940cbfd2f751297ac1ef25a83f7b60d2ed6d9fc7248d2a3f0b196159d9239ebffb522c86b3bc2a0c60499f73 1 0 \\x000000010000000000800003cbcb44cff9ae99392ea951138b17869598b050d11ccfe3cf2735bc36e25abf915150fd6f37e1483d4a7f78da339104476cb50a472e81d822967611b45ed053d4aba4b50856322c659f9d382078c3f2edff51e2c27489aabf38ec9f26e88174db1fceecb82beacbcc387634229da3574b00b97a9e3c041791a8ce1b097591c69f010001 \\xc5e9894c59c5f8ad12f8eb6bae2188fcc7987eb8a5871e053edc841fff7281efd5b15f78dd6a5111378afec545c8d475589790c09c18538768063413efc6e903 1669455748000000 1670060548000000 1733132548000000 1827740548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-106 \\x06195744451fdd61d42481abf188bcdc9a038ada01698ca287b17ad82b6275de36f51ffbf50726c33f1bccdae57a4f7756d2c2e5d88d24ea16aaaf28d3cf7e96 1 0 \\x000000010000000000800003f474528d9d17d8e834318ef165b1fe19e2cccfa603b430f4f9f5a3cc152d578852e474cf8cff66191f9495548e18ae295ca45a48e305c8ac226f8ea3709daab2428be23de7c78a67958ad305db692ca0efeb09bd08fa611d6d4134cacccda2311bc57e7cd646b6a84661f323774e84428632acdfbfc070bbe0890820abd48d27010001 \\xae3c68b0b5140824a0f6ed7865364b269a68ee18963707c949c1420429aa196efc7dec21e3a5f51ceecef83ff5c4d3f204b1ccce5433506dc4a6b1f88c2a0f0a 1682150248000000 1682755048000000 1745827048000000 1840435048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-107 \\x0941e79139d646f12a991ff8c566deb0f1f5aa79474778380516be34b2941e785e11f4d524ca9e71a09532efd9dd741a05f1adcb47cd84dee74270871c29c848 1 0 \\x000000010000000000800003a3578c3696122b2ce79be472ea9c41ff151eef124451782d7382ca94541ee4e84c18be1a03d6608530fcedc4c7075fa37251106cb98d9a695b1fe17a6e1a719713fef201863110327a285b92da94db9d8958287021e6e62f6eab1550553ec2de5616edc7a35409c3442ff519e5f8929b126bc05f8dccd591ce5a57a7be1a9c5d010001 \\x13abb41f1dc145535cf72629677bf9a0c50b16be5d1a3a91d9e9a5c499b4926b08b9f66df945b95a1bca60a94c2977573bad3c5abcde2205e1747caaaf756a0b 1676105248000000 1676710048000000 1739782048000000 1834390048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-108 \\x0ac5aad1210e973e59d92c8565843db08c9636e0bd2f9b39c2d6483e41cac0c1c7bfc740f179db56bf72e00ae98668e848120e196ba1c8cd60412598ecf692bd 1 0 \\x000000010000000000800003aeef550ff3965a22fdba5975dcef50e2d93df8a15ffd3f72662743d1f8c37a8bd3dfd43b9a5ad1d603d920f88060a8e14bbd5a50eccdca8830a70486a40b86f1a02e93080cf3a182d6f06a7da5a38b83397af26f52b40243821571b8bcbe56e770f8aeccf2729f215542514e1cb0308de4a4e4a031c8bf8933aa49709ce7d495010001 \\xdf697eaa0e63879d7d336a62687fea1a6d33eef10e7281c0abaf3764fcc778f2d51bed3a8cb644b36b7b838e05f8c8b0ccb7af9d0e2366abec55438e47bb5d06 1672478248000000 1673083048000000 1736155048000000 1830763048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-109 \\x0e0931db40077f549fb185a6034babd2e086d9ca8f8f013f87048e9773de12ff9adff25e054336c0d3e303e14398d7a711caea59b45b8275690e97c7abb7c4ea 1 0 \\x000000010000000000800003c6e5a78c35225377482d9f24e1d8181f444bd821f013fa7a095b22e7d2f92e3070a6c209bf78b7de54c984739dc34689a4c3fa6311f56519f38c72df1f908e73b06f03f0c0be4aa0febacc69e145bd48aee2cdd805f1b0a3a94461d11006285aceb850959c67bf0aa82c0b0b048bf092e5ab7e4a42575d9725b445fe472b0885010001 \\x5ed62d4df929c2f6f3f04dd66e4e1084cd075ea8b6075c63e3b773ac34b38936b86954e10ab718a93cbc3d6e97ae20bbccf441382bcc0a5432bcbcbe42bd8100 1660992748000000 1661597548000000 1724669548000000 1819277548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-110 \\x112131824c553af5bcf3d0ff90e2477cb7072833ea3a94e452fcfb8d67d2df09f714130904e0710d385fe2796d91194603a0b66f1a052dca71ef764165d63db6 1 0 \\x000000010000000000800003a7a23107bf6878ccc53268e08a18e5f728dd2a771858d2f7ec08efc32f27fd8ca67e504c4cb4e268842ab41574aeb28b114c16d20f68c34be52defc56dc652d49b42435351ac4f1c48074f0ab7d64d15a510e6fcdd4174d9dcb6fe0cb5df85543a79096393e6d0e9c08f1d812b22af3dfa2f0e2fd8e1535e6e53b8178a0f4e93010001 \\x36f8ce25673f2c649a96449d24dc6b01d4241c7d693fc844e18fed9465aa20869866bd2a7da838b90ff8afa18e112b808caa787e7a94885bcf7c39ce269f7704 1683359248000000 1683964048000000 1747036048000000 1841644048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-111 \\x1191da3e44d7129d6d4e02795e34552637ac7bff70d9d39218ce619071ec398fce69f4b6ee21d66573884bbf8365bb220584a4916a70835c056b77ee98fff047 1 0 \\x000000010000000000800003c19a9ea2992890ef62f86abea196749dbb5dcb11845af3d9ff03b38346e877ea7933c063cebb77992f34eb0b304461c932d90a14c0b4adfa29fa186500ab47151dca9e2cad0fc3346edb91c61b92988c0e195cd3141b863bd29a2be75eaeabd3761d65553c764a16f410eeec18eae208ccd0a2c7f3887ab2ed01379219c26d07010001 \\xd5b0b87258e1aec128ffdff77a8606e8ad7aee6e36a4756d5458ce00beafd9e422152406ba034727b3c927812c5595cdf3826dfb3a5c3ff02f3f54c1e500c600 1676709748000000 1677314548000000 1740386548000000 1834994548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-112 \\x116156af0dff109bf86cf83aa8b1080a07fb8d2208e4e822cde25953ee0a3d1e95040e491caeb892ac32487d8fcbfa6af75ea7e5f2c16c6bfbcedc41e0ac0329 1 0 \\x000000010000000000800003a899e39a6c2c55eb006a9a03fbf2929beac60c08831f1cd79f8f52181497f89162d093c70ab54d326039acf905e604603d8868d481b87dc32d885ff09f5d28f54b0eabf348c20ff64035adf35a7fe62ebbbd521632747738872c078b0e2a414b23d9b406cd7b9a66dd5729edb5c5170c03b282116dc5dbb84dbc97553053fc3d010001 \\x38897ffdf7140bb8e40305c00aa91598396e0bb4e3946c5128d08d69b62a347d00bdf9e265785c88bc1660a51905b2dc5e802bc6cc239c462d5ccdadc0655206 1682754748000000 1683359548000000 1746431548000000 1841039548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-113 \\x128553014ecdfc87f9ea65847aa584aa8c1d9fdb306b98bb11d9befe989aae2384a243034d6fc7189b2f902e73f65837ac48f4ba208d0c12b54594cb0d27ccbf 1 0 \\x000000010000000000800003c45ca48680dbafe4b41019bc258acbb8fe65b90d6f2e9e808c71ee7640b77b6fa8b0e0b31ff37c0eb3f1f3c06f475b7c5a2ad9eba1a016eae9713f216222bdb525b6432739f35feee8dbb5adb88bcdd62296f1bb03e0d2ed57ec033378555e899ca61267b09036debb20bb0f455f0524dfc3b1e853a04b5b3194723b1fc4bebf010001 \\xdfc79b0410f91d8caf589e5f579b9bb9de4edc41b7d2cc5c78a3f7d24318003f2b9816c23c1548e0352593ec3971a9b85199b5ac6c50e6fac836fbc074aac600 1682754748000000 1683359548000000 1746431548000000 1841039548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-114 \\x16753c61e142ed7316987d0a3e91381bbe1f9dbced754a0e3b721ba9a2c78233fb1176cf469493d5ae620a00a9350856c06b8230133ffd84b1a31d45bbfa7b84 1 0 \\x000000010000000000800003c0f08873c2fafb6448360066d74db7737bae10c90ee9c4dbc8fee6ab95f31a88d24861f6796a1f9e17c911378c7839349e79abc11013f64b47b70eddab8526c01f99f875f8bb6fe158d1925685f72278fa5675bcb5456ca4be70715be9fe65f6fc0ef19916304a10467c162383b6bd5691ef3e067c5835734ed18ee8643a43a1010001 \\x610ed1fa1d7b54af4d1b06df9799dd044a1e399996412b4e8f1b49e04735072099cdcb07c95890a95ff14dfaa452ec8cbbb9d584732e8b3f72ca3e6d47f2d809 1678523248000000 1679128048000000 1742200048000000 1836808048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-115 \\x1b59e01d1e524bdc9234bb606d7880344219cee5c44fcf34e5b5ce902bdccec532386b06ac538f3e41c2dfbb53a5cd8510bfc7e19b59116bd97d631afed8d5be 1 0 \\x000000010000000000800003a483bc019ea31010253c398d408463b0bb73cfeb22bb8786b5c2286b56025690b296eb616edf14a98c81a161cb1e55a4717e26836238eccb6d0d0bf901401132963a7fecd46f31ff6f6fb104e9cbe2e234aa2f8caa09719d7aa332d1b8b82e537a6be9ad1a2edfd3d488486e2153b66ebc2548d7cbe5e8f144557233f733ea8d010001 \\xae7d46d55642b2ab210c02b9a9009be99444ff8fc3c197562eb9e1a270ef9c278779bf66322d90e983e4a60aba1292e36f7b368ff6e755383673798d128cb606 1668246748000000 1668851548000000 1731923548000000 1826531548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-116 \\x214dcad790ed9f3727e4f20c47f58290e48562e692d46875c8733afc37aac95f24837ab63cc69a4cc1cd837f3edf5376c2ffacab7462f41ba2fd913b1f29ab3a 1 0 \\x000000010000000000800003bb61ad9a522b6eee209e73db9fb76e01c2d7fcbbd8a71c10e5e81baba89bf25bf821130779ed61d9cd6d855852d4a8a58456ddb6d08178e36144bfeb420607ed4b4678449d508f2a987392bacdba40acf977c497ccb8c96542419a1771756af92009d8ba77d11577c8d4d48d5d699335e66ec2682148f86ef52c67ae992b2761010001 \\xf49befe6d40dc9935bdfed177ee3d7c07756913870e03004deb540d492df3753c7254d774a8d9dfc7f050b9b814e66192b6d8b354b3cae26c30329bb82ba4f03 1672478248000000 1673083048000000 1736155048000000 1830763048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-117 \\x27c5f1b08ffc1b58fb03e4ecbea774bf9c4583de48f407875cd582c13aa0950e48b775898916f1183a197505222f67398e69af77afbce8c14254cdd876379c41 1 0 \\x0000000100000000008000039e01461ab65971fa4977ca7f227980ffe9cc33d089babad4a5ace9524a60408692ef49b14ffd06959bdfa616df1be53d1a540381c65a13c61fabfa47aa126d34a99e2887ffad9bcedb4b4cf65672f46ee50fafaea3bf5424c01de8f7cb84998307e329b43f4290937c851661f8ad6575c46e1b9a308c8515581e050aa8cf3e79010001 \\xb8e0396598be3f42c7e80a459b9a1e63941652466957ce17b32c4e9c36cd0b17a27d301fbe23025418b1605fdcf5b45c0c68ff49f367e60b4e76303ee47f0e04 1671873748000000 1672478548000000 1735550548000000 1830158548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-118 \\x2a3d8c79bde925608516d514141b0203c1c6c1341fe90a7dc942c176e54a74b1010b9acf3d022e4746f6b6842b9f09bec75bf4d33c136a044c0b2aec32cfbde1 1 0 \\x000000010000000000800003b5e820d5baaeee6a8d403002c3ac585813e1a19f6e0b1c92d251ee7d68785d8f74b89a5a0d5487000a4f6f78b50579aa188fee6397924eb06d13d71553b4870caa39ecfb0cdc32d7e7b417ba5e20bb34d06fc512a7ae3ff0767b0c4e877e3fe2c93a787a15aa9873a206f875236f248c870198fabbfa341b54bc752cb6afc2d3010001 \\x31d91bdcff66139d8237ddcc1a84d2471c2481882fd06fadd7db210946e30548b9a05e1a6c6297eea4e43e2037294bd68e6d286dd21e801f9f9eae13fc97670c 1671269248000000 1671874048000000 1734946048000000 1829554048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-119 \\x2fa598e7ddbde9838b39afde0f627eccb0f2b2ad6e0b38c9e6b5ddc8f1d1956ddf2bdde05fb93c4ba08bb5cba16188dbf1d221fc89e79f81db84d95352c71961 1 0 \\x000000010000000000800003e85e935ed84b56b3fc788c15be6093a44214ebfc84663fdf11c415d50726bfe85adf2b2be90b7fd20c0e8422e739a6f066f5502ca438d8921eea08a917c923e5d9e405863ac21be30b6e4cb828f8ba8f541ade0e42d7f0deaad8b0e7f71d268741048d7ecae03e11982af42e4896ce4ae81f4d9127c48f19c3325813a2c043c9010001 \\x9727108d460d56e52d064c5071bea31e3aab56b9e23046ce1e11df8cf89236aa8531f48eef4c43fd58712d01958ca1351297c2068e203636f8392dfe1cc83204 1687590748000000 1688195548000000 1751267548000000 1845875548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-120 \\x2f19fa22b67b9cf04564223d8dea63017c3116603626e1b1b1cb4d06b1151585c282a1aa0a84a5416b5345eff5983e382558b1648a7ffc69b77e1fe314e5f4e3 1 0 \\x000000010000000000800003b5cb9fc44101fe7345cd0d20b35e795c627146a45731e1b25479e1d97197e1685e5ec2f573c2df5f5ea9571e90c3accc9491ad79758d50310696012f81c114dfa380cf03710c68617956c531f97a2fbdf051d78b7aae1a7cf3f1235f6de52b0fa267f9a9401de8c2622740fc3e95d7fdab84f48acdb050699d95b23d79122895010001 \\x1bff1cfa4823becc68df04e0ff4dbed49ab1af31f3b17b1d26a5a7104d7c1bc3808b5b0bda3d98ed9850f2b26eb4661b3ec42c59bea289769f01d9c3171dc603 1690008748000000 1690613548000000 1753685548000000 1848293548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-121 \\x31212d86bc882ab091428845dba1f2bc711e6271cd5746f9fbe268366bcfd6cfa3a86b6d5d4699c280ab58c43f56c50ef12cfabaf2c8b5d73fb9888b8f868827 1 0 \\x000000010000000000800003cce60e09f93fc4c3c8465964f189056350e87d0c08b311a345161a0254447775d9dcc997c246917b4174c78869d861b76b2c117524fc307afdfa971ce0d78cc6f8ae32a30a5e8753c45fd88b25491c3dc34e85584ea8568d1b466335cb4d9226bb7a6f05bbac8de51377042fec94b663c33c6a32c77e87827145227eee72fc3d010001 \\x1e969591a2f6c80c30bf8c2c9f5423b64a3b7d83c14064b6da8cddbd5b83e7316b305a4445efbec894215f7740ffd5aef8fd4734b79c6ef5175c82700195fc0a 1679732248000000 1680337048000000 1743409048000000 1838017048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-122 \\x34853f62ebc68831475aa77fa0c341598db11c54fc0497abb64bb21879ded37f6ab0cc0d0dc60f0ba1d5bb8cc75ee009a58ee3e741e4148b331f29f61adb7d0f 1 0 \\x000000010000000000800003bdb33feefc2d062a29a616f348257c5c3d47a46058b6d526f75a6e2051ac946612e21cbe0e4e0eac39e9d089ff2f74a04d1fbb97a370060722463fa8446dbc92df0d035b0ef2173832e5a2eadc8d5c450e6df45fa49ccfe490dbf3e5bb83573f349bcf6ac9959f989d6ed4dde68e4d5450dd32cdd839d39e680a5ab8d9e133cd010001 \\x3f85fee31f10fa76c1307da6ef70f6c5ec318750a472925cb725f6da7485a2b04b41233d268063e4df498f66547316c38be74ff6041cc077f6f0bb0de4505d03 1677918748000000 1678523548000000 1741595548000000 1836203548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-123 \\x3781b9acd0a9594d1b0dd6235857f407c53fea3f8a57b2dd6b9da0b873395d54e2c27b29047cc3ea76f04bf97308740a49f7ebc9741a13f5c2273c0701e6e4d0 1 0 \\x000000010000000000800003eaf9c75685bd93ab48efec81619f794938aa2e80bd847a19a05cd60515c20958b1e80ae9c942e84cf8028b658cab0054008fee9d9d86ce97f5b56af3b0feb82b4c4b48a71b92ccc96e0a77f3fd4f2110f8b8271a5999aae6e2422eec99d42864754371eead51fe8e4f4088cded5559a08bccc1f00fca644087d5d59048b59daf010001 \\x73e84cf74001ffde0763698a75cd2aa6b076de93cd7d69aa77ea0f22352f3b129271ec59ee3931f052bf70055d17839a416400fb887918337169de66ba749c05 1679127748000000 1679732548000000 1742804548000000 1837412548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-124 \\x3b4173593e5879fd9bd23cc88ec4ad3ccf7a2ee5e8c2d90c89aede30b9a3a991e6e803e64e479cf2aaa332c7f3f23111dc776678550e6b23cef71988e1338041 1 0 \\x0000000100000000008000039891ddf1c53d0985c2874eeb04016935bf70a7ef1fb897768b16808e5e10a4f321080f45b7cdf7313fd70839754637a7fccc6b95a6a6d7d0aa879e2f199c1810d2cc5892b622399c2eb896dd547b1334f25cf44c728de20f2a2b2995e6dc575a6979b952bdba79f833d21fcd8bf49397d285ffe86e431337fe756782e3b36069010001 \\xb109b0cd30c5e6a7e6c180e71a9c5e06aeb29fa720ade66176cd01f1a56f2630c4bd24fde276b84e65a205ab721e187eb94d8b758bd3d0d58f85634970706204 1676105248000000 1676710048000000 1739782048000000 1834390048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-125 \\x3c55d22fc1a5381bc565871fd077e4590e2c435c70e34a442b72a9aaa1492a8d9404e4bb7796ba220ede54373244a1a5f084d6396fec5fece54707d9ac331306 1 0 \\x000000010000000000800003d3a6ccbf5bc7614ba25cf250e487d251c18bd4fea3214ff57594c0ca7bf12d526d494533d5277b298596b73bdbe211a4938bb11a1d0807e8e4b5bdd780d7f0867b05a956d8d94aacf0246d9a4cce4fc6f0eb04aa095604b78ae219af2ca93cca23e180a1d6f58f35bd9b914808f3ee350cb8aea2951f0cff30ea4f2e21273d6b010001 \\x16e2ed1e56a506dd10678b56abba3163ea7a526c765724ab28e05e336834bcf49d745fe0ac7b6018ff9d6dd6451993d5feb89e5c281e40bd38f0c484e1c0c203 1665224248000000 1665829048000000 1728901048000000 1823509048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-126 \\x3f117f79b953e974d23b2ae4b6706ccb79cc81fe1fc9c77a7aaf389282e2f83318edc94e09db19dc819598f343d31a9d1f28da7251e1ed6b9db004fdfd26aa00 1 0 \\x000000010000000000800003f626c53eab308f2947efe663a4982b6ea754bcbb3de3d7d0dc4252d21c957bd6f8fff3334d7c30ed63f4deb0410bf2d0ffc372e6ba792be5c9d74cf9e75ddf673ee960de739359cb0528ad0c0b08999a9ae56b846292f89dbd0f5f6a0e7e91582ee02ee04355eac69b430acefcfb90be54c427b8bf6f70009e6aaf600671f74d010001 \\x3e32e8aa4e46a587c7656ac737f5d31350248b1c7f064706788168148b8c0c91285de60369832f0a0831c2d0cf0c588a9938d3a3c8022ca92d77f3deac00810a 1691822248000000 1692427048000000 1755499048000000 1850107048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-127 \\x3fad35934d217428283677a16c72084ac3e32371ac84658531b6449d46657ec0447fd818299eb575abd3178e632444b755c116461ab4df3aff7d1c066cdf91fc 1 0 \\x000000010000000000800003e4e8c3366034493973e21f8bd3441747da00b0690a54c5f71983b3485850aeff8fe4afed7d6c007d233f7b2904aa757bea1733d131b06f011ce801b99aea718b9b494a9ad763c123d2249c9f3b775556dee9d947d9694bdbc43b6530089f13c1f8e7100faa1491fb964c7eb54e83133dda03f0abede9bf646b671d80e3e79cd3010001 \\x1d37177700c174da3085cc56c394fce5c163cb3f78340acbbf86c1cb8ee8b9720ec889fa413da381e9bf71b7fd6cb202d0be51603ddb6e2c814b5e590293950c 1687590748000000 1688195548000000 1751267548000000 1845875548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-128 \\x41115ac718dc85bdd0dddfa07a7517e5533a371112fe6e644d22bc6aad77363c4928bd051ed0b4e5ed2278fc0054b3f65c7fa47a980409b0bed79831a627a2ca 1 0 \\x000000010000000000800003c365518b008c1a7a9fe4c43f406d3fcdc4d58b72bcabf52f53b990bb60eeb8f5969b480b530405a886240953934d8e4cbaea20bdba347e1acbf0be2d87fb89869d841c42f48a5312297c662d90547c979d9ebcce1af497c4a71ee7f3cbd74460f3c04ca59b196031d0f46f1e34674b3ae64614a1b52bae32b5c8f4ce8b5058d5010001 \\x512ad33fddf20a208df1932748a836bdf75eb08f939b4aa7982f47fac8ee1c9e611f9fa436500f41bdc25ef76cfbbb80cc649160b30882860760076b9b2c440c 1668851248000000 1669456048000000 1732528048000000 1827136048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-129 \\x42c5d22710faa6c8f57c3a91fd6f594ce998de1232749cbf02acadf11fbd4e85d1f60f99962a22268bdc7c96ed95ba1a8ba5dcf117bb9affa336cc3f54bb6d8d 1 0 \\x000000010000000000800003dd2987cbd71a5cd8095d78eaa0807757f0179e319f935c59e5e15223599dd2b4de9e75b30dbfdb07217c80c0e53d1072f7ac4c3689a68540fb34194dfd30220bfa774ddb79edf6c41d4248644b26445a50fe5ccb7a5ac677535ff6e8a30238b8ac866f9c6840b4c6a1ee6963bdcddf08e044145cdcccf6fae50b151e54aa5929010001 \\xb2a51a42a22e122a755d9fea32eb6c80cef92b4bff66f43e332d65a49367941bc02fa2e390160cc9f4917ddd45d72e15ffff27200ab1d021ca23da46e7931606 1662201748000000 1662806548000000 1725878548000000 1820486548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-130 \\x449d37c99fb9586b0f3a51be310a4d52f4c90140e9226de4eeb4d2d483e19163812f0f41666dfbca4224f541ea3d9fca9f4d875485cb10ede67d84edcc54ec1e 1 0 \\x000000010000000000800003a69eca62c18cabd815dfbf1875aa67aee7af60f1d28db518397ad56471648b3381248603629fd695fde5438bf4d15ee94d89aa0d9e30ef5f12a580fbf72d13711c86b509d8fb4c353b1361ea1ac7f8515469ee14c2f9bd2df84368f69cfdf84ea5e8381771ab55aa6547caaf128dc667c1dc1cd72e8201bc06f9e6502eeb141f010001 \\x617c560078bea4b9534c33fb2ef20c6610cf1da49936dc094b4525f4aff7df949aa162089a6bed0d46122507f656d9a65a84069bdf28483eea80d1c779623404 1675500748000000 1676105548000000 1739177548000000 1833785548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-131 \\x45d9ccf80e7294095a24c6b0aa5737e7aaf2e714b5c45767a7f2e3bfb4ebafad40af73ff8f6cb6b7857b8a95ff80d42e6dc423f7f0bf0b73269d3ff531918b73 1 0 \\x000000010000000000800003ce082141f55e7ecef732b5a3a7d921344410b57dc329dedd0750a38960c22f81af0eee9ebcb82e1d9ab87611c4a666c2474b4e0dd357cf8bebcd7b012800f33fc543019eaa43144ef79fd7036afadac91cb58af0b8a6d779cdf652ab39c19b7d0fc129512d708c4156c4ff7db6013cafa0dc01165c9fc12bc28343a5c840fd7b010001 \\x9489a7d1b4c1b8dec2f1b250c2b0ae2d2587935b4633c96c8c2fdba4707fd40619ff43f72fcef50aac9b95e9af6bfdd544e3eca036b6bf0cb6fd356f2b20e50c 1666433248000000 1667038048000000 1730110048000000 1824718048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-132 \\x45d1b38dcb1b74bdc51f9d8738d3471c4f16f5f69fd653f192d05251a5b84e41dd1080ac03a857ed8ebc20671bcd8d9a2085f1519378ebd475f40ce5b46eb25b 1 0 \\x000000010000000000800003a66e254cda522f641ecffeede6fd9d61a5a9e5b8cc49d9b5201f1a5b1592875c1a90d0b7920106cd2b2244bc178b5dc3bdb820448dc2fb383547c28a7dd83cdbfd38fd40851253cf713e21d476718d78a2ea44e5c7fa8bdd4dee51ce264890ad952cedf7ead7fe5d66e34fcc4be9c050df34297fea581f43aa7847f69ee8ca8b010001 \\x09a5c8115ae9c992b15194361fc6b1b0410c637810142c8f7466c1ce13a7f57880803149fb15031f749b7d7f8791c684511ddc7342e7d5191b0098747a909d06 1678523248000000 1679128048000000 1742200048000000 1836808048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-133 \\x4db907d75b4b99ea8eedfc64b0cca1ea76b1637c786a491052906c47bccde1998e158de01f259d61832e0fc81594744e5ba4e11574d39700f55fa279e5e6f977 1 0 \\x000000010000000000800003af6dc5ef963a24101b7d468f3264691a2f493f6ba07563c4163539151dae8821a38ce0db964aff64bfd788054a554be9756bbf27f547be64b21ce6f4a8cffb51510a3865e0e6bd73adc34c39e885e83cc06df9af5341827b50327c815c60b058d75e97663fcc3d60f1d38ce7b453c9dca435b4aa2e29a22381656447604a1fa7010001 \\xf9bfbc916b95d1cc59d01bb6079291e5f4155d8e18a71c99d4a79735c50ad6576142a6f042da53f6509cfec72061ced035b2c3b5016452dcb6dc9cec0fcd430b 1690613248000000 1691218048000000 1754290048000000 1848898048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-134 \\x4e9991a2234315d7dfab9e9069e66255dbe62a088338a23c9b3e64a9657dabd37e984931c598ee8f060998714c88527c1bea8a2fc68a9f400b14e59d21bf909d 1 0 \\x000000010000000000800003bb0e4fb1ec1214f7df75baba519e23547a176709dd50959f8b99fc0d2c729c15b804c2916613c002d378fddce9c0ea196fee1a061c7244fbfea3332fc3c6d535104065959a4660eb9db1455b671d176c43cd68eb939c5dbbb7d88e07947f8ea9a9ece28121489db07954847f3efa4ed573527cc524856fc12e6531fabf351c99010001 \\xf1a607ed74b46cf3a44a73e0b2848f8e87ebb452b9a01e2481220f2a01fa8a23e9f302a0426a3147cfff766e6dfdada1500e87245012217274a30879203c8303 1682150248000000 1682755048000000 1745827048000000 1840435048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-135 \\x5565cfde3c29a13c08b450c217c50d46a9c2ffcbc67a0bea8c321c447a05f126eb22e07dd86d92afe285cd8b0468f5329587f3a5288925c9152a0c8acaaed3a5 1 0 \\x000000010000000000800003a574015302a011bb4f0b0295b41bea6bea9d924d28230c3c920a8fa998e04dad28ad93d849dbe4f9898a433e87535403690e0485406cb34a1f135f2c04de3fd123a9e7a5679f0068afffe428a99e53f7bc1ed80d915042a379d9d845b7734bbb0a76fcab21c64522c4c4cee670bc1dcc158bed2f0e3f4bfb5166865ba65e9ff9010001 \\xebdee8324052eae03638711685a5a03eafb22f75c383e07e5ff3099eebf2fa2f6bb21a3ee266eabb91e123028196830ae2574000385b204848916c0e27ac4c01 1686381748000000 1686986548000000 1750058548000000 1844666548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-136 \\x56d927ebd6b66705feed0c866894b768d30c13e8fa382b97ba780c766e19472f78ac9d5ac61f13770a5e2150b29258ec0d9ee8b58f9f58939da5c04dc3b6fc66 1 0 \\x000000010000000000800003d8eadb7729a5aac33588a530344343efadbf46baa86803f57dc0f4da5acb8e72eb0610f3a3e25b129005ffcbb1538f4a7f7427658666fc7cb9ad48be3243b0b7a137a413f6dc834959dba815bcfe5afe417f64cc14eb26566cfc80598d4a5870f046cb68e5c10bab1e8487ce260e4254f5ca841bc9be94438d9c5851bad0998b010001 \\x9359981f1a939444c096b9732b78a8f344d6f8147d28c72bcfa92df7d82c8d6c5522db55a6785eaa5b40ecd4abd5de45c993b429a623e93909c59993a2658a00 1670664748000000 1671269548000000 1734341548000000 1828949548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-137 \\x5661752ac9baf4dc218ca6e0374f3d5c50dc05fc7abf62777d37fcd18b0c95e8afa2419741e3d4bb6a63de3ad16d39511324b7e1b857e3a0fe7297d39c8da352 1 0 \\x000000010000000000800003d9f9840f1d6411b8eb829a9aad597f1809d5cd2a67ed5cd18f926878846ef3c9871e5dd621a0190d264e2d1ba80ebb3db1b295e38e1d14e11cc41461545be1fbd0bbe1a9ee0a55d3e59898bb359794fc9a597f2be1d3b3b871f6f37206e5310f9cf311be2a7144c716886c4ae4800754823b60a22f9403d18ec3009762d49ac1010001 \\x00a4183bbd4e73d85f412a7eeef00709b4558a5ae35c1da78074be5df24427d2a40fbeda880eafbc6c2b716eeaef91e9baa761ebe5c781d6d838a6d26683a400 1675500748000000 1676105548000000 1739177548000000 1833785548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-138 \\x58b97bc1263d85b77bce98998060e79407535b7ae6be96e7fd95c69cdd13a1c8d28bed8c6629e03363dd00df420d2b92d81cf5c20d6dd95b8b0ffb72d6238d81 1 0 \\x000000010000000000800003a3a4f2c5cab4648cbfa5cf44fed618bfb5d97f707271696b854ae18aa703c7bd390a892ea6a95f9e5906ea52e8153eb9d8d222f58dfcfe4044960dfc70c65e7592aa2a33a8812e63a8f68c3fc484d28232934f9a6b4eddd35a1c3df53a6d8c6dd00f79adee53eeba1b0d94cf0fcdf4f0b1c457a6a477c85b50ae8bfd3bd24f31010001 \\x55db794710076798768b6ef1edfcb6373307027b2b28b5f0b22ff0e368f764e3ab660d06993a477a3c89963a0f7d5b02e0f063061e46f81cb7d7d8582ebdb207 1664015248000000 1664620048000000 1727692048000000 1822300048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-139 \\x5cd9f20ccce9f6b04bbc8fb52b9993af3285bdb789fde9ea2e5b79f2cb149d43d1105dba1b92c8fae4de884383ddd80bb5bb7acafa4007d735417f52a81fb7fa 1 0 \\x000000010000000000800003ce737b5d591935e9eae8334ef9d4b031afdfd4c5b920e3db9e6fc05b5c4d59f3a5001bbfb864ae3d6b97d7ad2479945ce41481aae9b292376bc8a67690d8f2468cbe53f2192d1b035c049a5f684a168732802a25c9b35667c7a779b6ad0c03cbf40c0e71f0dbdae90faebcc6275abe617a0cf7c0bc7eaa8c6fa5db5e3317107b010001 \\x815ee2ef4293d6b04ec5f73d5273b5f2ed3542f6571401f84ff9b9d37da941fb6c975f18285efdccce96932d3356fc586453fc6e2e292e1e24314a8c24fa0303 1667642248000000 1668247048000000 1731319048000000 1825927048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-140 \\x5ee9a9dfaba1a1aa36230f3664cc7e762f873a03ce68362cbaa4d95426634d34ef06417be4d5f86da08e215ad621731e318756bef54a08da7ccbcc432ff6022d 1 0 \\x000000010000000000800003ab6caa867cfaf8b2759ba22404d57b14a0b99d20091b89ba99ad2911847b76dd9f07fbc34444e42c9bfafafa2f7732ca763ef5e1613f871b7704df2bc1c8779e5da2ae870f2c1073c72ec3c60e10b6202934a88cebd6786533a247db2f6f0a0a235f0a3cdef333c48323ecc5f0d002e192aa588fd1d892b48315b19e41276257010001 \\xc9cdf384b1145112e9879787b354366c0aa92398e60dc426a43234e9d68c750480a2e605e273df06109f94f4b12ac8a87c3596dd8c18af79234ea9565016290b 1677314248000000 1677919048000000 1740991048000000 1835599048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-141 \\x6635c6524e9f988aabe978a60a4c7450008072b0f6dcab33fae9cbffc77c74f351fb8033603be2697859c7753609632ea82caa7a2fc832b91bf8ee5f5e52864d 1 0 \\x000000010000000000800003adfd34b36746ed3f4bbd6ab37e127b4c12ab0c2263941e18363630f347400ce00fa474b9bacf60b3568f3c13a9b5d28fdc52a92e34dd8ef3919cdacfb635dd6decb03d9240f754d308b1db697ce16e378105d810eddc0b0e36b102de21e9fb477982b91d58274943fd43ec67a29bb017282d6ab99e3e7e08d8d7568c82d7ae0b010001 \\xd526c8f7ea4e20e46b77a8d1d7ecc8a91a8c209a6aa7cdafd0689f9c3fb9e01de383678f11b7af18a4c79e38389311ad1ec47103685c9df5e44acc1252603806 1673082748000000 1673687548000000 1736759548000000 1831367548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-142 \\x68399bc26112c34cfa959bc475b2547b30b0f63f417217c983f0d688a92142b3600843657f9eee8a7b2eb6b98788cb25c1c6fe0691f78e3c921ed3e7c64904d4 1 0 \\x000000010000000000800003ab8ab43bba62b458bf4e6ccd390075a9b36a0f1a089b0aa649a5b8ab64904a61cc78ed2fa89637165623c1e1275ead24d03a8d8a4a8a706589bb770d5629ead5a438ada3eef37afee4bad7dbb79bf0c620cabde713d40fde8dcc79c972592b371ebcad6251d2d01fdf4b7231582c30cf33c25c8cfbbdc619ef7504b947a6256b010001 \\x45d1d7223bcab4864e9213f133e372bc9d6a699d6a716e5eea40a5b2cf74e768c0e80e6e5f757b945dc937498d4f6c8f029fa8618c94e36e360658737f93f400 1661597248000000 1662202048000000 1725274048000000 1819882048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-143 \\x69f9604d08a38832219a799199edfc6ec131c06c3d78441ab5acc7f26fa7f89cf91ca4990b0fd6d2a49ea8b1210cb405423271cb6a719da337def4137253dafb 1 0 \\x000000010000000000800003a96029b0f9a09b4194cf95ea0b4025782c9ec5303cf6c2848b378bec1af0b5432d3262f09482330fb344738fa529917e5a7328a55029bec3c041c2007af0dda804b3b4ade9fc3907d2daca1cc817c0ff4340ddf682dc8642f2f336c603ff0164d298218eea8fa50a3c91b74e89d02806761ff8a7cc5768b3a38d2f0bf3f90bfd010001 \\x3aed4fe2cbb5484182de23e0507c27e47de445ab387dac1cfeca23e8102d22f5f34840e685479221b67cf9230a56978f3b560e254c743ec94979145256a17502 1689404248000000 1690009048000000 1753081048000000 1847689048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-144 \\x6a2d75f93d19746a32a1c6fa389216a1831d22159114fc7b89fcea42f87f69bc213c5e772c3abc09448cf0e8527bc16d1337dd5df3287c020bb5d776c40702be 1 0 \\x000000010000000000800003df282ea57930841299507994d23d938041caea74f8a7fab2e76f4f59722ca1d4e0e5d5769f9fe2c668da7ccb7cdc80ef86ba9d9d5d2a44daf2edc5ba852808a97a7b5171f82f5a72864ae42c467b54f04fe7f2d3fc56ce413f7ee9b79bf9c52ec38a41a7c2e3279e9a4c78325a0a831f958795bbe4738a52bcc240bf70ac8d6d010001 \\x071043f0e2dff9fb0c7fb944a17b74fc6dc4b6c58db5e666b6c0b42ea4a936d3e87d67a9d13e9caa7441c3ceb361e95aecbedf95cde13d5f4fd3ca925060e108 1677314248000000 1677919048000000 1740991048000000 1835599048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-145 \\x6b29d6ad499aedebfb65a12984bc80aa65dbe97b7f3772f7b0397bce49d85cb9df323f793981736e53245e744cee0da8b17354c20e943c8884e2a8e900af802e 1 0 \\x000000010000000000800003b03ca03f895edc5620759d44f49eb0af08be141d1981ca5b327c0580fedbf823a9e7a6bf96fc18d7371bb1d8eb2f33456c0918d7a27a15dd539c77740602dbbed92ecd62d7595350c6d7483a7eff5e2f62d972b23bf654027d9f0166828fe395374624b3f96840001c0ef2e6b3a9c800b97ce5fb8fea0e99fc3ab3ba51a0bef3010001 \\x1b9f3d14939ae652f95c83b8e05862097185849dd69a52ece15b1f3226d96332acd2c061fdce4c8c076d32c14eae86241c0d74f3bc0035e7e24344d175dc780b 1691217748000000 1691822548000000 1754894548000000 1849502548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-146 \\x6ce96eac0315fb0624d33370390816366355d9c51b49eddbcf2e12c8077be4a9f367866d634f471a2768684b029c396bb144ec54c60b8c9f9afe1bbcff88ef60 1 0 \\x000000010000000000800003dfcca1f97e3c3378dccb0d1560aac63baa461bf8502f0ee937ac735509044c521e17977aa9265174afdf8adab524759c93460002a585f9b39808c88c2e0d8f1cb4622ad97dea3fa243508877783ea07ccab18967e31396f7803fc2a063ccc916c80dc6832c2fcfb77c84d1477362f48edc2d06fe8b65dbf701dacd7d56606707010001 \\x1e7c6b10861ebcee231df38a9fdb3b9323df4f3e196a67ad6c52877ad3b0c9e205fd39837b1de5879e29e7bdf953568bc335ada09d012f47c9787b41de941106 1668246748000000 1668851548000000 1731923548000000 1826531548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-147 \\x6dd50136805d8d24ffbebf5da9b6c9ca27fc66e454be49441a533122636bfdf0c2db7c477d67932e17f65bad5de03daab2404521bbe185bba2ff5d9677d967d8 1 0 \\x000000010000000000800003aa477e8eca7e9ca2cd6facaff52257f80261a8bdb75b573f83d27a4dd20c0c260759edd5c90298e6e09711b3972ad5ac9961096e532b5e924de3ef3748cbe0ee52b06d160e59971943575726a9f7105d664205036e07fb0c8dfa7cb8506fe0d29cc28bd70a38c367506acafbf650b1f17560c3d7096cffbad34121f8b83beea7010001 \\xf80dc961b6dc4bafc34a4b6009e9f67428d7651b4bce7fc0e0e2d606d8ea218881eddcaf6434177143473674ff5a15523b9a633c817b8ad2e17429707571a000 1661597248000000 1662202048000000 1725274048000000 1819882048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-148 \\x6fbd11c4f4f09c1f6066420c25b0a8a65811455fa7584e7cecea18bddf63d82b3fe80ca1fa9de0fa12def8429f39c052bd39b14706869e0fccb3e202c92f0d16 1 0 \\x000000010000000000800003e192155fce615815c4315837c1f88b3badb6c6c3d81718d582fb2270d340232d3fb846d39b504099faef7f14cb1becb33e34e154df6aabfd96418b7bfcad8d2198247f5506ef41dde1a5e6eb10d6069204b8fb5bfbb1a8a64cb13dde41597700ab0f255f7817bfb45767b03b099b9225a4814b0b30c845e23fb54fad2729b421010001 \\xfbaa8b02e53a1e5644f17397846b38610de51f4efd74023286a1b29016a549e9d5ec2b75c434dd244a5713ef6b93b4ac56dc26aadadd4640c4f60da9fe23800c 1684568248000000 1685173048000000 1748245048000000 1842853048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-149 \\x76ed524a0e6e5e34a4cb0a2bdfccb54c1cc10b2fca5897c8af40f5304a835f58175127c95acab3ae4fcac4713b0363f0ca2b17bc4432f6aadd382f63ff202c31 1 0 \\x0000000100000000008000039ebd034f480206ca583c0360030347be9b9652c4e6c4c3b8587d3cff8423da680a005e43632d37a5ddbaabc6beb17a0fdf68a41d4c3076f55fa8d7afbecb21d5f58de56ae384b3a758c83a0a1c4905c22b1e3586787015d553838f6e3df12a7c4eba0e4f25df19c152f62bcfb70b044c03d1761215e1a69192eab3875ce28c05010001 \\xe81ee02a2a1e25718d4026e61561ba6c657fd19a20b9913c33e3cf8a8ef72e06b81ccc0b80ec12b48cd77c78e1d6203bf4735f35d73921bc24f8c3cf91291103 1688195248000000 1688800048000000 1751872048000000 1846480048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-150 \\x776997d353ebb35e2f6b334a6ec2cdb15c17838e469a78087c4fa745c0a4df1cb8f75faa6b1049ec1adb2f40fef4e1c71efb9a7e9bce34703506ad660b172e6d 1 0 \\x000000010000000000800003e22ea405774386f4dadbcc86d47214f5bc8f0af6e7986a8ba1ec5bef31647b2c4ac0df489ecc936a2f3982ca18c557237a07e9c916ef2d6dd5d7d90eaf68c2cd6f7de50c49f0cd10d6e08bce22023582b8708be5c24f25ca974354faeef101d979f9034524183cd9212eb1fa8770eadf15bd3301c18239ff6bcc8a1e232f3059010001 \\xc17991c8b48bb92e54c6cb5551a20af37967861407ff45b9177aed502d5a42962c184469b9a6506ed52afdfb8297638714f8a910c6094fb3af10a82405781e05 1670060248000000 1670665048000000 1733737048000000 1828345048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-151 \\x7789551b20916b032956d494c7ae828cf7ceed5a11baa01c4e573da9c6cedaacd1d2438166867956e3ffe847ddd7438cef02e4436d42c125a20f68fe85a54d9a 1 0 \\x000000010000000000800003ab933183bea5678c397d216a31a43ba7ac1bacab572b8686fbe1c2250a680369610338579af3afeadbf1f8bf190e6373a1ec76ec48f3252298d3207da31da0224c74c4ff4db0227772191d3b92a80666d03c4f74009b1fb9f097904b0965c188909bdf39538b582865d276f7e2561a5e1dd9048611e3b37cb32473a0c2ec693b010001 \\x780a6779836c47b52dce094d98bd690e3c45c5ab630dcb4c9483da3f6323b7c7b1b5aba2dd018f9949b4a4a5bcc1c36184b0fd80cf557dcc621513ea9577ad00 1688799748000000 1689404548000000 1752476548000000 1847084548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-152 \\x7b0d29f10049a73e2e0b3be972c9b13b28dfbfb28e792d628b903cb16128c116fd5c5151fb50c7c87fcd7681d71fe708b307d74953db9e6f87398014597322a1 1 0 \\x000000010000000000800003c9426b57ed1386acdb67c38ed4553d5d5e2316701fc12a0bac0fb7346c26db4346b43d50a81768b423db86f008f4e168c6dd75a8edea82298aa093ab33290d56e52bb8ac44c330139c28ee77df1273decff57e5d8a63c32ceb48bf865b445e7cf97847e7ed57b6a69531b7ccd3896da589f3a647e2cd27a568061a3d325155bb010001 \\x28e1ac93b9efb0e0f897ff943b528333fe7bf0ec97c7ef24fe262de3a7dfc7abf36dd8f119facd393106a406ef0c52d944a5d9c0f6beba0c74f5392bff7d9d05 1684568248000000 1685173048000000 1748245048000000 1842853048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-153 \\x81151105381f6e3e1aff444197864c4a15b1d353ef83b10986c9bc1f5197bf5ec892588e6dad588b3cf7850846a206ab9d4940e25a5ece6aa308098ae445ba08 1 0 \\x000000010000000000800003c6ad46cbfb4646450fdda42503d8c6e3fdc88a15391d7992b1a1c01281076fbfdc85d8c83d31456f6e110e4ab2da6a1531893a0669850b15154ac5d0603a8408c72f3d4a0669eab5b0dfad7e68e47d6bbfea91201402676c0cbcec6bfb565afa4298e42f75482314f367f34929a16fae81893fa40a4a86dd7088083b73c0bd99010001 \\xfa7ab8c4c53697415da06c043a19328b1fb659378fb71f14ba0816c8121c98da77bba8bcac18c2a8ef555b538ec43586ea997afc413544adcf8b362368039605 1668246748000000 1668851548000000 1731923548000000 1826531548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-154 \\x8121e4ff8c4a6af0f877e311d939d4f666763c7f291a01698329a037af409944e461472314996d4a1e0738682f102945f497b14dcba158561d58d433c87ce0f6 1 0 \\x000000010000000000800003b6895d840609960115d8c3b799157c8108cb88cd67ced3633c40da045ca293fab58eb73a4626b9f6050cc36e343de84cd6832f254342ba73f59ae025ea0a7dc3f3ae2552872aec5d59ddd7186ad90d3a6014fb9521899be5a0b73f232e229bca45da335db60589cbdc08beb73e9df3b707316f15547c260024ee554adb319315010001 \\x58b7037e2f7ea0bc8fd4f1221129fc30631b1dd1294ac7b01f04edc0c3941951ecc70754064a054fcb841ccea2bb27c9c4925a15c53c2f8adca812a96147fd05 1676709748000000 1677314548000000 1740386548000000 1834994548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-155 \\x8499899fcfcaa77b7db3c7109da3cc7bca7545c891f40afa3de52871eebf5f3fd56c797a583eba8cc2142c607b5907946b00f6114e4c3b1bbca1ec8db1f15790 1 0 \\x000000010000000000800003bbfc2db931964ab232bc649a18dd1dcd8d991d2cc0afd4c9d0b086f092af4aa28ee0e14f5a9d8d289d8c0e6bd872793dfefc721effd669cc5636ebcbc3f6a6115e6b51725adda270bbc00c71115c12224ace5443458b17ae3b985aaf54b96c2ae119adc9dfe1cd4df95971b053a64443b4ecfda8685cb0fb1ee3c1268e38abb7010001 \\xbb9250e43dab0990da7dce002fb0e9439e5877f1418a7f47551a79948194019fd2a8735efd6cff0c1988fbad26b3ef387996db818598e3b3fde68a9ff8a2b303 1668246748000000 1668851548000000 1731923548000000 1826531548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-156 \\x84397112d15935584f0ed52e18564ead3bb9c7050d78a789ca22c38abca889cdd07bb050aa5cacab32063a0e439633a200724214bd3761043bac58c71970dd6c 1 0 \\x000000010000000000800003a8505fada25cfe41a0512fcd1b71fef9d2b308ac0480c4e0c5a34b8ede77cfbfead69c86810597c86c885c15d9d06921a3204e40b83a97679bc5f28a7968e9ffdc592504690a3b017f4a1e38b7dd0ebcc6f98b026d7e2e56ed5fc2c325d9c26898ec1785f6456c367d269e1451d0ba8ab2242ae32169918677026340e8d19f7d010001 \\xcfea78b75132daf69935f1374a192951e396491787fb349ec640c5ad81df108e1a149c4938197201c9c14f2dbd6b84c3a0493172c46e0671f98318bc462e4604 1663410748000000 1664015548000000 1727087548000000 1821695548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-157 \\x8aa9b1672fafc91b8f8735861f504bcc14205cf65b17831f33104427a4ef8201e88415e3f26a2b8930865c52a3f42d8107ff07570e6c4fc0d79f2abaafb3173a 1 0 \\x000000010000000000800003c0b9bb187dee21b2e98e6fcd5da224ea75fdff2fb0c9e55f6bae549739990afc7e5dd98de320e704b8a44add8426732dc7a917e5edaf1c928c5be4e9052f5c760f18b8ac5132007a5666923b2b81c6caaf8c1d1dc45e31ad3565f6c144de8fd878f6315cd246d35e9eab65e1739adc3c10bacc2f91a18614e382c58e730b3987010001 \\xc66c06a9b933526329582b899f90a2f49a2d886c5fd82ac23e16571e3c47a521be7f8511553baefeab87300637f488838e6d6e151e862a57ae5296c952884904 1680941248000000 1681546048000000 1744618048000000 1839226048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-158 \\x8aa13f8f886bb554c6e1bed166d54995e40dd37cb80fb45dd78e167b2093a100b94be165ddfcc38788f525eeb38660f0caa9cdd14e50c031b2ad92f36f964681 1 0 \\x000000010000000000800003cd102eb59041710a91566b0240fb8ad6c81847851de1a4b4f10277a15e4040e5e0f91ac65f93b3488f3cc2d314d33c06e2f7c710bc3c9a3a6565c9f0dbcfa41a6dc94422b3ca83839deb6fba28c9d7dc87976697a3da4c9cd1a8170d163b9db2adcf0888d26c501620d6873d39a4b410d8d08911186c28eaac56a2909ce4c7f7010001 \\xc8be31d2c510155e3384ebcd1092d7b3be2e7cf13758d1c69434a0c93ae91a01ddbf94fbfb6f538713ccd3c870d8cd5e7da3be7bb709e530781aa6ba205e8d07 1681545748000000 1682150548000000 1745222548000000 1839830548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-159 \\x8b0121bc2c05e954693e5964a82ba8df7a3b81c9f1beac88956b24f130d8812f2b3e80c16aa74868153198e2e12660793a69d6195735e5091aa650371e248a4e 1 0 \\x000000010000000000800003ba27489b6dfc1dc0786410b8f45e018223ef3282574bd1724968e4a4733adcdf8bd7822cde4f5f3824c4f3bca8135fb26a8624f01a94018f393c5ba33577963e14f2b545ea866c9d37034308f2739efb5c65e1109e6e8ee629a42218b6de8de0f981e0273466820484c38c9caf947ce9a87cdb82c9ad9c5939f7e0b0481bed33010001 \\xdf9e2ae8a20ad5b83dcb7be667ceb181396e951618ba1d3f0733f953713b662b1aef5991adfabdb02a972eb57404857e7bb34d709666399df55f4b63912c3401 1662806248000000 1663411048000000 1726483048000000 1821091048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-160 \\x8ca943bd4fc6e34dae4b9ac54650aab7e7537644597c1dc8fd0a959a6c5437dbb28de2079fad6944959d1b88cf442abbfb3ed13dcab898cf7f2ac4d8b8da4aa0 1 0 \\x000000010000000000800003cd6887f58235338a355dff772482cc9890c3102f83b194f45b41a239e3b0548d39dab24a20ae8bdce6fd89b2c126ee21902bbb9577390da3202ed43732406cf3ca455eb34d34e0dbac8987bbc6f7ff590e88f7aacd6c54c58a7a8dbdbae3bbdb23e219ea1c3f19e88094af54d1629e8ba86e6aa800cf6ab8c275c089ac37036d010001 \\x020b2ede54ef4a3b5f2b708d2ca04c2643171c67b38fa349ff6a97ef0f4818724da61c8ebe91615d387574871e836ea627b169b5ed35721a8864998ca26c8b04 1662201748000000 1662806548000000 1725878548000000 1820486548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-161 \\x8c396ff4f47ed2e62cd7296f9624a486857cd7f0157ad3159ebddd44073656880a31f07224956168b8483173745e35affa40529847658c4fa7f26f2e9b56d982 1 0 \\x000000010000000000800003b48eb1371dea6955ef7e6a7f1b279e95ad98db542efe931d4be0056df6bb0f630b745279dbe904e3a59baf4f82de2a45e3cf74915b987ef64259fad1be11721d3ea58f64db751e58dc5f189038f57d25d07615e93af6d90683c34cb04df617216ed7343f7ef3a06edd309c5daf804ad3d57989739c30c6d6c814478c17853c11010001 \\xa866b0c2efe0ca4702d0685126e5d1d5ad89e15565f6546270a0ef6b44a58ff786f8294f8968cd263b8deea0dfd898c8555eb691c0f1f2db8d817bb0c5c48b08 1682150248000000 1682755048000000 1745827048000000 1840435048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-162 \\x8d45f76fe4ea00627cad0bf9cd5f59fcb1ccdeeed4d95e1e02b4727ec7d001dd0aca3a2639c77df434aca12cb924fd9261da5b9bcfb3abaf85378f800634d593 1 0 \\x000000010000000000800003a23fa0c01070f2133b08d0c254746546f5b56ad5d11fcb2fdff0e576402e5865ac840f232242c0c6ba291b1a73253a2a1005be1077ae4da2c7a524a9d7bd7d42a60ae8af113ff162cdfe5bdc785e3e621c7d258e65e2d59f2e7aa55ce79232eb15303b8af323f2f5c4ec2bca5b7370f66c7314148c709cf00ef495d35a51c1fb010001 \\xc12baa46137378e5e4cab3a62b5733ec49ef99e27c046f6b90f506217402b1a2ff6937a8a355da40398f34aaafdda383465534074c4bbf39e1ddef292968430d 1688799748000000 1689404548000000 1752476548000000 1847084548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-163 \\x8e9d95fccd814ea88288c7d12cadf11787b105dfbbb3b0a8420b769ba9013ea48fd273a072be313914f5ff74bddfa6bf9e68c976cf7644d4ddd9522c3bc098fd 1 0 \\x000000010000000000800003c8583cc6361c3dc2611ce6ae2c8707a4e4d33322e9c722333b1ed12ea915620f91e870eafae9d7f3cc0253f08c42c867e953736e8e45b89e4a8365443490c176811595a0cef55f19e129050eb5c50c61f7525066bb59ff442bb593071360a71f1002968f4a2f805564d09f8734457595856bc09c81720d6bb98bb7568c493183010001 \\xf0ea85bc124be8763e2b08aba134cac373c1c29b20b009c3cfe23d50009d67b565d9617790d8cb58a86cb75127524b12c59e0915f828cc8a5a726c9403ca4b0f 1676105248000000 1676710048000000 1739782048000000 1834390048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-164 \\x8f5d20a9e67ecbfe42f2687f4c33e1bd5374132e794f435d0d75584de5facba481a51859321f1dbd2505f316d5341a56281aa9b527b56e6d8ba618a1b622c857 1 0 \\x000000010000000000800003c9b25500bbd111ac85e7537280bae2a6924381e5248bcf1fa914d368f8f6ee1b868f0957c2bc1c8ca625f243f9fa2eb8ee3bbec7d8fd7868747e2d76e3d219e58fcee2f28b13e239a62d5272b541a695d320437e404152fd133f0f0b72fe1a9c8e853c9a3c00b4b3c4b613b3c0e5bf3283c087137bb0e4b224c3968268367441010001 \\xa3a018ab6085be767d4617a19c777571b5dd9839b5cfc60250e492f009223009d6d72a645f78f90a002562d1a79657d199b352c94f9eb11e011563a7f07f4e09 1685172748000000 1685777548000000 1748849548000000 1843457548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-165 \\x8f3165fe45ac434293d9636a690e764246876f7f4d56c1835ab491835e86b5678f7a5cadab6ea7dc4208a4eff6af16b399ed7b0f3c56c32e6cafb95659e7412f 1 0 \\x000000010000000000800003c12c21a278aed3ea6148cdbc782bc8c91833f91bd4a73f0976e0f75e5a8ad9e2c2e9976cf4ff971343c690a354b84daa41659290c76a7a7a90d62238d416fed5d476143b5dc600e3f03c9f8b27df8bb900b7be708911b1889e3ea1a835a6babd27dadd70aae18af7f8df9a2bafe80de8f8101a6795300a87d371b3bdc0019767010001 \\xadecbd063cc4a9bcb34fb622ee8ac43a50244150f7a7858d9cf9c9a9763982f73b7fd7fb22cb42663258d759a70a14c84c2c7d3f5cef95b7708ebd18d7bb080f 1663410748000000 1664015548000000 1727087548000000 1821695548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-166 \\x8f5d36f184e6899fa187991c539514c44be7750e952422632392b8953a797d948cb0cbbd55742336438d7b9648e0525e4329f433b3343c808aee105463b285de 1 0 \\x000000010000000000800003e6ea6b8823ffb6c15e971d2089cffbc2332dc27c479e045d9f61265b0c5475f889b9c6cf80d2816bd275ef8ab09348d42bb761fa62645548ddaa9deb46131e5a76edb7555a4a9ff2aedcc98e78729aa6580379227d9381ab3abf831f6b9069c60e96009191c393657a1f2e64fe389c404efae2917d30c5d96b7d99f81a249a31010001 \\x72ec24d1893e2e00ce4e69bbfd81329eaeb3add6a18a4ca33bb994b41223acc7b2ef1ef9878b37313316c83b105944cb65a7d1052fffdebdb1371620fef0150b 1665828748000000 1666433548000000 1729505548000000 1824113548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-167 \\x956d65315abfea2355673582dd443c1fc0e94027e9c9a34b623d336b7bb990c5c52cf2a9b8733f7c097421d07b46053a1d144c933f95717ab1af119b617a3606 1 0 \\x000000010000000000800003c04d8859778cb5e915596e5b3d88ac7f5b482f8f9cb20cab4c9301ee9a2506724f5c5c53d1e554e699884be4a1b5dbe5de7102de46f035f5e5439fa7d0684508f250e456fb5280c1ee2eda8599e6d7f40c83dd9e7eb421857371dd479d84b2abec2f6ee0c297c3a39af1fc164bb6f4dc356728a9055d2ef6adba5a62d4998e4f010001 \\xbcfb2401a2e542e6bc7dfa8f06cc6c536f447a26bdf15703bd3ab03308f023a486e0226640c311a9cdebf0f224f9c688148eb580c877258cf686d9b28c82820e 1669455748000000 1670060548000000 1733132548000000 1827740548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-168 \\x9909bf2544a733826404bff4ca18a8962c632ab4e101b9f0671038c570a7db1d484c1161115461c05642e80f40683f2af602f014026d8f08a7dc0d3fccfa68ff 1 0 \\x000000010000000000800003c20b4ba126ca08b781832bbc95259db782e510d64d05437370a417ceafa8b43c0553169bf74641a70116217a8e0d67473e5f1e88bb49d3276c5c7b61d11e75e12e96ebb8220cd87aeec4378b42eed5548224b50127dc701c6812a4ac9b975dff26148cb8ef0d712a0ff108767883a105baa5586e1c66752112c2c0ed00cf275f010001 \\x1546e9d9c1a9767947b689d92e658b0fbba79e911e4c4ec21de0318170bed034002a142b463598706e3d612929c9834c92e1105dc51c4ec9a6eacf50d48fd40e 1676105248000000 1676710048000000 1739782048000000 1834390048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-169 \\x9bc55cea6b008e6b524bf939a2788ae3a6583fefc1ad5d5b63d5e8bb486e88efa191526aaf26a495289df69999cc0c48d0fd94d010846d8571bdffad4c8ba712 1 0 \\x000000010000000000800003bb6c01b7d2f720eda8728fef5f2ac1e9472469e1a709151ba8b4358c793b4635d21de6cea3f75794ebbd886d70cf8979bf83857c86e41f0160b12eb9926af3654981e96dfa22b924867f3d240be244bc44405f816a80a2efdaa1fe15c4236aaf22db95a2fc53e9dee0719cf7301ffa9aa99c2495ab096c5ed7c3567393106e4d010001 \\xc624b0ff277346c302e4d2a317f0463c5ee7a84c7356ba3c7a2e9b75435025f5b0bdaf7c80066a04e5ca5d59b3fe571944ba3088c370049feb6582ba49280208 1683359248000000 1683964048000000 1747036048000000 1841644048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-170 \\x9e15171e997bcf52ff2cec081abdd1ba781de9467b6cbe94222c4b0022df1feccf57a0f2da2ed181f0a37964b3e48f89169fcd4293d3de2fb8d02f90223eb4a0 1 0 \\x0000000100000000008000039fa0416d846235076c951ddb1da09e5e7831aeb0f05a942f3935834b973ff3c2612da14523800933dfdd7da49787791e8bdc4b809c9f34cbc573cb8903dbbb6626f78e11934555265a948dd0b80df27fa596357ec9c6a6f258e146ac940360d96c9c1bb806c46edddec344ee00553f1ddc1c31808a18b84152cffaa4ae7630df010001 \\xf52187c5f413c720dff77f3fe97de884ce332519f1233ff7378b0bfd6c8240e9cb36275201ed2e580e1883f8f36ea8ff28c46cf5d463ca3dfd63129f4960f501 1671269248000000 1671874048000000 1734946048000000 1829554048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-171 \\xa42943eae9bbd285cb6000eee0ee809a40f537ec8a4c6cb4b624a97190bd046a3d57dbec92d6e5e4417660d68cdb92b09111c2b88fa98c21e05777dce7e84322 1 0 \\x000000010000000000800003a85a3339c22ad25b5d4b6810b7cdd91bbd67c0a6c4bdcfe5a48c55efbac4c88c3dc1dcb918b4d92d2c4c38385a155c9a6216cb7bb2ab9d745c8cb8f1dea0b4910094a6e94b7a556f2638c27bf3076b51344c704c5bf06c017c747ae3451b6fae0ed917edde244a79a50b33acc4b0a777bcfd054a8acaa254107505419fd31d41010001 \\x51c9f62854cf984f76e92fc24c740cbf7e46eec3aa124beee607261de1de990067b9cfe03370b6e82878a105c9b9e93c3727477b466c211b00640879bf14f10e 1671873748000000 1672478548000000 1735550548000000 1830158548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-172 \\xa525cb463d710953b934770c024dca8c4ea22dcb9f1fc5a29113778e1fca7078693205149ed941893866287db3ae53d38e763783608fbd43a676c1c568a8c423 1 0 \\x000000010000000000800003e431cd2308658218cc37ccdcbc19f9d4767a389f219e685c842430b26be34ecd1b39b9bc8a0b11a1d76f08bbac69fbce476e1db088f48cb220dff1b8d275a0a3ab013a61917bc82f6bbd51013ea9c9142c1b23beb5d394ba3cfac652a9602483d0700ce0a6e7e09aeb7d895e3b0f61e9a8d6cd5200cb875a43b68ffb40ec1255010001 \\x8a8be71061db948b6ee2e399d8beb3ca1a6c0c87ab9541c1a42c1ccd69227e1436d8addb1d1373f7093378d1afd1aecd0fe033bd61b271176819510305ae3a0a 1677918748000000 1678523548000000 1741595548000000 1836203548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-173 \\xa6d947bddc3f1a48052dbc90b7b90667cc6cbaa52f8fbed6431f45b8a98ad816ba31c5d2b4da73943762cb2473fff5f0d016c496dd45470350c4b251f3f7c8dc 1 0 \\x000000010000000000800003d3b0fe39fc0e891e86da34ec0d4f74b68a632168ab7d6d21797c1c2701b401630b0bbb8e5522c566bdf574039fb62546bd6c2e712eff179887a39e5c203f8efa9c79217f429ae97a0a99fc4e69b7e3438e800807f941e98e45362571962ffb3a5543e4fe1a37b05e2ae9416c3fd011136497be1bf5b877083a940db51dc5ff51010001 \\x7016c0768621078f4baa9a13ee566ece2d4bf0b4cf720732190ed4b0571f9d74b43f0e905760a8ec65dfd9aa8dfe2562ef77966c9ee1baa25f393f0ba9347007 1670060248000000 1670665048000000 1733737048000000 1828345048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-174 \\xa7e11ba1362d34926228028a5ff78e2876ae67f476363e9f9a1e19e2f1af62e25446684fc8f3906207568b76ed335039c50b05f7506b26832081ab8f00c6f7c7 1 0 \\x000000010000000000800003dcef1e26d25a9c6addbb7f64af4c9ebffb198e453d7a074bc8edaf62afac04cd925b6f5feca37d1f923816e081321219b54e65267d17fc66cbf9c0da98ef2e80776ce4b9af4da34084afc476b1b7a8ef1f426e7364cf57bd61b0d0812ebe8346c7b5ee2e245895cc244ca209bebb226f13493d6c1002d0a105fc297d4efc0569010001 \\x65fe093965e7af8043ce0f06180ce4e12d89d8d2c8988f3cd62630ace76922688243dc603c3fc12fc1bb89778eed25c34ebaf52842863a4b5734ddfaf35e9b07 1662806248000000 1663411048000000 1726483048000000 1821091048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-175 \\xac49a94fe027967aae4eda7fc2b572eac0732d514cced4a53e9655bf5a6e138b638fa61c9c70436e041c58c388b6e2eba8fd3a4a0b14ada8628fe18336bdfa94 1 0 \\x000000010000000000800003d2f8fe1285d44542b3077ad64297c2c4d7e595f99d4655634a2998e67cbb224192613bec463a01dc5e3065e0a7db40ae1ad9ca17de38edbff4724a4afcc07e58719111d63ae959a78c98eb4603d0fa20edd726868cad1d2a724845e83bf6c939707bf8aa4af6b3697ebc590ee509bebc4260a5612659bfbbf1dd08fda558f241010001 \\xcef09c560585be86d4fb0dd099eeee3ac10250773c87420a32707aca929557301a7cbbe64dec7eff23f2e5b4e632838deee7ba0ccc510a1476c37680d4dff00a 1674896248000000 1675501048000000 1738573048000000 1833181048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-176 \\xacada86a93aad39b26ec59241d480a88492dc024d404baadc99a2b4597ce2739859c7d57835a7b491cb6fdec2334f4a49fcd4c38cdb3ac28dd15afde832c8b07 1 0 \\x000000010000000000800003ce7e1735fcc74d96722623eff3caecc0ab85823b6b5434b4ae19d550ec2c50987bfc790a7597763bf322c4d179beeb95d408acefd7ec5433b4a056680d31c5ef0e1a7a71e253585c4af3cefe87b278c8b395bb063868056466ed78b3dfdc2f3e28491eb80314ce7e316df071466e391ae0d4a6fd2b3362c077912cf19f841495010001 \\xa448973a81ea0543ab80b051deb5e35288e7db154fb3dec24d75998caa6f9eda6e19ef5545e6225ee30ccdb99d390614fb29979198e6f81f95124d2f2f7b090f 1686986248000000 1687591048000000 1750663048000000 1845271048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-177 \\xad09f83907fcc05eed07b87d51e218703b81ba7511c24ee09f099be3e5abe4f7c236c3f82b73acf5e6391ab1891d62c1b2e714478a4f76d15e0a44a681cebc4b 1 0 \\x000000010000000000800003c75be97d7ba2467c4308c3e95ae2c309e1ea83ee289a43bf483950b118dad456646c0abcfff0796089387d6246b0a74086857ecb43232cebf19a662c12e29f4a8ec4301fb7f6db1b75df73ccb6cef0649edf646f21ff6c123b366da30fabc03981a62099cdd0c3ea6fd57f0ceb6549d2c7859f9fd9d6b1f21b56c2eb40ecb6c7010001 \\x404f963ef79b0852a99cca561b690371ebe1ae45e1a0fc349cdbbe302141160cfd490a24bf6fcfc91f4870bd045e5840d072d9f800ff18d7aab076792dee0f0e 1669455748000000 1670060548000000 1733132548000000 1827740548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-178 \\xae9900464514d9f933fc0a203d2d51a00ecb9ee8c7551bd3e6afa5420a24d53349a68af963f1a670e0a39ed8eb26a90b131768788cc41338021f51717a20a139 1 0 \\x000000010000000000800003d1971e2b2fbfef033fa8e57266e7c455a7a618980afb96093834fd90cda0c5cd4df2000215c7d9788e4e4d4d3da8af1ea0223aa691ca025122e729bc0ff00b37c49c97bd60356deb3bd4bbebde454f7253ef4b68de014d5b3ae40a04ffb439df291c9f8998aa87a9aa1f04e5c1270a4f7caf28f425c058b007f71cdd5db1cf11010001 \\x3ffdb27e6e61113f046bb29aba94e2ce504f60f09ab94e4302f23061e1f50907859593e1100715bc6cb5f8e7cda3027e7897d907b6d7fb5a251c247e0e81e50e 1660992748000000 1661597548000000 1724669548000000 1819277548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-179 \\xb2c55ca41c949b57cea14f3635210524840369fe3f9fb8bd085d1ad8298b75be949975b9d5fe4b40196ae448b8b5cc33a687aa457f8ea94ad181d1aed462a542 1 0 \\x000000010000000000800003aef45522dc6ebc961a110de1c1f227bc5bfc5bc0cbe38e404ecdb19f27cb2076fc840b4a5037f6f30a1217794c3fa01375ee8fbcd7c12495be4be20e9191964cf7ff42a8e9c3892b67fe0b3cdaa84ddfb317d9fd498c594ce96fadf66d2901f3c0cdc79a74ed34563bcf591e01f62874b29e5819d89318eb6db9c75971139e1f010001 \\xdd310585d394827882bb41f40dae6df3388dc6c2f358917625a59161c3ad7b68c7a38df93b4b350695728ac300fc7a129be9d2c0bb0354f346de4c5338b9100c 1686986248000000 1687591048000000 1750663048000000 1845271048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-180 \\xb641fbdb253abe9c701e17a1795394157eca6a995e5f7ef31006aca3b0fda76ed017334e12cc238f5fc52017047f3c3a6e0a012bb498ec716bfad295e8a292dd 1 0 \\x000000010000000000800003b53f7eb7678f08abd3a07e50063948bebbf1b44b62c392bc46f30b13e956f98fbaa449d834b5fade5fa4de7634ac7e8f55f90e39b049b2318653229094cdb6492df5b4e550a8c4c79aedfaba02813ccd34086ac2507e7d27c036d7e4ebb84ff8a8551c7b6aa83552425afc627ed7b30f68e334ddb04af348a61e39fe51d99ee9010001 \\x1442909966a375353b209df43fecdc262f1e6c0e3e395af6218abc0617712a68adbf321bd6a592d31af17ff54c8439fbdb449f88eea75ee0a74c893dfaedc409 1673082748000000 1673687548000000 1736759548000000 1831367548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-181 \\xb9d5da8243052c1e5e5927838e5a74ec71bec7324936fddc62f4d7cc84f4c2f960c1de8638e1c0d5b642b99860c0f2e9417711131bafa7bb791d84f3b09784c7 1 0 \\x000000010000000000800003cc1d73257e9c7decb69bd22335bd7f79116b6fc979d4a50ec7494646f67253cb51a7224be960a988414e1c759369dd61deac45c6ee6ec771a7ee90be0b9ed836dd641bf144df1865379910c7d43a084f82af9335345c4e386c83952aa07a6072dd752c187b8a1dea933e78a0af83cf2b9889ae2149d2321f8a05af30499a8c83010001 \\x192acd1c4be79710c557e836776f422ce309b8453e84becf860a7fae1b4a924efc380278c7199bfa08fe08b696b10c9a249cc8d4270c87b448e2fb929a25ee04 1676105248000000 1676710048000000 1739782048000000 1834390048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-182 \\xc5e5195ed81da7471611e77478693a550a8d53b6ba44988d2c3d309e4360ce129ee03816ee9d2881e4283b1481a3b8dd84f94dda89e728dcd44ece2c91f2d22a 1 0 \\x000000010000000000800003c5dadcbc6724652b7843d37f4ad7a759468b3eabd1e6c4c70441252f8b91b451e094739217ff87759e16cc594ca4c9cef4b7282fdd975be7424cb297e484665486947ae40c4558ac6ff81ae9c1ce5a0e9a4ef1f43e4c0e7280a440ff63f45a5371c41a10d9fd2f3f2b70b543ec3f3cb9e8e0583db6a607f2f94ca681b3dd8d8f010001 \\x9606745ebba338676fce32c9eeeb598acc3fc40e6c23657831902a3ab6b5bd652c6c895405c50ceae40043058cdbdd9683f3753ff9029720d3ca70484e004b08 1687590748000000 1688195548000000 1751267548000000 1845875548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-183 \\xcce9fb3d298e53af8350a55a38eae4c5ffb8d9d5c204b1e01467384dafa5d766cbf02abd1dd919998b5d571e2c81ec0819321ff719856d637227e7816aeb7ea5 1 0 \\x000000010000000000800003e2b9757b622a2d862607483a5d7b82560ff43bcaef71539d7d41184c0ce4a1e1b49b1c113e784fcde4e79726928ec455b63d196a982c1f17cb3ea73f51e33227a736deb01ca5a2921959b8cd9d2bab798ddb1f7f6b12769fcff2855b77845ecb0f94d83b82ebf3392c02dd5d02ccb02266baca62c53f5a67dbdf93cce245fb61010001 \\xcb3219201a5f0958cddc2225d87c2aa6d562f267b5da8506edb5d05f88cb2fb86d9db1a8e0f28667c93365dfef4e22818d4e47f8823258c92b91872d1160ea04 1683359248000000 1683964048000000 1747036048000000 1841644048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-184 \\xcfb5d2fad7c039330ff6850fd38d8225e619a1e1618534151be6b85f61cc6112bf2eabd27bd6ef49c053ad6a8a9a3f55f88c1e82c2bb916ca8e91089feb14237 1 0 \\x000000010000000000800003b72dc3c879a515eaf061c141f047f1b6eb3b00e59e86a22619167c2106216c22000b3085c05a1e006c67db88cdd7bd9d6c2839a335801df96a750adc5886a308a462c38504eda1675854c57952d69cdace1ad6ef5651cb3a6ad4ad6370b322201093481f47d6584f61c0fa41d5b1be2ce22ead9ad25d6ca5f0812f42be60c107010001 \\x0ef1c7fdd51332de22c9a0b6254bdd63d9c963cda38b8b02fb9d81cd780b86d8cb363c57ad33665cdaaae6bc8d8a4cb08291b02011a3fb9e7b358071ca3ab202 1674896248000000 1675501048000000 1738573048000000 1833181048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-185 \\xd2b133809282e0c42e6c938a844be51a98f768ce39506877d9b221eb8dbe83b6eb2829986942ddd15f667753d669acdd00c16180c06504bd097308c7be3b8d51 1 0 \\x000000010000000000800003b1e59aeb445191d62beddfa5c1bdf757a7bd50422f0223bd65c5f187223ece38d5de26c7fdfa7f5e45c34d3eb172786f48ae24aadabcc308d93e139ad0b73e3b72c9c7de23559c5bc07b33cade1c13eb7e7695b77cbb04bd45672477b0d6bff37fba256b1d98989f830b0e4cb1c68a8859b09cf7bbd528731f29fc9e5b4d796b010001 \\x8654fc76cf6333788f49b6147d4b00e1b53b5a4db48a0c17fc9a74ce9aad2d26404de1fc6998fee554a9c103a896c88d029028bb3e3ed8ffb75c9a9da409e705 1668851248000000 1669456048000000 1732528048000000 1827136048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-186 \\xd44d3b73c427c622498872e7354498a2217ddfa4c726e163d4585c3fb585b57c6975afa39d7f7c52dab245ee65d3fd423ff822d291086ff957ea5397da40eb30 1 0 \\x000000010000000000800003ea5111733a2dad3fcfc818bb7eec05d55977ec309c0c89ed83148aacd0986951b20957bffe8266a84c22c4983f09540544994d7c6043a909e29ae64d62e6b1c6255243d11f1cc5d303568e9a09ff92652c97184b47810f577025e19c2c1f1dcba42edba261d88a44a9d61c9a32a87825ec7724fdbcfe0651b022a32a42b0f6ff010001 \\xd61cf25e7c1352326ea14b445dc0e4f4538f33720379e373afcaa80e6113b53c33c41a4f7a312734f733ee1d05d305ffe929a8ac8faa3ebbf03e5c8a0b3ef400 1690613248000000 1691218048000000 1754290048000000 1848898048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-187 \\xd7e1d9f77455a470da671f32bd9d2eb7372d6274bcb287b86c51b12b0e3c80eaa223b519497295134538c32e316bb7122e27b66241ba2d169189b596c9905cdf 1 0 \\x000000010000000000800003c8a8cbe1483a2c1f107259f6544e35642d2517ccea57ee56c90c54f54f776935eed3692b97dbda2e24de8b1c9d886af4469d0b09b39022e417a3569c70ec0c7bfa3973664148f63bde504e5024812db4c0bd5057df82a897b90e559a389ba3ad898cd9dd46cb8a769475992c6093ef804c5a10a42d434d8d383ef6140fc5121d010001 \\xfb545852de59a5dcd7f8af5f139ca49b3c3271c8e09011838f502a26dc7947bfb2b2b49d6c6e3754a75404f2f7078c9ce715b1e3c854da13274bb4d14affdb07 1670664748000000 1671269548000000 1734341548000000 1828949548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-188 \\xdb854e908ccdaf311de813b15f7e2e3fc5ac2f5131f3d79c4c6acf225406d47dd23e947e5e027b951eca119173b01320d429940c7b9df242403446c03758e4e5 1 0 \\x000000010000000000800003cc74110e86d27ca4da08baa39a5b6b04f759258323d30cf4fd1bb993317879817d000a43c94c33172c7dcc638781f2e84d8a44a756adfa74f8b0027de281bac91d9a4b74c60fce79ab7a752a14e8ec0def60357fe209828f72e32d03d6d6508184b29f5bc4cd96f5bab7c51a23fc11dd1b9d90b32f949e894ef6a92b1262920b010001 \\x36a8cb872d9f652666a8eb04f78d9e2e38ff9e8c75a29fc112895d008fde8ccdda43d93c2b58f3e86dcb3cd2349094e018e55b892f1e76b071fafc1bf6cf4709 1677918748000000 1678523548000000 1741595548000000 1836203548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-189 \\xdd85c1d37d68d63fbfc5552633564b65bcf56ddc8a5941bc17b4dc4ae9cdc30c37b98df9555f2387f3dbdfbfae26a70b9485bd0667703b66b4b80e975742da98 1 0 \\x000000010000000000800003e9898a802e9694353acb9382beb68f814c5cbadce02be9935206b605fc79c2ac203fd1c3ca2e841f7fe4b12a184b8035893ccb51be8a721f27c217210a10f5af9f4b9a753da1372b721379db01279734bae83f824f32b333217e15164664fa1c29f8effabf9c1bb917d64d1b282a3b6195dadf31c7c74ef7ecab955d1c4b926b010001 \\x3d7190de85bda42b8a3f4614cfd2fcf7727dd7bb4610aa71417b2562a89be88a0cb8631bfab6b4f1a4f2a5fc18b0a66133c8d5ada73e2b5d76b28ecdcd08c200 1685777248000000 1686382048000000 1749454048000000 1844062048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-190 \\xdee9530d7b1b593fb7f210f4e91e0148b3edec0ae42302215850a4bb65202725d90ef66dc96102119ac56bf3fb4294d458700afd9f79be5c05af120b0f0b8595 1 0 \\x000000010000000000800003e29c0720a3259524073da2d37960909e2a703e5c769151b87703ee6cd229d12ad803a822c18533216d1ee6fc92b28c53bbf0238b7ba4661eb735a1e0fb90c6f772a43a7fac35f0080786a869a06b04a1bcc39f7dbd37ecba3eba9bb15b7f903e3daeb134051030a1e5497eac30ba75e8094e967544a172bab59591f4081daf6f010001 \\x44cc345f33bb47ff818574b416a35d0e02385e851f9e3f0abcb6773b50a5cca989e275174310f2eb52eadc1ae34437f47d0d412b9b6d8de0b61ae8e55f0e2f0a 1675500748000000 1676105548000000 1739177548000000 1833785548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-191 \\xe475799ef8add194c37585c306805b92df86101bdbf5d24dad452baf01358782e6d2818cf1cac9655fdfcf5a146bcdaaa6ca2ed20ed412dd6a2de24b3d6120ec 1 0 \\x000000010000000000800003aeee997e8c1b83854f834db34038677ed5a93977da721ff13b82003ffefbe953b520800021ea7065ab067b15fac76e0b92ccf84ada82d8e4559a1030f22f2a00228687e29ac951a2455aa0ebea066dbf2492ec5671636b8db68340b0eedec7fd8e587539245e8ea083fb033057ea73696373992249652aa3e2d5e3e8cb18cdb5010001 \\xae00bd670cb24a97aecb08ccc202c1550f2f39c6bf2613420eb6bd6d73aec4dba111f69ad968d68cff5ca0460eec416100a8e20b17904dcafa0ca0ff1eaa690e 1675500748000000 1676105548000000 1739177548000000 1833785548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-192 \\xe4b15541297b8228f1927ed6254eed95f9c791b02621ccab933edeb9c193b5117887047f64b1165fbb3762cbe161a8e80c611045423c7b62c6ba98c100e842b1 1 0 \\x000000010000000000800003b7f01b38eb5f230ed04d7f2ee9bc3b5f150ee5e856172e1d0c102c33822ba93eabd705bdf79c43ea5fb88b361970ead17299b22f4f9314751fd750159f38cddd539d4b73cd04366888ea5dbbcdbb3eb4f75be6952362a10aa36ed22109933d277d3de7f88f7e95210d1f2be302212cb86afcf67ba4fe49faf69322f312db3c11010001 \\x4a33f5a29f9e38e2c287f29a6c1ec166362203bbd88e79a3d6adda76f897a5e928c3dfd3f677944cc96f8fd6d7e1fbce39ba5687ee8d9dc580e7eb5c989c3801 1668851248000000 1669456048000000 1732528048000000 1827136048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-193 \\xe9d987ed892c0622015b55f9aec1e25a5fd2820c029811de08e6a56bbcaf3c4505c5c20f8d09701f2ed3f27b208c30d951d62601e2c724fd93f967773d188002 1 0 \\x000000010000000000800003c8e28a9904fa54672b771007277e6c912f3bc2d4a7293e9702ba75cc8edbda7ad6c7d2fb29ea31b6d390bad610dfee6aa953a1ceddd7954a7b35d78640316fd44e1539d441164bd10cd50b348fd36ebf89d0687bc17d383fca9616fedfc72628245b82a30e97fdf3eaf9c12179ebbe0f28d747458edab94227aee5f336f2310b010001 \\xbd7251cfb9596c6ce1ea15b32c9f30eef364d5f00ce85abf85c9b8b582d8cb0db3226dc0305ab99eb19516e15cdb8939dccdd6c6fa4c43909b0c3fa553c27504 1683359248000000 1683964048000000 1747036048000000 1841644048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-194 \\xefdd8cd7eeccb0c4069fc6cec956b72213863448f055faa6163e9ebf2e4f01ae8d4f41e0ed4361cebe538a82dd560365192ca41ef43e5867dc50345f6e833fd4 1 0 \\x000000010000000000800003beec248a7d12def70e1bfc57031109a00ac2cbf66c1029690e56395f4faa9c727b6fcbfac80bedd77ff0cd6bfab486c53a93dd896d6fadeeba9b1ca838e4b842a98a439b69a30dc1c1af004e8309c695b98a76cef02a4b2cb3608e5a504650b9ad383f2f04222cab1aa46f5217ae21a3ebd7107c6fb21692bc9e98444b2bf5ad010001 \\xde40e5f59b09bae8018a3d8c6120610100695012a346d27a149dbe78bb20a54e92f0c605b3cd0264bd56013d1f05f359df02a8c3142938e7b0d5dc3f9aa6e30c 1679127748000000 1679732548000000 1742804548000000 1837412548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-195 \\xefc1d7374c3bc293eeac88910d669f5b49a013c7722931dc026175ef72a38250f93797171d89c6b8d9da47f0afac3afb814c8a78d75f36ad1e3eefd2b1e09152 1 0 \\x000000010000000000800003e1ccc50bcb9b3d8fd6ff881a338afd560593275f211ed53336c1326f89de234482d12b44dbdb043017888ba4ae84cb44ddafc07628ab1365817d32ab76c985a7612a8b713c225668826a6f883b251f8e9b1a434ebd407a391aa0e76723965abd26f036741121d6ea843b82fc08730e493ebb8d4354fbadde1ee9ef343b1121cb010001 \\x75fa06dd9e93b30d168f7eda8df6ca05d022102b43cf497709e06d78b3c6ac06ff4fc16c96c5e431d936b974ae2af17cf226750b0916b92b3c16cc74f06ffa03 1688195248000000 1688800048000000 1751872048000000 1846480048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-196 \\xf0bdbac4e52ee4ecdfac017d27dd3786e0699f89db7370f2baca59740684b0098ee95d1e139ee031263e69347ea12c0921c2feeb75b0674941d2bd7ac299a7aa 1 0 \\x000000010000000000800003c8da254130051e2bc79b78468206c1a010ff5786ac239df4d3eab5409b21fc2581d4bf62dd627671bde1381efe5f8c46881fcafc4f3cecdb908a9b629b51dab0463eeae98f52fa261b40ed60927db536dc557e46cb053a1db60027ffebcd8c5237d6157dc4765065f2373a271ca16fa0f61bca2d82fac240d16b03e56b2cae6f010001 \\x247dc137e624d078e2d0e096ad8053ba6bdd87a4942cfe58da4e40dca8dbfb6986f262b3fa3de9e9b3877ec58f038fa92665da95685b12cd025578c4f93aba07 1676105248000000 1676710048000000 1739782048000000 1834390048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-197 \\xf0091536c62e924d8a73c67b1462ca7e1c8c20c080e3b65e4a5e3d136d6a87d092091145f4fb3ab37243992e16eceb4e1500d0107ec18e6cf2f0e11256f83938 1 0 \\x000000010000000000800003d91cc8992e7af696afae9b23eb13a380364f790379d8d82f0c57bd768e5c44efb6958e1ade2659750f63a2c16322ce94c9b934c9824acf193082598da50b7959eeef70f8f99f175e67a9e4cab228fafeba4249e0791a14fc0a5d1eab0485d6f86d9d193de903ac398510939f8e71b5e355446132c505946f4d2b2f0aa4166c43010001 \\x9e111f41638411eff765e3c4b4a29887a0f5f0f4f5091eb9ce33b5b487a65963ef9c6ac32def75f36b1a239064c6632a28629c585c8807aed2459213f99b570e 1679732248000000 1680337048000000 1743409048000000 1838017048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-198 \\xf01d4e16394b5d917354d8037170a24c2b499be92e7f1cf5c73b4326d5ca2ada61753825dc865fd4790636440d188e3ad3a7bf9c8ecf02f1d1f726d01d8864a8 1 0 \\x000000010000000000800003bc257c79aed62b7b9b963da6dc8b62d8be5cf7885ce9b3d7e47fd5d79c554708b9cef0b5dc6fa3e23f431debe8d361cb42546f00f69695676a692e4d09c01dad10ffb4039b30bc4a7d8772d667c280a8a0bbe59a8228c67e7e9b0fe7382b44cf89cea74a46da2c5246e3c70a58c270a650a535b30d6eaeffb47c7d17fcdd0cf5010001 \\xd1f50e66f4d2b36e39507da421be59a3cc02a394d6b147b704f5213bc60510ebd81bc4eeaaae19376ae1f0910f6903e19f79d55b24f0200cc0a763bd092de605 1676105248000000 1676710048000000 1739782048000000 1834390048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-199 \\xf5f53f522fcfb0d3ce0c694954de08e0fdb90f3f2d870a0f156e756519907ff82fa7e2ea0b8a7a07cf7b1e5969612857726cec0fd0dd1695f1bc6360d8a8cc40 1 0 \\x000000010000000000800003a96eb088962fb9347946415e48d2db48e71157d8c1330f2f458df110ef66a8997f46005ab0722b6d34f9b1a196108c152030086e51babb7c01bf0f191a7cf2edbf2ba9baadbdd512df790ef4dabc96652fb8faf00c41f3ad3b181817754cfd7419cc72c5ba1cc0d353e6044903bb3ee5a5c51b020db8c394f10c06027bfaf587010001 \\x991fe8dd02fb541fbd6f10ac53c4a1783ff65b3dcf489f3fbeddb60db3286c88781df5a0dcd390348f220b2633c7d3c50c6e739b0c9f92a0def641241249410b 1677918748000000 1678523548000000 1741595548000000 1836203548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-200 \\xfacdb3a93e1655dbf1904f3b7ebce14aacec8cfda011dd5150b03582e97ecc57a50cce7ef2b6741bf25d72fbeba97314ec94fc3ce09ccfb0ae38f73a5235130e 1 0 \\x000000010000000000800003b06cfba18645079a068a71356a6c1be4f29b5f616d43ba9c62494c0a5975d76c47581f01595853aadb201d0e225a781bfbe80ce0b5e9626d540183627d745d53aadda26241e086d8c326914d112e7a7872c491d9cab0b956c9b1b4875965e8d1106efb3a5fb5098050b27b149585c1a1b5a4e94bc47c50a3c60999b63c511247010001 \\x3212a6be11d9cbf49a6f0bf23b88ac22f81cee7ab2116fa05608a12e339df2eec6d194df498b244e87846a0c7b411a23cf121675502683638063f538f1749400 1675500748000000 1676105548000000 1739177548000000 1833785548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-201 \\xfb15e11a397d1c20ba8eec5b7d9729f3947e72c3d958b009b8b7c5e5121e4eb39ec7a25687aaf352cac8a9096901abe3e9c0d77b7aaea5b7eb3bb81fc4578bee 1 0 \\x000000010000000000800003d1acad7b8c9c68f1f37ff2325f20db6f9217293232755205146eecbc70237a4ed8847d1f5233f89f91a2f62c756daeb46363d8a951683a1a550ba814d4919b124464e27c5e1d4a11c3d1c68e5fa07cdcb2c616e18d5f9fbcc8b48804d4c33db8ccbfadb10591ab2e7ae3eed6f9b0378f29cdc884f4a85fb5d583ba015efb1b55010001 \\x6bbc04a97fe1731480e281b43db93eb21397f09db334b80bf2d9bc4d8f8ddeed8c3532a0c76b19df1b08a03c32485f4f7214a87ca2f3ec904a19fcf3a50e4308 1688195248000000 1688800048000000 1751872048000000 1846480048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-202 \\x02ea283f23aa6b1dcf322735159ab494af769437908d5a5f5c71bb17b092e0ac119ea3e6a4c84814e3d5e64fc1cbd0d7b8a2c065e56ca15ebc6a5f5be8ffd428 1 0 \\x000000010000000000800003bdc3f57adffdb7c8ae28f272a47a1494cfb276e6b1830b1c1fede37e8bb1f2c78032ad3f3279157ad218ac2bbfecdfa5a397b49c12e444ad02bc91f53fde9df0d9a727cec726bdc71ca4741cfbc9f5ef0b2bd23c6dde55d86de04f345607cdeee4c524eb4d915626703a5c7420ef800b7a7d6a88650f6b100970f8a52f559c77010001 \\xf95e294ab7731af30ef74218824a995bf2062489021d1f2bee8e36f58a45269fadf79288a118f201ab629dae48f17e9bb7414280134899ff2347ab811dafce0f 1664619748000000 1665224548000000 1728296548000000 1822904548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-203 \\x043ea2248492539fa7c34dc7930de6774b380486caf138141e3e4ec20275985d7f168f85cd6ea367993824d60b668e81fe3d011f0ed1b1029154181cb5180d94 1 0 \\x000000010000000000800003cc50eec936dc9f53d8c7aa9fa98285a22e3fe2c14ac10c920a9ba8a9b9d8005d3b97e060f2208809ae7925305250809ef72a0d4ba99b553a81b376004f4bd0745cb519f805b482863e31f2a757858636fab7381c72581b179527ab2c6b62cff020d244a4273b215f07c661c26d681db6655ae82c89b3d7b026e3e9bf4994f0d9010001 \\x6fae87ab3f16db020fc82dfb4766cc95399bd27fd71f1730f57f84503188526fbefa4dd5dcf53fb78ec1b7430b52266d584aba133e534dc7b45f350f406b5f0c 1692426748000000 1693031548000000 1756103548000000 1850711548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-204 \\x0516d189056a4331eae07b86096bcff59f32edf22c43092c6d8eeeb28ecb1c8a9e6cfb8e030f379da85cb62acffd560aa6582548da11523b69d45b2ae9750ae4 1 0 \\x000000010000000000800003b049928b6d7c3acbd84dbcd8bc8307a55dedf34288810fcb0d6c19a58eece3a7aa1df82ba80373e12003b410c48224860a7359214f1ff2bb45d6394020975c75b3491ce57cfa24a2f800f6a3b3866e33e2488b12ea52d8eab24979d38dbf290aeeee7ec6fcf9cc6ba7bdaa969f13d0f91392b3692d2713f97df44f8898c16b53010001 \\x68f4b8b07d73debbf380dc0ae68c57c3adb479397e1ec70e8d3f1b1ea2594f2a2523767b5fb92b0398c1068ce6d73635fb8d6292cc1a4dc91af50dcbfa2d9a05 1685172748000000 1685777548000000 1748849548000000 1843457548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-205 \\x079232326eea7ac0bab1ea6ec4b741babcf8e12a40ff6e2433a1d37b756ea74848b174114550640e6fce6bfbba9c250ed948e0d5d8889d78d066179e0f227b39 1 0 \\x000000010000000000800003ab3e5dcb9c58ba308f61cc02659e31279663b9d7a24ad9f1c588f5c38e2d56cfe89180fb549992f905880b0b03aea5545331d9126e9ee250b533ba67132b81d59fe011bcc91bbee073e426bc7ff5566f11db5416f19e62c16a10446c68e6556980ed18ef1f50c225a0d73d31cadb448c3a4a5eff94f26a848805de23bad7b401010001 \\x9b80b0ba067a495a77e904ed89d308a934d380f7832332ce5b54e715526b501618fff1fcce75a53cfdf8690ab36fb4cad4669522ffa1f2638cdd73198634ff02 1664619748000000 1665224548000000 1728296548000000 1822904548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-206 \\x0a3e2f864e124371028814dd215ce0fa96545f03e0dd705c2bb894dcc9db6a285d6b9397b7f9b09e8c8fa9edc7040b66f6bc7465de78f0c9c2f044d3ba440893 1 0 \\x000000010000000000800003ba75aa8dcb88fc82d93466117a32acd31350f43cd910fdd6d872eb7bed4ea9db42d4c4c05c0014cd8bdf952568af2312dd0ab09c235beb7054d93dd5aada67e1b9c0a2ef5784dc7a012c34d48bc008fea75295d0ad0695f0690cae83e0b8427cf7ac14076584070b81bb1a2591c0bc3e6145cbec269182f57d7e9431dbd1404f010001 \\x4e59d73656505636cade5f9391275fa1a82238bd834799b8cd73f3393a269a739396371c1f8e3dd5b7a8592c97ff33aef9748d3299a76af2b49d0f10f950820c 1662201748000000 1662806548000000 1725878548000000 1820486548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-207 \\x0a9ec22e639d7ecc12cc90656d16d67277df8e5628d19c21a07ccbd64d061cdec958ab97b4a176ed0cc45fb4cbf57c5ba729d4a3220242a2c4238734da3888ad 1 0 \\x000000010000000000800003d7fd483a27c86d107c630c2b17eba28d647949d0103373a9eb7f0219bdc356a865279a2877a8070c4d897c6a83c94c653d0656ca585f6c6309a88a61e9adf7657753ff4f18fc464b07fd227fb9edae2c7f22febd745c59eb02790282ba0887c96396792b68f6f4f9e6122dcf41f9b6884010084b2f817aa9c9ae5d3d37352157010001 \\xce5971df888d3e1673e2ba8d1558eef4927b6ba6d5f007393b02ffc3fec9def3b57bd95410d54197395b7f6a2e5616010ff46ea5024457a96cde046f3b8b5209 1688195248000000 1688800048000000 1751872048000000 1846480048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-208 \\x0b4a1ee573b98afb68039b2bed281a2d086b6fdd1bd9760cc8c730e02c3aeaa1a942cd8bf5a802be0c9670adb818e6b209b383907e84d61a98563d82f781c54c 1 0 \\x000000010000000000800003bff69ad3ed365f611094fecce73fe185001d73b00b44a6578d9a3ad9f5f7433e4ea2d625fa38b732a3fb6934d0ba2c75aa6bd0e01c6dfa1a2dc87d811079a65f5b3e79300899e7c574023506b46f7fa24d2d7f0d3ee4f68e3466a8fe9a759fc8ff4ecdcaf3adb3d2bdc2e6a53864d588c18fb410c08c73b0d702a34bc98ef989010001 \\x35ebe364ac193806b1b656b42a1fae5610040ae1b9feaa7dcc68e832809abc138859718dfc5f3f819c472d3e716fef1666f9a0ee7febe8314150b42a0c99ff0c 1672478248000000 1673083048000000 1736155048000000 1830763048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-209 \\x0c3adaae6a6b554632478736c932d10c4566c65b56714875554cc9a50a0e6e1eea42f99cef3d74183e3748197c4b846e79f5ffd9a58bf3be7ed17b4ffa5b4483 1 0 \\x000000010000000000800003d63b72518ee4b187a7264802fac06288506ee2805bf7ea96a72797abf7c166d93f4d3ec18a3a2a11ba731bf4dd0928495f2200a007552964fdabfdc26f9826b56e1d873ff104668d2cab76bcadfa407a13a563ec58a703e0587f08ef30aa747e6457e6681427b74bfe0285081e856287d217cee37afd25a766b71f0ff74094b5010001 \\xbdda550f30c37a094aaab73b5433255955b6637c31379b1ab9fd4a1c03b060363152b907185d11ad804741f43a5d484e7e8aeb173df43bfe2ee0893e244fcc06 1683359248000000 1683964048000000 1747036048000000 1841644048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-210 \\x0ecad92f8d60b55aec7a384b8093a80a55a8a231f1813a3144298a4f5b542034c4450451f8ba47c75f8b1279b2d809e56829842c4cfba7768516d306ed3257da 1 0 \\x000000010000000000800003bb50f29912e23c904b331281b28d107e0c56821787d8b8f8714ba6c19dfba77d156c44f593b6e6987fd0d2c8af178231c702403002784e4c7cac7cdc3636d9493268ca0f3976e4d910b8d5ba5dfd0f156c012319878c148d36eb479b53ea06d5026fc9bd273fbc742afdbd766102003e6694f422482b9577d957db3ff75d25dd010001 \\x18a5e14606bbd3f116cb0163218a5b00103783e7e80d6f0b767e9e602c98a3283aafbfd9dd091cd55242f9c24079ef5de5136a8d09885fef13870affed35e105 1688195248000000 1688800048000000 1751872048000000 1846480048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-211 \\x0e82a2a5afc54f7b44100302b8a14ce359dc25fa484ac856bd2bb3ddd529d17de0bcec278d8850e58dc3d566088d33e18d144123749f9019e3be5e6e6352efe6 1 0 \\x000000010000000000800003ba1847cf48362cfbad34887bd1c01f7f332fb7a709db468e71870fddc1ce70def65678adf825ee425d4a92333b27f277b638334a8ea96edf4d59333079d557ee0b50a223f8ac5314ce7f97ea3ec89337f1cd840fab9614da3ca1f46378931d232767fd34f80232a23bdf5fe1486702f088a99489886f8117b2d923aee5d125d7010001 \\x94c83b90be4fcc1289c6fa5cb5a1f53c9c8b995886aea4733ab839da3ded425b0951902d741361ddad6489f004eb96298039da7738cbb46c972e42b661d00000 1683963748000000 1684568548000000 1747640548000000 1842248548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-212 \\x0f1e603ae4e0f547b052a4eb7bfc8e24c5d5264ac58fdf1a8cc770dc1fef6c4afadf9a6a61c572a6e3e14f6876333b8e224d6f6f41e54559716ffe00d90e0f8a 1 0 \\x000000010000000000800003e49988e99c317e8e4c10f80dc73374fb6d05c035e01a15673ea9ae60aeaca7f606ccbda179692aeb5661a2863fc9b3ae5326a155a6f8adf4433dfb881c10e915b3f3c111801b9d6b70356f1831136c1887014eba0e5635c0a6a595758631df275f695261277e1fdc8689d883583dbc9a5efdabe0550251ba3d99cda3db895645010001 \\xfd442b1681e01d1dbebe0bcd2f9e744f31c9bd0e72c909f93e9a529cf6f86d32f7ab85c46130e250ae111bad15fc54a60b02e4f80905f76726fe676d02579b0c 1689404248000000 1690009048000000 1753081048000000 1847689048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-213 \\x158243b98903880834c3bf50688f39f8b83b6821e20b5fe7dfe8d60558578e357bd98b5b66bc19f0297847fb40df82cc97dcd3f473bcfb5bbe6ff5b01b8995a2 1 0 \\x000000010000000000800003c7f2e8dc191859e85eb56d71fdb988efa4e5e9e6335771bb9501a6eadb51d862aae457dcd7947f1fbfe61b17a958e3a37973bf3bc8782d35da3c294b2e72197681fb6cbd626fed4799c003a3811d9b51c06fe6fe777b8ef06c4983749077d60c8abb4383b77b6bd041937c1ca2a55a8fb6004288e7ff8446682c6ac60c652295010001 \\x25d0278acfa7ee58cb07b980f7ce9adcf86f6066082ee79771c69050acf4af51484380e6bd15b7182d61d0da8484ae4396eb9f0a9db43d699458ea1793107902 1683963748000000 1684568548000000 1747640548000000 1842248548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-214 \\x1da69c5f705b8e3eb8f7eced410c14fd44ad5504a56caf79f9459bfacdf63fdd0793c8fb28708abd6a9db5bb7f5d21b235e1758b7f2cc08cbc4c1cd07e009ddf 1 0 \\x000000010000000000800003b60d8d750bf1a565dfc0aca98fc3b079960dd42a2021ac5a2ad8a0ac5dc206efb69f9ec24e7b5a0d6a578f167820524f2f80f754b1951a4b4838e3d042ab595d94674c741e75238701881cfb564b0183e9df7ae4fd444eaf4cef81371963b04ef420b73c9475bcec55cc45ade7fc9a0fe3a0679ad4fb34e7177212a0a34bcf27010001 \\x99fbc7c1da871d5efa0eed3a9e1d3c2c7f0c65f80b8420b2d2b4eb08c84eda3f6a45761d32fefd295c4e23a3379d87d0e195510693b4858887c1867c24c1c902 1683963748000000 1684568548000000 1747640548000000 1842248548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-215 \\x2106e3260a3d57ef557fbf69bfc11375d2a1af948a41c8f9d904e22f1a89f83a77005aa59162f8b545bdfdc010c5255ecf9b26159e2502e5fa4add9387a5994f 1 0 \\x000000010000000000800003cbb143f2b2e4fcbb6330d39b9acb78ba8ebdb342a4cad7b56ce9a2420b77fed1c0bcd83bf7c16a85de0f66d32e19d85d8f546af017af1da875ab59848eee794a9a48de556df9f66b1ef76da438f274851c2cb2daf2cd276d358c90a8c886feebfee0a3f9b8b53dea0ef1dd091f445f21a70bb84101e715aae1225ac26c44f6ed010001 \\xfa20ce286d838eb9e1d694bfbb4673c73ff65872a29b7e09798b230bfb5174844f6dd5c1dfea38b4552b99b32330f0b54ee3ae953c4fbf75aa75598c48311306 1674896248000000 1675501048000000 1738573048000000 1833181048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-216 \\x223aa12a85c42142686d1fc30189cc82306f738c7003183da7af209f5df92b4e99a9be8a0f9702fb75d09cca465936615cc5f3d3088ec57cf0097d2a29d8be9b 1 0 \\x0000000100000000008000039ca748763ef3fe152a01fddd53269891976188e6d8aeb3c88da8e31c4afd4e7b47067b9474dc381d4faa96dc7b3c71fae9f3743b08363bf74b7b243a1d9fab041545582e5d679c279e2f1948a4d681d2c0dbd022d83160b056b1dca46e9adaacdd7ad831d3c74550055f85b52dcccc25d067d75dd458eb2a9dfd8d3705d7bebb010001 \\x5d6bcff490e0a27bd2bfd8c35ff982fc313cf3729ea0a5c365eeec4f02261649bded5b5739ed57f5b3e7843ee12df84a35d57d463512d6f0064625a3b4628f09 1690008748000000 1690613548000000 1753685548000000 1848293548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-217 \\x23567eaa205b338bc3a70130924ab7775f1dd28409b535b5b109d6afbb47f980d1d290363fcdedffd578dddfff0095cd5d5a862d8bc75eab01fb8a2956dbb385 1 0 \\x0000000100000000008000039df6861bdac74b9023d03f9dc39d23a05411d079b2faab9efe6d42d72c95bd8a6c344f428a2bb56e35f791826dcf19fec570ed0ead7959a82528e8ee06ae442f00eee6a6a4d0b616d7e1b5d2c8e6653f438556ff8610d6c2d9346d83c36e17efd6c883e740d0af22548fa61bd3e3b063f381d8c3b976e78d0d9b89f01ba28887010001 \\xf6d3feaeacca546967e51881488d39e251d344ab3a1df718ddea63033d1eb1973f04fac359df8f66e34a96b79318b2c3a486e4c23afe49afbe3cd35c7cc07a08 1689404248000000 1690009048000000 1753081048000000 1847689048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-218 \\x267641e742cb243118f4b5a041e66e8212bf59e59d295d8cf523a4f24c1abceaeb8381f1b3b135a3cc58f8bd8e0426ccd8418d6c58d312c2aca1a9fa9672c2ce 1 0 \\x000000010000000000800003bdcef24900462b937f34de553030281f119ff1701f7fd899be1ed56919f778f1c40a64395fe532966c195ba3b11439081027416d8a578590896edbad8ca78ab6e5bc57b8912aa276c05d57c3c3289af6635126c04ee2553483d7f84dca2abc6db10284780de84cb58fb2a27e987156affb3dec43f84d84601f197bf99e12f1ad010001 \\x8a0f006d7faadbaff10b169ca2932889ace26908d1828e151dbf9283d2890b0a9061e5eb6d4d041ae50d6be69000b24a9ea3e4504dc0ccabc58a60e478837f0f 1679732248000000 1680337048000000 1743409048000000 1838017048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-219 \\x263223a6eb4e34a8c7dc745f8112919c99f0b8a6a565158428bd5ed5e538d160042711b248d9737f47d4b4b36efb8bf6c09ec330e001abb8a98ec9872dbb4c79 1 0 \\x000000010000000000800003b734f4096756bdf27e58e8b53fdb00ed6c8d395973f7e2433d4a75f9a2d91e4150cca996f52b4bc6fe2f12244f517da2b856bc4b0595f0e2862174ec70b397384a438c5926b5b56cbf33f064e0dac5be6e9c1acf382340160a75d0aa4a4e3e3f4aa81f06f502c2f75ed7e0013059e09a7aa8ca1478cfe89ea964d05597f7ac6d010001 \\xdfec523103919295aaf38c1761ab8467e230084dacdb2b8dfb1649522a8d10d658e1e68d047e867094d9760640459cefeba19ec41ba017fc4f01ff2b4fd3da05 1664619748000000 1665224548000000 1728296548000000 1822904548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-220 \\x2a3ae9816a7cf5951a1dfb5493e617b81abb9bc348161a6c210610d57eadefe3947de8e8d3467263945cd9052c6caeed5d52cc6b517f53d8543afeb79a58cb61 1 0 \\x000000010000000000800003d895fce3fe4a11cce65d5827f6435502e8c17b1a19b97e795d4220db0324fc0f7c150a061db15a81984305f15d2e36677684ffa793095b10f0b95639c65071673a21f4dbb4da6b1ddb726fd65f533709cb267f40efc96bf5d355a5c2573c5137610eceb73fcb27bb50204046e6a798ae960ff1aafe33dd03508bb026ef0b3d4f010001 \\x163184d24826b54bcdd0f65ac221ef558eff6ab111faf8a345178dd702debca94916060d8292d1da023b6502b15c6db3f81d8e7a096c6efd3a699edb167c0c07 1670060248000000 1670665048000000 1733737048000000 1828345048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-221 \\x2bce7e55a129a70406efbf68a91b7485d9ab71ec60f5d2797dcfd2e0e8d28e449a76651115df86e04ee3bddfa96ffa011b8988d0454b9caabff3c36c2ed9a73f 1 0 \\x000000010000000000800003f5dfc6943807ff13290cd11894d04ae66ca2f24fbc08213eba49148eada77b34428cda3e12c16fdd8697bead371ced5d2e41a15c15fc2732902733f037b1108190407695ea4ee1ca43000a3fc975ffe3edb973bba2e2d31d4241a99df4c2803335d80239fad77fbdd9330d3ea9d12fe28df5baa432f399f8e4caf1ed4bebb421010001 \\x02af3c62bfdabf904b952259428af515cbcd547aa7b446b52b691efdfe392256ba52f7923d73b53f614463024ed920670774a9654a83e0a1495dbe6b35226d0d 1671873748000000 1672478548000000 1735550548000000 1830158548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-222 \\x2cfa67aa03baf55b573656841da80d00702685f86c7122b1824d761063c2a65e0a7aa3b40a77414103e8f2a9ad61305107a75bb4e84e43ee2b5609c999d3b8bc 1 0 \\x000000010000000000800003aac00c07eaf4a91fa114efea77e575c4674bd3fe56e6c428901d947b2c737784a376a2d595a375ae4cdaec4aecda5aa82c875b0e6723c5774479d2c33318496d324277dcef13d2e43640d7105f9e1f0e248b18234291cd43ccb35aa6ecefe8a1b460eb4ef59a50727fddce3bb7578d7c60ee0dbb38316830ecfe00cc72fbf8c7010001 \\x1c1cf06cd48eb3b5e442450ff373d679b4348883e612137b3d5f0acf90deceea289c0c5a14ef2ca88adb0c49608c51e3ea33c834ce6931b02b7ddb870c4d2c0c 1686381748000000 1686986548000000 1750058548000000 1844666548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-223 \\x2f329613f4a6290a4602f3c1d760e9c78a52d312b68f848242fc1fe49e6a911a8713239917bb8165240b3fe023b8604dc40b1f02dc19a67264c2e1e806c7abb0 1 0 \\x000000010000000000800003b3af065221cccac4a1e14861fc52aeb130290a38b578e0506f6006c2044440010d7d6ff240e92d5131477a4d1904ff5d40a94a657a45124ba622ec7edcbec89e053d983e02f42462b1ffcf4c32c3aadb7d537c65de6fd6238c218c56048701d0998e8bf00247dadd423e5315ec3c9e95ec0508cfefe7bfdd781500e11af42a3d010001 \\x8685e4411c8f020a136c10fbcec995121b7e83d8810b591291e4bbb49ed49ce774f5b04a64e71018e55a88bf6ec8aa45c23d714832e84f2c0730c0af5b519605 1671269248000000 1671874048000000 1734946048000000 1829554048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-224 \\x30da912010ca733f1d7943e5339ebeda96bff7475b698859a03276db1133d86fe353e30c782d500bd061e0743ab32fd93d58fd915c48c90526b624cbdf48251f 1 0 \\x000000010000000000800003d20aaf8c09ab641fd7cc10977a85cd3eef53fc8e23a9802396668e39b6d819c8c63a7bc05ad55352965aeefa9b73298094fd2d0188989973ddee238276b033edfe61511cb920442b81b279f5a792290282d7392484fc61e0f6a9284046da924ea051b7f14389141ff7261abe4e605cff1d9f0140418bcac7169b528ada24a713010001 \\x7666bd122945b503946af1f53f2d52c6801e3ae41ddab41a69d77eb6950054d77ebb20fd97613c004e25f6e1cdf6e9e2d1a1f21668d43d57ed78b5787af4090d 1676709748000000 1677314548000000 1740386548000000 1834994548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-225 \\x313adf8cffd5bf03d7e96eee4d3e5196d98430b8a2b9c56c82f5404a436748e42391db86fdea3932976bcd18150b59c4d71db09c1f188f8214045c264362e9b1 1 0 \\x000000010000000000800003dbc24ec9f04e2ee683daae4ef718cd28990162f0831e0796a98a4671bf112924b1ac61c849265f8a0b10a3b745850e0193c0d42d6e49901284fab6dfca0a791a8226d89fa40f533753582c184b140ddf62c70035efafa6cac6311206c4974321ab3fa93d76ffadc9e5bac821a9d3181d22122249a49afbaf7cadc08c416fe2b1010001 \\xb762ef0c16b9bcac70fccdbab4c664034ea66b0e450ba6c47e1273e5f1e9a1ee55b112e4b6349bbcace8c02362cd02e7d09242dcbbbed45f5f5f9912c14e9706 1691217748000000 1691822548000000 1754894548000000 1849502548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-226 \\x34fafbb39012e2ff557835c285223203d56738c16ad927d7f15c1741236ef0f35372f44a9c055b79e49a596d251d42519fff9b8eb1f44d46963596e38a697af3 1 0 \\x000000010000000000800003d4587b07a121ad81654f6320cb612c6f3ce077be351e43f91d39686d6b568fbeb5776b535d9423742e9c0bb5a33c7ca263fc48e8f8ebbac9c2528c2a40f54cc09fdb132cc5316896b6b6d2aa30c889ac6e75321997cf5ef450de524ef251a61baa3985efa5662aa62ea18704731002e79fa8c2c9f706c404cfbbff2c4d799781010001 \\x84680d93b92d495953680617fef31db47985ad41f1fa8a54d49a9330f5b11c9bc133555948ce923d517731ced375f95652cec505f84e19cb91bec1bc4cc7de0f 1685172748000000 1685777548000000 1748849548000000 1843457548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-227 \\x347ea4b800ae573e8ee4bf0fbf8af91ca3ffb7825db93bb7922a5d1746cea752018063a5476b05a86c89cf8291f48a5501cd1c367d62637d2c5e2ffcfdf4ba72 1 0 \\x000000010000000000800003ad887a7b0313c9d8839a4cd033e21b016904d66a42929eab3f6a71b036229ceef4c027d4740509ce3afa4695b1ff3538eda3dd42647e5e49d017931c26b84375d04b15342c8d0220a47d67ce327c1a5365578168dbd74fa9307964e7aac18d97041b92ae0bf9bb70e73b4d4e0f909e476d8c2ab0b34a3e4f1d6274c75db21129010001 \\x026d57f84faff3760aea7263fcdd5309aceb6efee14d6d66fcb7ac1beb983f5fe0d10a9fe1b7abf4d0136a8985ab70296e4bd01d6213de59c107404929a4e40d 1688799748000000 1689404548000000 1752476548000000 1847084548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-228 \\x3b26800cbc1b7aa3a2a4bd6356b278843edc5ccd2e7bb215474e12186899579a8e80141c0c88c659fd163cd8164b5cb42c9dc8f277e0dd8e939c6a113c7e558f 1 0 \\x000000010000000000800003b2c258b3b0c0dabd60dc118d9a86868b4453eac4448f07a54932063f06be18b91eee2d4d5621ce9885decb9c9ab36372f93c04deb172936cee02b02eba7f18470d6c5264df4cf228341aac310abdfaae1372e5edeb96f5124f0872f4ebf12bd394782692db3defae5f39749873bbe5ab72f5879d7ec7c3d3ded26bf539e84975010001 \\x93a94d0ae8ab336904521ff550c129f8395a0881f2d994ef69795ef5b822fe193c633fe07176ac22e2862e8d54e0edb51efa3f244408adedff8f1019b1759a07 1667037748000000 1667642548000000 1730714548000000 1825322548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-229 \\x3cd683c852f229f90153709bc8dbc44e9cea33ebbad1e5e5c344aec06eff3664d95d3883451c14c7bfe1fffd4d742ead89255afeeff5eeca41c58d8a0fff78ae 1 0 \\x000000010000000000800003c2b61b00506508ecddfdb3296a1537bee4f3ec86e3f7df43835f2f2c6e918a6e3b3e5246baa0a807d9d09859630f6c46c5bc3e75266b70dd45800e589b7ee832ce6a50687fd6fe53153be9229d1dfb198f99022c18c2aaa09d8eedea106d00228cb13644eb852f12aeba10ba7069eb3bf6a1f5f17f8d31f535920872aa18c7af010001 \\x079b8582df8f8b23676f2658b71d2448fbce7dbac0033fbdfa18db1e156bd75020de6128d013e5e458e4235bd5ffe2eb780caa7980b9b1aa21abf8a8a6c67e0b 1665828748000000 1666433548000000 1729505548000000 1824113548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-230 \\x3f06cd62ca8e24ae3993efdc7ac73d8728b667a2634ceb148310e252b6cc5a915fa8903bffb92d35c1cbee67914ac782b8da698f9585697d019dd4334aae3677 1 0 \\x000000010000000000800003980bb69e806bd468f095e63c0dcc7c211ebaaaf9f574545e2a8447a3e31d8dc6b028443ea819028495262bd24e997e95fd3d9768df7245424ac9c887d5312749e476a9543430cc8477ef138e7bed09be995fd8d1562f3a4e652999ada81362689a02824ca674f9d43963cbdbe644662ae058c225c6d37044002043031620889b010001 \\x73dc896bdf727a5bcab2d4366ce2c69473a7d20907f85cbec37e25aee547abc71a1f0c135c7eee0e03b97d9720e3bd6b613612cbd705972baaec4caa738c0007 1668246748000000 1668851548000000 1731923548000000 1826531548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-231 \\x41c62fb1109e6664134d89e1983ceae122e4106c1e37ec1b4a2ed1993d6a74d789abf2b4d8df1ea8c26fac3c7fd372494b3017dceaf7dc9988e17b4c84b1bc11 1 0 \\x000000010000000000800003ebb3a962501aa1461147e86f18f355e01428b2bbee53e8b3cfd9afd118f38217ea48aa755774e1e1358d7c058601ff03b393565028c34d4d0c45a9d492a2614d161fe38ec123f5121b4d6ef2dbb2ca7bfaa22c251e11b1260a8abff95f8445607dc37f961c1cc4058f96a432e57a0cffdbd0a3821dc00c053a8a0092153e7857010001 \\xbc24a8fd6d80fdb53d9703a2397a5792dc5c8e52ff57c9776e057e5ebc56fee24b2191b806300f9e594fbcd8c550b3654afdf9486d25a9ee8f5c2c02b854230b 1671873748000000 1672478548000000 1735550548000000 1830158548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-232 \\x459e6a65cf80da1a282ab4ba1e53f7a973e1976aa9bd4c1fa1400d891a3359ab3902fe1195542dcacb002f73d6fa86c1be14c3f91f180f9b00dc61a01d2505df 1 0 \\x000000010000000000800003d5efd986f0f64cb9c7a9ba7ba74198e5aee6aaa48bb13b6b5fadfa7e5d98b111cbaf0371b7526a07efa4a8151864d5d3c54ed789164fbfbf8363020dd209790c50fef73a6b22612f0d84e653174ab525d20fdee17810c9fcb0f537cc41bbb03f99508ec208b97ad3ae41a5d0e53b0e4011803107a07ee37dad8e7a20c58caa0d010001 \\x962d75ed7852bcfce7e88fcff1b98865384c10fb992edfb03268596edbdbeed8123254146913d77019d58e3fbe93747aab748c9519c1a68b97bddfa98ca5c300 1688195248000000 1688800048000000 1751872048000000 1846480048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-233 \\x47a6c0aa67120b5cc930139e446712d333f1f3e7f571411d73f414e03dcaf23f8de6fbb6ad9d16b8fcc440f0caf7b86c0e728c3e4b0a64aedf5ff1886e321710 1 0 \\x000000010000000000800003dbe9d9268ce4c48e6f59e8ff9c4d71dabb449aebba74f2392a42b0de0732fd854969d0114c03d6db9e4e9d69b7c4acb8beb60c10d7d775e2271f51981805307168a404764bdb3c8c7b2830a54067ccd11b689486faa120a23994aee1da5425691f108024cce700a3afacc82c6616bf5f169a7b6f674fd1fb416530be77048383010001 \\x61ed38693016e04bde93adb8b19950867215e9f3aacb4a7b532d2bb0115d1d4b2b0fb82a208976eaf490d7d6d639ebc660250ad1b82e94fd16b75113b9f6bb08 1685777248000000 1686382048000000 1749454048000000 1844062048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-234 \\x4b065d208a355d63e52162e81381b01c25472a8ecba893ebbb05257de4dc60c3e863dfccb24fb3a535a8937b66d8761297bedc52c7cf84318dc210d567bfa22c 1 0 \\x000000010000000000800003a5ee88f8a1d4651660c34bce0b7b60ad59a01e084484914788e7e4ac4a7f58f31de725f26ff73500baa7392a52f8a8f50bc002bb56bba447e9b75a57e18992b8a8ea2483f2df80661dc558588c955f1f2ad34708703d9e3c350582b9781a0f3b3cea33be857964239622988dea16b30b5c81a26d25bd6c27f2dfbee09bd2060f010001 \\x80c10358a6a9f01e3a12ac43263797ad379325cbf1082dd939cc6cd0f3bcebf2c8bd83ced7d4cc10ef308effa2b7961e953c5c1b2258f50b6291aaaf9181150e 1689404248000000 1690009048000000 1753081048000000 1847689048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-235 \\x4f36a63cc646c31bb14901a1c0aa66c7d1cbf8ebe5df81408de9da9cfeef16ed2094ee595deed6f224a43a7389a67cd13eaa98e19264c8560f8f942d558b4ca8 1 0 \\x000000010000000000800003e89c1ce9db8e8feac98be229638afc18e054722a7faa2f954a666a6db8b41fb9a75c4c16913c0faceb21f82ae81d98b3ee0801d673628c00b64b143fffda16f5d680a58e0883a0cc04fddc204e2d2ff5c5cb6d5d6791f0a0897db4cbb91bcfddb0898cf60cc8225bfbd57d123c21caa9b9745ef901e2816e1ee9ccc45d2ee419010001 \\xb79c46546f65ca1f47a287126ebaf68a2f3d2638f76f0a331ea9f8a79b93ceb709e391d3627684ef10246d15d6d0ca48ac0223f43cf4b769ec127244a010340b 1663410748000000 1664015548000000 1727087548000000 1821695548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-236 \\x4fae34ecb18ee1ad7ce3fb5334c61d8006a2869fe0f435debba4e5971d2ddba4fba29cb54f26033ed65da6ba0abb557d9c6db093e55d419576094c1386379ce3 1 0 \\x000000010000000000800003a8717ec491069d186cab2186a75c90c608785dccf838bca22c0126003c45427366bcc2bd39928acf2dac3305aa7c316c9001b3285028cde122a6e46c390d66e6c60d8310f44c0e2e391d41a9cb920cf422fa6a01772abbc1d3fc2afc99b92549415d736ab5f3cf16fb320c5cfa41431aa8d5705a3715ea834032fb7b2c7fafc1010001 \\x8eb3a417f2b07364b0d765dfbe4e9793bef4f690a6ed6bc8941aa214f101f29e997e778812e93d6bc7287ee8033d9b4453d74d3f1294efa8d9ba5d0559942f0a 1683359248000000 1683964048000000 1747036048000000 1841644048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-237 \\x52266acf11f6822fb64a24258746bc64c0c11e2dc73ab31d044ef720e5173b3fb65dd71a4b464baeedad1be454e8bbc7b09c1568950a065d0a6c67e495bfc8f3 1 0 \\x000000010000000000800003bc1132134b9bc5b95fdae2f56cf33458eb3dbac442dfbefa488f11744da09414c0d5142bece641029428ec7a8bedbb9f0cf71647e975182c6786a5187fd160cd06a0ec9d97a648c38c03a5333e00f3838c6cb9654f29a00b78dc6ee63b55db31bd927f7c099431ac6079e4b73dd24454cb01e3d165666acc820b72b2472625ef010001 \\x32c4a7898a6e1575f39ac87d2d04d99793957e373c3d7c0fe8edf5898590611107376faae84638c366142d7dfb8beb979c50885bd6ecf74da09f5471a459eb01 1678523248000000 1679128048000000 1742200048000000 1836808048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-238 \\x59a6a1afdc62fe6852e35c9d05d45858db39bb04914b4aad1b3b69eca277e9459a7c5b244ccc5e6a30b899edee0d6130d194454d4423cd4642da496de5ec95df 1 0 \\x000000010000000000800003c9ac06f0cc7da7ba53e60b3a94b91999ec072928d7afa8987db22ac70254ac042dc6826cdaec8d221166a0c40a960b5354da8003d7f1bbab90ed091210dc727c61dffdc85b0417151b7e970b7928d08fd7a79a9567f47c2ca2a844079577d811de80020c6c9f003f87562f40b9f4d043d4bcee7d2a109a796aff186ea731a1a7010001 \\x6804ca33a52e1ca3c46e9a3d31399bf970c0a134c234c9a6467a9d20e674fd2576c61608e19f6d92743612884109fa6976a4681c1a817fc664a4c8391367a30f 1662806248000000 1663411048000000 1726483048000000 1821091048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-239 \\x59de243e13a289f07113a3b8aadc0f60a0a2241e0e62f9e0f3ff88013053438ae979f4783b74ddb39800bbdf5110049bf02e0d60c2331ec26e8a258472ed71fa 1 0 \\x000000010000000000800003bd25caf4633123451f62f40845bc4a79d7598ff37e20bebe9c60630f15c2d0ec522cba8aa44bd7c6c9b23eca2dce116159aab531f437329476a0d2879969b92dec7aa6ee5058d0aa443a2b0a25d2370e41e82afb283d4af921952fccc965c2fd10e6cd838e7cfde0d357e55ab6d3539c5e7db37050d740d50f63ce8791d91def010001 \\x64ba2ed13b0b3f68bc60d2e320b805937126c8725c59cebbcff1bafe05a89e5aaad4cf1cbc0df3fd88731badb63a2cf3e7204abc7cb7afa16195eceb96946c06 1691217748000000 1691822548000000 1754894548000000 1849502548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-240 \\x5a7ea27a6f7636802ae9502238b0f25fd35be9b9fcb6fcab6804d26f80d78476b638659988d8632f90e0af7ea1902e5c8fe227611655845fda6bf5d42c9e1e35 1 0 \\x000000010000000000800003b4c5482716f624f2dd47f7305aa772b961967d3568876d0d0c53bd9286705f99c9da1001c57b4a29c071ee354f90bd4b7782b2a55e8eb1e79f59f3702084f19dd37dbb1047eeb29571e383041e337f221c1ffc5534d1bba2f7cfb18afa20a9da9b9ff747707947f0206e3a4d92a2d910767114527c01013e58a062cad8959067010001 \\x17ab649d1c3c0ce5c8d600df7ab413c932a1114656af4e7417e5500c4035e451d70e5543c5fd45377f0d69264c9d5426318c965bc7f2a78e6e6da955857ecf09 1675500748000000 1676105548000000 1739177548000000 1833785548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-241 \\x5c7af5e76622ceae1e841688210737a543faa4ee2b6369cc160dd824073f1201ce12f6abe683c32279bd83640973c9fb4df5dc6fb5a7f921f7c78d90b81f673c 1 0 \\x000000010000000000800003b9850364db5ac7302724c1fd29833ef740d7c501b9a29d98b70c8cb3579198533ec1168dbb0ccc882817ee94f457697e1d307762ef1bc0f36e50a80dc093dbc07e69bd26d2a574fd936a86715beb3d3050a36aff261a145fde3d9320fe53faf32be606733652be7eacdbd73c0bb8fd7a618f3d3652c58192d6acd450b60541cb010001 \\x4b89fe74c124a1c2e6c51390677f802e695f03ba4b1214b798d3310b8705fb16e56e29967acbad0fd067dedbc29fac8861db360cfa085a8b8e6b954210c59107 1669455748000000 1670060548000000 1733132548000000 1827740548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-242 \\x5d46fb3f6b1df81589937b40d868c37cf34f21eba60ebe1dbc401eaad08107f9c00b8d3ed5ed6bfdb31b134ddb248d9a31ff0a17d9d9b9b8ef346cb1e757f329 1 0 \\x000000010000000000800003bb48f71fbb3c8edc6a65f40b0a46bb3c8df6b0d4e27a60771f070bbb3e3d9198af4421e37499d31b2cb1974c26a9d110a84e106b58378b9ff039a9f7f19b88355b83d7ae9a39c09400b4d1a61d3229eb17972132f50f3311e4af63c16b15186b010af8c6059c0e577c128b8cd0c539aba5ad2aa3e6fc0de31010a351df1825e1010001 \\x1b47705a3f60d62dc44ad150944f23e4197fcc02b9ae02574b93f8ad2b35250682589a986db181cfba414640f376a48b5dce118b43b6435a43ac8d84ab8f9c0c 1672478248000000 1673083048000000 1736155048000000 1830763048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-243 \\x5d9a0d246f5df873465c5a9045d6fdce5fb2898b33597ea171ef5cd8b87a58e9b4d5456f6e7891effe0bde7db36c78225aba9c2f6b050c0dfe8a37b2a6a69519 1 0 \\x000000010000000000800003d35eedb36576db65670605c70a6e154d0ae331f132f6d5c132c3ef211ba61121e6623dea22844d76623977b5041e5602c927383701ffa615cd04dc5915defee6f57a7eb1a579c0fc25995fe772e76e612ba6936f731de59a3a72f130b0f3e56eb9310e703366d8933c6f9b5be34e5d5f859db18703a44943281ee901f6d5255b010001 \\xf609302c1f59fe0455f788655b2431acdfc546683d2338badead4b535ed566eae761816154738b12c9ce85275eb0c8bdc8c7f4dda324e4ac13c840d764554a00 1670664748000000 1671269548000000 1734341548000000 1828949548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-244 \\x5dd2fdf30556ef7e484b6d8ac1df5f8684c1b945d00da8597cfd1b12d3badfab0e3b3662621b22670f35741ef8c27bda9b88f858409cbddd89a83bb8b41edb50 1 0 \\x000000010000000000800003d3df5613bd7f34223d2984cd930f61839ac103fb6fc9ebf71bf8d8cb93871910833ad569de76e4199674273ab6434efd2221e922595d0e0462e8b913eaac2c73f79456a0f0bb99877debe2f6897401ea0d26dc602f66909c02672000175bed4e5208a0f672caced817cdff11f5159161d44857bce5d1a913a8faa65d2ad7c9c3010001 \\x2a23116e3f638a344d9f68a7dd9e187f1c6713eca81ea609b5d0e12ccd3b4f1d62bf5e96f1be52b41ec9c9a7299a5eafd97dc3998a3da30298ece576c9b25a0e 1678523248000000 1679128048000000 1742200048000000 1836808048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-245 \\x6342a99a091a0d093cfa1f1c86ea92f4d0002106e90a80c9ce929a7a9f75b603acc018a101fd3a86f87db6e21acd58d86422d3b5bbcd76acc14739754065818e 1 0 \\x000000010000000000800003d904bb5705a32cedf3ed3d30e7085bda44594007e3cf287ffdf098540249e4907d50d013c6a54b21e56bca78808dd146c5567d739989b05933c16511c92144283fa9cf445933e1ab84a539664b8d1a28d3bb2879917896f75df2c9f7f10d369d031659edf9580bdd7746faf28133eb422c0b4ea417b66030cc2efc66e8ae10a1010001 \\xf57a1aba3fa1628b0f9fc0b37776ab5f2dce6ef00dad778c6a7642c3866be86e5c745562f4474b94440b51e3aca63ada651635a40f1c2ed088daa604d4850500 1674291748000000 1674896548000000 1737968548000000 1832576548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-246 \\x63be2c3042b3185a6e3d9de85557fa6203c05c5fd57f7655e1dcb5eeb0d587d00ed6a8d57da5cad3cf2419d17c3dd3c73547aba4acdba566213ad4a4166f7501 1 0 \\x000000010000000000800003e412f52eb3f84247be1ce6dd36782a6a97f7685f0c438963ef2cd553606d722092fddde796f393dc552ee57498e161d7a5c2d5685bf3eef70b791c32d6864be1d9628a04859185190e6545232f8fa2eab52982c96e6a823cbdd55341b2b5eb746b70c8279d3faf050d30ba43b279cc9adc14e52a0650f27be02cef83b5d4c7a1010001 \\x378826c99cb128941763754dec03f9827cc206a3b868ffecb6e60c7fc4a8b4633cf85c391aae6bc3de4048771731e41eb2b8dcf3c26bce9982a313ea4e7a6306 1668246748000000 1668851548000000 1731923548000000 1826531548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-247 \\x64e64230f9f0dfc48ac42ccabec9552e0653bd3130a8a993132d2f459d0d26e62b9e1ba323a481699584258b4cab6b0da104f16c28837013aa538e9a9cd34d5e 1 0 \\x000000010000000000800003be0cfff81f87abefd1c1a193a5c81923911701e048f21dbb81206b8dc61a380f63520965188fddfeea58739e53b6401789aa26fd2f8ba96afabdf568c7a4c6f7d7d8102ffeed67cc0c917a76df029996fa240692d3e3560890ed24e0b00d2dee98f4decbfb452c1d85b65f69a76d8beb30a9e14669120d62f47fbec9df007a33010001 \\x9d98d7adfdd6c66283552b93b9e0ec7438041efa96a0216ebf0887dfd7c80471f73a49c470b2171fc1c1be9866e2e0fcac05e8ac217b2c2becb14e6606553107 1681545748000000 1682150548000000 1745222548000000 1839830548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-248 \\x6536dbbf8603f4b3698bc34ca312d9ccf020c556cefe1f1ddeafc257e4f5fa176997cbc95f3e135fac0f0faa39b05cd8b1c6f32b3243ac48efc6e6b18a5e8162 1 0 \\x0000000100000000008000039efaa85f324df101a85f8163d89663af692fa2d8978a5390ca6645e013806f66e18818382b1fce0e9a5a034d462a3c807fa9b507181f0a140f8ee0a9bb68bb0818beaaf14b32cf0aad7c33366358d53b7be629c0e46f81c31d703293f44b18d1da5753b927c82e3e265d40e4cc578c1d2a9ee386f325cc11fff971d7ba8c45ff010001 \\xa59eb7a67ccb2e205c7778c9d8e2a9dbc8462ed86816c29eceda02f4e4cf4f9453e2934347adfe9dd579993e06cf7eedeb6d6c490bd5671b65655b979a101204 1687590748000000 1688195548000000 1751267548000000 1845875548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-249 \\x68ae6fe77d3c4d8da734162fb93014711067d59b1abb38f9ee1e0b09db292e3d10171f55861f225e58591bd866ecaf6139d0212955ac727c5ac429090fa2e9f7 1 0 \\x000000010000000000800003d925af18ef57d632e2ceb996a9c39fe28214cef2f56627c56d3001cc3650f79bbfbabae503300a540733a03a870c094d15957d4ad336058159adc899811de7e212cae1b0eb0ade5cd7927cf8e1b28aa2766d912ae31c901d5f5286460054916776152973ea65fc5e90fe9e917f35e255e4736c910ac390b25a5a3b3f5aa9e6c1010001 \\x0e8cc500fe0552076088dcf8b74a84bb542cc902cffc63b34dee4493f90435f2bd9382683214b4347ea52c7638a9f1802de9c6444ef4c85b2ea3d0f062d2690a 1683963748000000 1684568548000000 1747640548000000 1842248548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-250 \\x6c96947e71d20fc16d61df564c1946922a52e3d0cd917b5fa0fd75c03b636ad5cb1e528c6a717f90396b3845e963eae93e143d4eb0a93c8e3d85d3cc22ede33e 1 0 \\x000000010000000000800003f96738419a5bd7bdd1d3f9bf1dd44171ea3cde9150e50d4befa29fd6f197217893cd4dcadf71d479724c3854d6304d6813bd097f46072cadb3c745adaade11e934f4ab4c61fe3573863e6524404653006cc19dfe7142a488bc804d092b8e050de9a80dd7309cf8f7fd3e113b2734c0bbebffb74c49c50e43b328ab2d73e18639010001 \\x6b0341a06058b6bdc1a088c1c25e3641fd64472c45a8378c9243ec7f3af86ba3678d6db5edea4c38004827fe3aadb7ae0da805de09079a3bb097e91f8f99b201 1688799748000000 1689404548000000 1752476548000000 1847084548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-251 \\x6ddaf291d37d4a888b8eda7d45b29b86806113df4125ac7ca78559e81ea70e1ea4f02959990e16a12df950b34b132ad23e276c09e86c1e1791cedeb0fd35aa54 1 0 \\x000000010000000000800003c97700ca7078a363218f90000988e77062594c435e8e608be979a795575b9fa434383a3e121201bede6d764721a7765f46d0d58084a3c7df48902871e7bc8c340f633a45edcefc5f42ade75a5c85ae9f4c75fcbb5613976a8f62a526b47cdf79e8815c2c595f4affb542994ae7e0d2c1a1c4c41a01e5edfeb8841a9404c60e67010001 \\x1f8bc2de8a08108525c73bc144dc66391e68cf6af632e2b8541e9c0404db21a0d0e01271d98fbbb8ef315dd2d35adc4e1ac9648b6f3a8099b15abc68824b1601 1660992748000000 1661597548000000 1724669548000000 1819277548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-252 \\x6f76be34d9a68186ae5218bcce776a739fa27eb1f0624f5519a28d5f2c41dcf31611da0b7cd4ccc4e0a7bff63629a2b4ccf02a63ab2c73f971092c5ac8f8425c 1 0 \\x000000010000000000800003e0796dd004d7f9bae0ae81fa692e555aa962dedc730bb8970a8d0162e38c4ba8f33b50555e579bab015665251e3413b5c7d2be7774a419febc8585fcd1ea12d38916080f08e5e651abf6828f5d68b0418fab55b3159617c8d888a5ec1c1380e95e223ba5e0fc0517cf4c29244fa6dd809a46281916666b01d9894a62c551073d010001 \\xbcbad768cac003cd0d302015b9217cbf455a40ee343c9ccd3b6dc4b8879a5bf6ade5fff054ccd51bdeb244a080aae60f009d26ea830ceaed75d80a1df6358505 1686381748000000 1686986548000000 1750058548000000 1844666548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-253 \\x6f5e133600c83fc9a4afdf001695da61edafc2c10d5dfff84c87c45b281ee3649e80489d1e24b883b404e96d5a78f2235a062f01d3fddbdcfdd85feaad89e315 1 0 \\x000000010000000000800003b3683e7e9f07b7b7cfe7af4eea7a855b5e6fb7e5ee00030d7e2a997ff32ab35a5a76de5b7272e8aa8528ca508433390eb3c2383e9b2ea404153ead5f4471cc8eb2632d3bcc5fd56ade50ffeed48e1e33b368477c623ea94a2291b8d949b8bd92626192c38306e8302ec94b747fe0122c3068ad0d8cc8bca5a6b87d1d6ede2103010001 \\x0c362e563323ce8377c56b26aad95eabdfcd56c73c4e9cd5ca671b12fee45dc161cdfb16616f11231edc3de1681d38869fc54236afd2307357dbc52f2188d108 1674291748000000 1674896548000000 1737968548000000 1832576548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-254 \\x75b24ca8617aa6701bd430d9b42b1c73ddbb9b32dd092c7bbb4ecc8e2f5410b65489133fb851a706c58cecc9b0177375cecd8f077fd7ec62039fe9ab3dcb9809 1 0 \\x000000010000000000800003cec74339070fd101e23a44966f637d568487e0e2540606932e13ac15e64623780e308de14bae966ca7b534aacb20ebe30adb5f77a4fc13395b13a6f540b6a021863ae81f1e509d4e8654855305c7135e116d31b87623e483edb2c51c3344c06ffd75c6b3c9568421cc46eebc34fa498cf48296d780047f24d5166f05fa5394a5010001 \\x238580ff600a5e86172e3cedd3f477a301e43d5b7e3fe2a1bb654c53c3e4e414411427f0537e73bfed0b6b9077f46166d3d308ab050ade06761624e88df99006 1682754748000000 1683359548000000 1746431548000000 1841039548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-255 \\x7696ce0f6c2898c995254bc8670e234be3727919b241fab8a75e371e089a0adea03b70af6e9b5ef0d7bef65553e5cf9f5aa99e6a1c770ff91fd738edb25bf4d6 1 0 \\x000000010000000000800003ae0653208812e003afb30ddd2d7e8ac60b4614f7f2156f2307cc94240af81c37058647086bab11c840c48ceabed3c667c23693ecafcbff6accf1f1fc970c886bb5ac78bf0bd2df909a0247233b6418ce31debc876c96f1c25fd405ed77cd277b75e79833323ea77690a7c3c9d30cd32f3f4198080e93568dab3d21233b0d341d010001 \\x9ec1ba6167dcccc8b65f84bc036e907db5742c0b77912c1aa85a4bab6af72ff8170efebe097c1b2c8e39ee29b69c95a54b70582b4b35adb6814db287a1627f04 1666433248000000 1667038048000000 1730110048000000 1824718048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-256 \\x7bba989883c7b2494dd3f08bc4b70ede0ba4020ae4b03b6c65d45de668a234cfd73b80d3f3ebd1d66a605b9b220f1cdff3bf39bea0083c19a97182ec3ed033e4 1 0 \\x000000010000000000800003bdf3caf59b22b21a30aafe37f25b15c31ec76f7553a58a2af1d6e956d67919df0f8349e1a6c062da5322445ca2aae138b09dc045996e9fbfb9baefe8c464761c93cc6eaaa3e646e042b3384df52baba574367ec3a620d81e175b045fabb8865c04e8eb58ad803b568c7e986545afbc58880c1ae961837634fbad5cfd24203ecb010001 \\x58f4ffdfa0286a4339f0ee6da9c8b508d6485dc1703297282ef8406c9817363070eabbdafa6ac300e6afed9a38632025ee8fb023d0671876210cfd4b9ac58008 1673687248000000 1674292048000000 1737364048000000 1831972048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-257 \\x7cf24d830782f8b1f3c2baa06e8a365e07721bc21e6e224ecbeeb803d78f3766540ddb246e111f7e56cc6a138f4d0fdcb7cc2fc7056e9aa5d3f6a0951d7716fb 1 0 \\x000000010000000000800003dedc89b8c5f3ea24b8c6c62f397dccb28d02a9303a439fc98d4245777d73acfa4c608ca7b69447e9d7fd631be8e4b73fb09d1ebf30399643537d1e1719f16f44e24c1cf4481855ce2222d131f61a813a1f70eb06cb47617e122e4c9f8fb44ed0e71ed8fb842b6a2ba2b3b9ba9f831270f4ce09ab7405e744d0706689e82b3a8d010001 \\x630791b76a3bb640abcd443d4c3dabb8889769fe1596caed439fd486fb729420795be3b278920d81bc70406858d4484eb691606908808a98be9522b46a609200 1666433248000000 1667038048000000 1730110048000000 1824718048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-258 \\x7c223b9aa55847db2864a46b92d05d015a894e6e40be94743eb79392a217ad19329d7b5027ae8b63cd8063d2a3cc3fa673933ead5c4be6759acf3b877083daf0 1 0 \\x000000010000000000800003ca97aaf391d59f5edf87c90a45715d369a7497daf9cab342dbe7a3ec880bf86dbc830c4276cd4fa16b0974f3e40cffa21b696e3364d7a020d07a0983a8d47f7cb82e2d4ccbfdd42d22f5ead1bafbae32721f2d8a96e35adc0a78c02d08e9b2edad2e52599eee0af3879fed7301556ab5a51d99c62144389ad2f8e2326dc469df010001 \\xa6175671e7ab2136f378e138f221b849670a7d638afa896413789c6a939ba5c2538951c47f4f16f38b9e356f4c2e9dc71a9e6f24b6b4d4a3af6a74ff7bb1580b 1685172748000000 1685777548000000 1748849548000000 1843457548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-259 \\x7d0ee8c633d418c93cc549b22e1220a4a10c5e659ad749e692ea91540a1321fcd3fc40cf623040d4e179978811cc572b1ce670f164b1600ea53fb664661d115b 1 0 \\x000000010000000000800003a704b11896fb1149518f5ca0efa5088056d6eb8bd9f30aceb4862210a3df52e555d026ba5ab7ee0d972535e3d6af9a42f778aaba540a62c3ac1a67078b2174d0e97fe1c6aa16ee1236083a30371e56adefa107b34e1b6cddb0bfd18fdc2187c939d94b27516c51c3620505b3e6cc10acfa63a75fed5c1c853282d5067bf47ae1010001 \\xb9241a0cbbf41aee3aa4861d3963228bd8875b0d66f6ea1a85c3046ca25bb22d34515d4e9e932b9aef199662c93970c6743f8b89bd98aedca7efb631dcfefd05 1667037748000000 1667642548000000 1730714548000000 1825322548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-260 \\x81420a308fd1d2dd119209b6538e57a6568dadc28ef44000e256e41c6a09237f63c14c3496ca52fda3466ac2f4802f61d676c674f8894b953a0fceb40aa78985 1 0 \\x000000010000000000800003a5802f91bb589c61014faff4cc0038a213c26563a4fc2fcb55e21b52cd03443e3c93658e524df83a0099b160eb1cba4ea92f15e7ed2f9ecbebdb19bafd775cd500d7f10bad733639c36cf3982f1913d4a3a634d956ae2ab070a539139a67a235a2bd9a309642ab8109c85f2cbd7d0aecc9361f3664bdba22a1543eb6b8814a25010001 \\x62d5cd41bbb54f8cd562ef35c1706295801ef6947915c4620f888912d962b43a837b4132494347181769623f9e1652b404658933107c206237ef9e4a1e332500 1692426748000000 1693031548000000 1756103548000000 1850711548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-261 \\x8136e771aa442261c59938c28c214e818908903eae51bf884b6b74bb9cad9c4475690ffaeb5069220dc2308dee32a2a1c2bb9160f383c198359c0a7fc22530b2 1 0 \\x000000010000000000800003bfa913e6b8bb5627ef6dab94b8a268f3f752e9bd707bb9ff237362ec9dc44cd4450336034a0197e1a75fbde62a42f95f57131a65f25d0d91a04cef878c84a426f01e491e2b5cff3738daf54111c476b8c1fa0cd89e2a8fd07b882f53c9c82b46bf86c2d9e0bd4a8bd3b33e15b3655e8f31051e10e48cb01ee90518ccef516e3d010001 \\x639fa597fed6a2ef3ed2ad6f1addc6d4aa7be9400d1c047ff93a7aa0acdb495a83c1170d98495de0e9078c3305c3ef059e3302c9ce55515a358a922246217206 1670060248000000 1670665048000000 1733737048000000 1828345048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-262 \\x81ba36ed60cd7abade74fe55586824162cfa33a998e7d6d102aad899486da5244bb4b4484b86f2bc7d1cca5109ed12fd86cc1666a601dd8b4d58dd1b7da29340 1 0 \\x000000010000000000800003b69312a7ace02043bf1f9c1291ad8dd967bc6dfff5f10291e63b7833063014ddfcc2d930a6beb8ec70db41a6885f12609ae10db598a4001dd8bd2a1d40b4b24732db932198ec2fc8ac140ba1e30229a5d5bbce7ff32869dd20e3214b7718555bda8d4e633bb1dea0aaf55da8f8c23b39511fee3a09fcefe03af55b667768973f010001 \\xc373f8ee27fdae3849b8a7b0053be9cff265dc601645c0f9639c9ce58dfc280fb8cc5a0ea01d000163c61b3c99bcccbc641612c2dd4183792ed0b9c61409d40c 1691217748000000 1691822548000000 1754894548000000 1849502548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-263 \\x8312a8082b4be41761042d42f0ea03791311280df0e334ce33173e060a92fd1bcb47481dc22e7c890de5ef2ecc3edab020bccdf8c927f69d3d8e7f48091311f7 1 0 \\x000000010000000000800003c4eeb5c6b46bdee7d93eaae63b7f837180780306a4adccfb9394bb617c3de92db4692adadf6c37900ed0f8c8763ff4cd99b4a14746fe3dad75e9fcc68c49908f96dfffacaec6f0a48072bea1d97a7a40e404334621c08d32399a7dce1966bb720c236db4a595ccb3eff5ca51504db2055cbff4548f55fc75f6ecbb4629730713010001 \\xcefa0515ac675e2eecc63e0f3b2f4ed44104558d8d4d6335177ae4ac58d865efc7355af9d73ee7b508c08c5bb2431d8ffcd8bb7315ea5de6157bd269c926b50b 1662806248000000 1663411048000000 1726483048000000 1821091048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-264 \\x8426cb65cf71e094206ccb5291a4f44a097ac54f41e4cf795620ca1ea9a63de560df2069289b2d7a3e29a0cc03885b456cd034b421d7a8f7c99cfeba3ae8f490 1 0 \\x000000010000000000800003bec11c9f268f6ccf73d9a1c17438e56a6b694569d90ccb4c3df37dd874378095024ec0b989ae362c43164a01f6bac5f3063fdaf08082297fc6dc182ff7fb9af4b6aa7f7f80c7ca3cd9f86f1023a9e9126547ddf386010d5844e14f0fc21a74c65641be04a5392043ec2ea93b9de86eaed438268d18fd20b709ff229428fb133d010001 \\x2c72e1b59d7a4ebce5b8fe95246ae2d8f7163631c9349f04ead478687ff8874a94548363aa519a92267f85034fa5223b45fac4e004695524fcf7688269b3e00c 1673687248000000 1674292048000000 1737364048000000 1831972048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-265 \\x874eef6dd4d20d1a56fe4d206eea2c7fdb5cd5c8898d864e6e55887a72b13fea553d09a9c975dc9e9561e2870c890e0d228e4755479456603d818c11a3455110 1 0 \\x000000010000000000800003ae407b5a58b053baf1b11a678e12558dd1d8596bdbc7ba156f7b10a396a071af0d8001f7d900f58bfa7c2518f276e586d0eb93a272a1d9d25d22d45fc0f368b643d860c1c38db1fd68069262708a27c8c32bfe40c541d73c6b47c53c2aeb70dcbfa7f2dca37f7e1d1141f3f9b16fc977ec0a894240d0aefad5790ffe0b7bb8b9010001 \\x83e26ba6a3da662f142a70310aa91ec2b688379ecf1edfed2062c7e6cee759ec7030a27bd7f3f412f33733ab5ecd13c72710c1d5caa2a9fd758ab017e8dbf406 1680941248000000 1681546048000000 1744618048000000 1839226048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-266 \\x872adad9fdea2acbc476f8c2ee3cbfc97f02273277e98ce1337cdf2fc0a18a1065b511aa99d790331ed5e3901b199137151042a2b88fd23b66726fa249d16ff0 1 0 \\x000000010000000000800003cccf656bc2f0c9593796470db7ff3edb7baa68067aa6cffb058f1929eb914304fd94d2b1d4c6d049145bc3b3eb8d35ca034c2f514a23ea7e67dd23ae141fc32728fb9a7dc10dfb3dc758825d37649dfd35a90738f0f49b3c3887f898a5a04235be93d357bb247ddb7fbb5ec0b153331a3fcacaa64aadefcf8ac9df7c6548ad6d010001 \\x3b7a034f626fa26261a24a01aeddbe1036453a4ea8350b5e6f7230128a70f021bbeb60ea3532a0e5bb1a7b71d41fc3033de7b66f6cca50d812ea12e043b3130d 1665828748000000 1666433548000000 1729505548000000 1824113548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-267 \\x8a3622c3d5b6e89d9a496e0bab1314f8acb0991353963875099eda55697947aa63f20c10fe5bdbf6e0e2e57c9b333e39d246cd06a9ec68a03dadb60d5a0ddee8 1 0 \\x000000010000000000800003b552eaf019d66741e65ae6efb6283dd287e45f19ef346c2b0a59aa563aee69b261cc11fa68fd3c23e1476911abc9a3cdc61b73b5595a93f5f8ae37e47f586fa0966d6d97879cda7faccf50e7638259b73b5fb3a956ee29bb3f731c7d3ef4bc99e09921ee814db2f1159da630c4616242c732e9f8a7fea4f6b94b7fc352643959010001 \\x179a99d8eae59e89f896829152cdabcefbad5fbea2321b74c6e2d36dbdc19192908dba4047b9d5be8d48c79929298ef4c56ba116cbef255ff1a148fb252dc40d 1679127748000000 1679732548000000 1742804548000000 1837412548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-268 \\x8a9af0103de44511ee334ce37e6e67bd1549cdf2142c76ba807dfd22d6d517eee5011dc1b78c91fa2ea066ff817b5102ff65a0aada6df8e9623c7acda1250924 1 0 \\x000000010000000000800003bd0a78f617e9c1ad4cadf7f65b96fe7c1f17cbe4c935646e450786f1b69eda1bd896e72a9582a572a2e48961524c3e844a7246de26f14b5ef07b207713b834a3e01abf0201271ab557b0f7e0fa66816b3e5737faa98ba515376428f903765af623bd641c9921e71ddfbdd42657aac1317570cfb4d52e94b2e8ca0701d9fe7ba3010001 \\x52a9e46a7a7d870dbe8e73f80022b95e6b850333acee0e68452c948348a5bd1f1149029cb99754bd4e06cf2f4ac32001c7690fe523eb4439985c187965353e08 1688799748000000 1689404548000000 1752476548000000 1847084548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-269 \\x8c824d3e8ab0bbdde271bfa2c98af0369c6b609108529a4a46a52feac3af808a8a012e10966c1174600eaf05d540214e1cd686763532e0cde4321ab6cc925eca 1 0 \\x000000010000000000800003bafa00a149328b6cac0128ab5855b0bf439a76e78cb07f0ef1a74446945f122f242a06911420fa63052a112d12e4fa22861f4c558b68b8254e2cf6404c99168f8f7eff72856ea71e7038a79ac993b8b6be2434234dfdd1a909d8c4d11350d5056d6337f02bfe6dca1570a8e6a7a59e385539adc81c40f622070d086d84bbc9e5010001 \\x28e50557e5650b4546c526e193a26ab4d231a25958e066b02d226f8a10cb4836a57733631778f4be9ac1ed1d8d60db1759808d72d1e8ee251c10a2f414798902 1681545748000000 1682150548000000 1745222548000000 1839830548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-270 \\x8dca93331255294a972324ad01755979b9624c2348d6151026042d2f1cb761f113168bb1df6304e3bd0f52faf5589155d0068626dca5791f06f03e0790279bf3 1 0 \\x000000010000000000800003c45c6cb034a7e45e3e28e07fbfce533a6d61d1285d66d9a2874933bacb52eb59d28037bf16a777a5b51154e65dd3f6f881f4b329a8777d369db2495dc527c73e81bffb1dbdc818fd24027f51f490731db71ffe249078e10180cda2d9f2fa03d20cb5cc146af160e5231d975ec8c7547865a80f729e87a9214e9963ff2c1441e5010001 \\x4294f59bac29dcf288e8dbc2ee3c467539c24b91ef3dec4c4c7ed23ee2c4ac6b8fe01dcfa41099a3f33c6cb4628ea006cbd084a5f56b5f831863cf868ffbd604 1691822248000000 1692427048000000 1755499048000000 1850107048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-271 \\x8ee64fbe8683b51c72917c79af2e16f0bbe371dc1279cdf5ffdadd5ed40759b889d2c5dbfd4de8b893704d7fe8ce3154527545e5f099929b145afaeffa187d77 1 0 \\x000000010000000000800003d8f029db6f1724194eca9af31fa6149b5dd536301ed0dff4b60e4d4c22c74fa1f4e1cff103c1c2676aadca32f4ffd3362e8bdc96889603153d9edc2ace8d664c7acb04a1b4cfdd855b919b993a4de0987d84ad498d54785580c792540b4f360cfc85228634e795ccbcf0f7eb34c43cd59cbb4676539761bb3e43a66a08b7491f010001 \\x8084bdbfb0656a6ce2e4be449f81387066638eaa316a639392d0c35f26b42ac16e34c2c75b83c1cfd964f34f07c30b3a0ad3e936002cb37ea82f52fa5beb2401 1665224248000000 1665829048000000 1728901048000000 1823509048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-272 \\x90b692ac1c235636614fd67257fd07849458c1d34600878ffd844b5f338964701bdf1e37388f2b9b3d9b9a04aca10e6a8974ced1df7ccd0e5dfb1838fd8bae22 1 0 \\x000000010000000000800003c323bd239a72e83d689eb30e704bff005cb9cfc2344c4f5cede4d43649c57d6f744f4d0dcfbcddc16881afbdf72408f9b726a5af2d287616efca9c724b8d87a98e37a1f96d9b510661ff429ae4a903f1211c45f63e6c3951529d523d3d2e07e0b1f43766c0226ea563965183c987b659703233bace80708dd40263967505dfab010001 \\xf22222625dec755a43a109bd7aa69707c30d2e29895365b9f704db5a86b8002dae8900dcff12ce07b009d20bd6dc203b227e3fce820274a3acbfade00d22a105 1685172748000000 1685777548000000 1748849548000000 1843457548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-273 \\x910ed15d9918841f25cb5933cce044076f826d534914e3f7bfb31378d67442ec213bb3efdf137a88fe6ebc8094af2b9578b754f422974121b82385aebdcf6c2c 1 0 \\x000000010000000000800003d39a828e0454b938f9a5f665cec404a0b70dad3508b715cb027bf470a3e60e108b3f32ff63b8701b753a5d88997834b9409ab655c11fcf7057ed545072bb18c83464047bb35246c66310ce82c3da7e160c7a6080f1f8f0b0fa81c05cf1f7a6c5bd3773822e30c3bc1e504d7fcbe007566980426977dbd72b2dedf5a4354e504d010001 \\x81312352ffb1e839a97ad686d09fa61b809586f87a542fdb362b8dec0b49f9e1671655acff0cd5df1609ebefb7511a8d199110486fea3e9955c79bdf6db27408 1688799748000000 1689404548000000 1752476548000000 1847084548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-274 \\x96e64d2c8aabb2b252de334df8c99eddb82b7c59bb81be7784e0b0f4d865810d1d75d03877ae1603998c03826c9f4db6c8b5f30d5587cff645cd11963985916b 1 0 \\x000000010000000000800003c78eb52d7a66740f263040baa92edc60c2943b51e76e8876bdcf8bb02f2c4b1c71d90b2f3747a54b61509ec8a49a2f123b51c42b67d5ed4015b4ede157f0aff11cbc00c462d9d80829d07941fd253fe8ca2f19919a2b9582721e261ba594d29f1ba0080ce37e809faafeabdbdda4ac72345c92a4067d1d865881ae05739f3f21010001 \\x63893a57b08c029df175597bb9bb69903afa16373f82ee3ad415999be1abd413245ab4dffb197f7e8e995dad2f6f1a017beffaf1d6a86ac18999d79b57f29409 1674896248000000 1675501048000000 1738573048000000 1833181048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-275 \\x9e22055af584f5f02d9636c5fadd57065b5e4bc31c5fbfd2a829bd32da93324c0f14fd478df37460bfa43c20a35b902d1ebbaa3abc810c9ef14368f9b0e0ea9d 1 0 \\x00000001000000000080000392ab8205c96414962d1feb20e0746bcb50944d218ac5ce139cc3b91d25d6bfb364f1472c54381153d6d8faceff775ca8952644517cf7983106b5a2a3215fef3aa5d6a5b014589986a04687a5589c83cd955442dcb801424404a460b60119d17f318aefa1a287c7aac31d36f57ed5dee1e396bda811cca3c6461d6d5371c042ff010001 \\x2efe962eef50fac7cac467a28af33d6fe4c5454f3db5dc61e33f8a52af0ecd5f13f5d48b6a38ad0dec49c5adff0f4a9dc0d48dee3d57c510675b88bec43d1f06 1684568248000000 1685173048000000 1748245048000000 1842853048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-276 \\xa32ea153ffcda66402b47d14f0f62cc6edfff6237a4c1feaded5b8cb044039c00ebaf7ab39aafad8bac59dd8377423efdf197e8573a54d4e5af7fe027f0ddf0f 1 0 \\x000000010000000000800003dee880713b001c82594ce10ecdd892f664d249df53b7d436bb507c4e8044f1775e9773ef03be532e37f39c4a4296f5685f0c866ced78dbeaec52c18398db448ca74c46a600557443084c6a720a09b59dda802bc930afcf50593d0ed3993914a9f741415961f10bd32e5a7a5a1e3194b2d7a96ccefc60271ec2234abef784c659010001 \\x81dc1e00cc712094b987e06e7715b17e14162a9c105912b767e30869fbb675d7e860443f1a340f9f363de372970ae9229cbb16f4f718e5f4e6a1dd623be64307 1676709748000000 1677314548000000 1740386548000000 1834994548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-277 \\xa3e2f706bbfdc977b8a0b6f6496db09c0919af661effbbd9a0d457b845bb04ab79ec4d6e0168d0d8655e6c995d448e767c5ef4706d7eec82433f2725e2189f32 1 0 \\x000000010000000000800003d8e84436415e9b8904caa09f68526acf0ab0600d322c7d22b8187d790dfcc058a23da4c23e74e9ebd3b8395a37b6d125a7eddaaa40fba20d16acf82f8d970f49725359a16a49855c3365ff02f126fe9a77dcea2684296c9a327c6da7bd1b4e70c3d15729d8dd6e23bb8bd7254c26de12721f3aaec330956b91564dff55e7812f010001 \\x8eda8a1cf7274fe554f0d9bae38f6335e286231191250baa570bfd377b7d1a643cd04c4d1ae3052f5c1f897e778bde3b10d4bce9e875203a7d2496e35e8c8706 1687590748000000 1688195548000000 1751267548000000 1845875548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-278 \\xa4720972f86b1aed51d6baa183bceb64e23cc206a085896ff0267e24f19210548fd8d1dac74f9c4c9b7a5a9c51833eafc2fa4a09ef9ea9da905eba87d0456323 1 0 \\x000000010000000000800003b5bf0d5db796fbf81629dc4ae3fcd06ade427cd0754a54917fe570450d57e713bd8d791478180353ee5cbc932b2183b7a6bef0fec44bdc8cfa93b18654623106ac189b3b535e7fb1b1496863e5826f5325f2d08754aae407c1a7f8ee1e73ac7023631d0859a3dbd2c966818a4b7e9ce38f01483474e272d439b2c23ff898f67d010001 \\x9b01e7ab5d936d69a43279e2d6ca36096c2bd15ddb789c1a99db77f0db94759d35e0e2ae11b4482d44be6e543d26ac0f1c21ee225d0fa6e4cf8f5481c544a60a 1674896248000000 1675501048000000 1738573048000000 1833181048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-279 \\xa692d4640e1129a1318a7cd3df295a55488d0870674850d43d4bd30486b47482181af544600eed202ef902f8cd28ceab1cbc0d4df07f35ff300ccf6d779378e8 1 0 \\x000000010000000000800003ea687a4b641a81ad69f0f82717351555e5724e84e4b04b5c4fdb0886b5d6e5a31ce5d1a837715425f9e1caa747bb09184de4bfc02a8e6b045062fb4c3224ac97ef549e09f0adafa4a72a517382c7b68ce9056b563e6e3077ea95ca737de219b083a4505a0c4f12f5e2a4707ab8fbe451d92baffa00571f1d56bd40b0ed5ec30f010001 \\x00736adb9c5638eaa417304a31610e1e15e046816dce8fa49d9e78ca1ab22744f349cb20ea41adb604fe483bda1a9cfaebdbf61d94db828b8685492a9d77f20e 1682150248000000 1682755048000000 1745827048000000 1840435048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-280 \\xa78206a67e391649a485ae3ba58e3b9e8614ad8c7bd1624a160db2c9390b4879d2a4df6c7e859128f7ec15abd6d2fd41273942d6a9ca4889d4f5181561998182 1 0 \\x000000010000000000800003caecb35bb78b0c38686803984ba00005094a5678f5d56672dc8003b805eae82420c19dd6c753a11b6c9da3cf1bd399e79c85feedc8a371ba14f4dcab0e4c2356a134f23e6a1a6896df606b503b48263f3c9ff7bebded028e99a3ab6a55732cabae009d1d56c69aa5c09b7b6fb61ac3dbc14ee6d90b024a96539c4cad4e727709010001 \\x52784c877d0b51d73156df34c887f65634634aeff9c924dcb73f8e8888c6321e35763d6453e298e017edac7c812597f324b584a369f535a206b240bc0e2bde0d 1662806248000000 1663411048000000 1726483048000000 1821091048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-281 \\xab86c1dfbb5006ca28887fbb180179aa8fefe37e5fa6b00d14d5900073a15e236444715cb7fdc91fbd7a2af13160a554c53d427e401d5e4c4627ed935c472d44 1 0 \\x000000010000000000800003c280d0cbcf20216bf9f3bdcaba9d3d67c1951331dc9966539250251dbe245a8548dd6b638b9f35fc5b1bb1975c140106c02d20161912cd434aae1e058045c687743e7947a430dc2860986a35d4883af706f6daeb03929c792ce6e3baf88a2ddd82c3c083fb4a9deec15693d7512062c2248b1fcfd06b0ebe65e33ee197b60161010001 \\x5a76042bc34f0ddbdb980151e9ea24d229489af0facf2f90795b539fd50aae0a2e438458dda2b5971e498fdbad57d584d1b2214d2a5e41e31c1b3bd06ab59107 1662201748000000 1662806548000000 1725878548000000 1820486548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-282 \\xb1aababdb83a02975ea4a7ec9f647b88d8a809eed3f370c0377a468b853ae013eafcb8ab19ea76f4a08db4db3b7c9a79ec293ae0aceb9319bf85db8defdac996 1 0 \\x000000010000000000800003a58572447a5207b87d35539b6fa1a5d62cdccae5fc4142134011b1daee68f7c9a06e0975378df36129adf4adfeb6c905f9190ab4502086361b18ff2ce62ad09f5f87b886714b48e559cabd7324ddc0621244db74530c20a1118e946117494b7e12b36c8fd1419650914242baf3e03fe3c455bf9fb58b8ef97bd76b34b496a775010001 \\x2e60dca8f64566d8df408e288b5f0d08dd5249964ad7cf9b689743b11b6b0063b9f3242e7ef9ed112aab5ca520769ea09f305d05a6bd34a9aa19d4d8acee050d 1684568248000000 1685173048000000 1748245048000000 1842853048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-283 \\xb1ee28ab375a61bb70cbb0ea8ed23b4bb6a60d43aaea3847bb25c4341240ec1f39a512303dbd0ac0f7ec608d36e2301533d5df6b86d816bba1def8a085459119 1 0 \\x000000010000000000800003f3a4dc1c40930d11df82a6b62b74f996f761b9b3fd132de43cba29d1d92292dbddb1965d878361bf5bb539378cd5cbde1c0c8e561b84df05bfc45951612e360fa76c2fb5c123d0703114b1ba681ba0e6431f1aab9e8be90126272b7934c0895cd2d3117f73ecfb1ab41ddebb71b2ff7502f7097ada92fd035cc33f258f8cbe37010001 \\x903167008a78a55acd00169048e7968019bf00a51ed6e17483d7d9c1cb20ef0422e0a7541e53cfc76d57ac6d011dc0dbb07c12b463a887b7817650ed2e482405 1680941248000000 1681546048000000 1744618048000000 1839226048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-284 \\xb50671265744a19b81cb03e016d365950b802f7e40a23dd13a6680e293bd839b15b7a5529cfdad07d04cff52abb573b3d0194770a63a2138b7d1a33441ff5a92 1 0 \\x000000010000000000800003ae7d138e0a35384813c45973f832604e98aa3287ead17d09cdcf425c62240259b48203812a223578ece6f2eec3117e5413fc5dff8cf2d00d6263c395455eb854b457315acba8d900bee1916d9796f3bec851e70d40422e08b5c230283292d049eaeae19f0c05de3cf3df70c51ebb36988373f5eb2a7c54545b7920674a9f0c1f010001 \\x8a0b7fcac7e49d3d87c6f8de07a6d005a1b019edafb478ce92076d0737ea6dd28af466ffa479a979093e6df46b491eedaccafaa0070a50b2e98efbdaabd4be0b 1682150248000000 1682755048000000 1745827048000000 1840435048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-285 \\xb59acda976aa65ff0a281195841337442a9b0272d279f2b7baaefe66fd319869e4b316312d4b56c9340766e6bb84c2b33b52f6222ccc17ea20e1160c6dd4f1cf 1 0 \\x000000010000000000800003e74cfb5d5e3c57095b4551f110cec39961c23a81702734b474e719a79aa57aa732e89fbb1ac489adab673d27b45db761dc7e7f01044bed529ab391b7eca61ef7aa313cfbc4a6727a47b49985eed47859c6fb16ce194c1f344551ff145464d33d9b4e63b9dead246f31eef854381013fdf9fdbd3c5bd3b317dcbd7b9a5e50920d010001 \\xdb427db6fdf7be4eae772eb70c06d64eb28d46fe7c7b4e4e7ba66a5f806f0d9ca6ef417e462a8b21a13fa39fe3af08b31a0dc4e35adbc8b060d291859af0d802 1665828748000000 1666433548000000 1729505548000000 1824113548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-286 \\xb9f2f27fe646918e3c7586f15e6ba5ebc99a9ff5e2cd1a9d891f7e1ce2fbdf6069adbe624b15fe4f76ae701a26c0b8172ceef1a3d93684739e7ecac906660d6c 1 0 \\x000000010000000000800003c4425a709d3a57e1e7eb84f270c2e390878d8e8a070cc5518f0dcbcbc4b2d048750c12aac0655d91949357219dbc8c119bbab27965dffa7ddc53921ee1e9b6f4aa09288719b906703f343c11d00603aeb270539750ddba190a13ca8dc975f4d81e12b28f866f5da7b484febce94b78245bf86781dcaed82f81417765b18fc7d5010001 \\x7a146ea2aeacc9074956bf4e9a38667e236c907b1d8ad9bed104563debacf9ac72e49a3577a5fd2d92feed61c96ef1a618281296832d50ba2129f9c63932f404 1664619748000000 1665224548000000 1728296548000000 1822904548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-287 \\xbd9a94a3fac9d0eb0c8c3c3aeb0328a3021ad5a60790e1d481daa02ee47194b6b7bc6b727fbfa99fba4ebeaf7f20aaf09bc32e597db7891156cdad2f580d10ef 1 0 \\x000000010000000000800003f1470503c739b0cde42728249265bb654016f0c6b4db0f864de344eaf7cd9837655fc637dbbc8119e03dbc8a0aff0e55c6e582e58ffe6969bf45871daac575dd2e6ee45b7d33735a21dd4e67c030341eb51f7edfb6a208df96112d79e7ac9a0ece94e358b310ed81b1efa0d33c6d4cdca85a530b74243d906823b4ab96bd0a79010001 \\x4b1be4784489df36134929652e52d85f991cb91ab074e3dff07477a050e74236e07bf0b3a19141b2bad41de7b076312fec1ccea40e0c0c94af3d4fa3cdba1c0f 1673687248000000 1674292048000000 1737364048000000 1831972048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-288 \\xc28a5d7c07f22aa4718b6ac320cef3677bfb00f827dbf0149bbc0d24de21ee1dc969344f51b8a34eaf7ee2c2276ef7e7ed4da044b48d2bbd20f2a19e84f08af7 1 0 \\x000000010000000000800003a66579745a55a600e96a433159b3482dc088101559e8d38a04706a02a97f6a60819369b7e0da7c7d6553a4ab5188c1452c936758292920f1eb4b680937dff46925290f430469eaf2c4311b5d61c7020f45cdd936ee1ffb925930655f8180a97c54892a20029a7f94f2b3f360138c3782f1250c3cd5b23c04b6b7562ef0602cb9010001 \\xb25a5a2578d803255cbce5fbe0bbd338adc8b6e8883040303a3b6398e2a19ed647d7d00358f946a2976e79cf2e2234c1365fe88a96daaf665b1f97d3297f2b02 1661597248000000 1662202048000000 1725274048000000 1819882048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-289 \\xc7920000679f9728d889a99bc5a148cc221f6cd22d17387bc26a9c41148dae074ec60b62876f49371b9d4891d203e299073f7de2557bcef021d042c1aaba2b22 1 0 \\x000000010000000000800003dfdc8b1566950cd3d3c60cc018c14a5a70bd833bfaede352abeb70d15923f22481738f9b93f04dab59454f1c45e863d158d00fe43f5a6d52e86c99e9240d8f49c2644f1eea0e0dc6a11531834754a31681fcb65d7c0a19c96db51e6c011ef877789f23ae6172e58f32fa12e3ff38d033eee46a6ac7ce62706f1ddabf4e4b441b010001 \\xfe6db07a328740a118086f8bcc58cbbe280e518ee0995f39efdf74ad70c780f87f8c7d6d1cfd1835d84753b04f204783ad8850a1900b292347b0b7b1c3e4db04 1660992748000000 1661597548000000 1724669548000000 1819277548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-290 \\xcaf613955cad857f4a3af6a2b613fc4f74214531388ffbe36cb792adc6210d867dde5bb8ee38f7f86c947ff1dfaec937aac104e973996a66b14aff5edab95869 1 0 \\x000000010000000000800003b2b3c6d5fb7b7800527b622eaf3d036862dae10f59e9cbdac25af5c6e650ab4ab0626ffa34db2c02cecf92d9115c2fc92b137c568072f6d6c1a02526a459def6dad9c4417068130ffd93ef51070aebaf4616759a2e60360d93d3ef7b991a99095ef78027fe169a6cb8335c26f188ef05c908559b1991827e3398bd1fc73bd7cd010001 \\xab99f569f8c8e4bc74db032462cc1557c03009e1da4d79626c7baa1a4a8e2d1e1bd25b08f4bd86d3343b867a5f6344328d9d939f04cd7e6d6adc79aebb5d3608 1679732248000000 1680337048000000 1743409048000000 1838017048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-291 \\xcc5e7a19074df7beb1c34db286194f52520d479f753283aec09891cd7edc392917b6f84a4fc2ef50d079bfd37114a444f691a4208408cdb80e51c0656e23c198 1 0 \\x000000010000000000800003b1ffd80e30aa27e563b8b8969c51517f5d6672b550b5dcaf7b85443bf4a9b4f595ac33849e548d646effa18057da4ad2fdc4b612911b83468a337f24cf6097753b536b658da42ce92780e535a358350c30eef94529a47f725096908c78e4a50e805eb032d6a3ac41b4ed5a3c5fbd9dd5e6f9436a81c624534d9bedda704ff491010001 \\xd9870a08f8172b01cf7a9a611b2042e52b35e1bf3dec7a1a97fa87b215e6359270c29e9a17afcb36a6036c1541dd4483fc198a60f6be11f99bb0ec0de7be8c04 1674291748000000 1674896548000000 1737968548000000 1832576548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-292 \\xce863470d180e6b0da8f1213f98ea71213c30c07db57c06268b79a75e32ee3a0e3a8dadb01eb3c6898433ad3a1b3306561e7c28fe470c798d200f270b2a26e0f 1 0 \\x000000010000000000800003ebd2f178364907df09c92bc28592d1fb8b71cab37ae9699ef0a2f01b6d097b89c4583fc692df61f75cf14db09dc5e8516ede3ca4de1d5522c17ffd42ba0d2c84403f3890858c3d692b19194e9903817ec692bfe880b979524af22908e435ed30872f6340aeaf1be2937dffa5595e796a6078fc424123e0b6609b6c7251f2816d010001 \\xdfe212b8a126a2e3195c894f7ff58fd5cff96613128b9769ac8009723db6825eec5de48086f5a855a5c98e5cb13a32810cdb200de2f09320f6481ef251385100 1667642248000000 1668247048000000 1731319048000000 1825927048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-293 \\xce164cee404877b549c5946a99a0fbff7480bab3bb64a7edc52304caf540f7b30cbb9ac616d25681288be22c7e5f652b1df9cc330fc6813f1b8be760146817ce 1 0 \\x000000010000000000800003a657de30c718b01b41a458ae614107879824f8153933276aab8ea3f5559e4ac105f9f1ed743b9c63a7665a608135b9a6e6a341ddb8abda806139732fd705a3f9ec05072f9980c4ae84ebd320c2b731d0028afdbff0ecbb487a62ab48b33414fb07f23286cf6960fc829ef449ae2700b3717ffc120e1ae342af18019355476bab010001 \\x218cdf4623e4e00a7ca75d14aa837e696572375955b1a9769bb81c54282a77fb111bf9d3734f8aeaa1e45b1d846eaabb0f211a7359254b30ab38645e5f87d50c 1667642248000000 1668247048000000 1731319048000000 1825927048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-294 \\xd1462c5e139b9a27f46f1f976676accfebe8659f8fd5e30b838fb020baf37112781d4bd4bdc164492b212c4d5a92300aa439edad93a3d28cd0e59d16d0af965d 1 0 \\x000000010000000000800003bd522647508bf2c8448a1e93982f9a14676662df724133f6aa01f790ff7b160c8f056f7d4b7b25f26c5e7e2fc52f101c5335d89e0b984c551137c907e404a78692bdfc00ec250f4dda6d7251b9eb9ba90ee8407b68ebca1362bbde607163b045f68620ab82fa86e3ac2d9bac6edeb160816165eebc0cabc61c4e1f51b42b8a51010001 \\xbcb9875cc40fda17162c569e265a583c01831702a2daf898c2e617689fb6d83af1c4a00e69205a38bd8b0bfa53b35e2a2859b533cc226875875afe70c8ffc900 1674896248000000 1675501048000000 1738573048000000 1833181048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-295 \\xd58e83415bb4e44bc0eeb3c9085dff31b6d8b299c33f83a0a0078f2df16c6e34bac62ee07b0016ea9db2a916900fcc895fe18341128c8d13eec347b5ffdf66d5 1 0 \\x000000010000000000800003af8c0966b2f2d698c384d73c95853e477be0367967b78c3786b1af9c67c97beef03cef520aca10e3ca7b27a3a823d83a26764cbe11d4aa6a749a69f263e470985c991a4c884ced4d06493fa48f682efa26fc4700b44040d84b7a92bc8b2c4b9f3bbef57fc764fd36b245364479bc6f41866900402ae80236dff0f3734e066f85010001 \\x7a4d767b5fb003b906766018866932ecdc23497e62f4ca27e317c4b85b4f2b123dc5084f7fecd7f17b5efd1234e2ae44e32490c02cc5088fe51022298767c402 1671873748000000 1672478548000000 1735550548000000 1830158548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-296 \\xd986cb0dad4ddace4eef35b38ab67156e4d7f3857a01fcc9cd82818a9e7741f0ff9291981b407c2df9121172e18c453127c93e98b1fa0f5a3503b4f997f34087 1 0 \\x000000010000000000800003af37855be564dadd22339974e2284cca639bc3c9fc14205686e827e5abbc2e73a3ece2f22a527bdbb7a859cbb7f58683d35ff67bc0b17218ff2088f79260370c0e5a34f948b9394e4f219f09eced04169dae49d16b4ce26cfc8a0f11c242a5e25564409f7aa295465771aee41bf7d5803774f7aff5e28725fa67c6656d85faed010001 \\x51fd738ff1f1028f475e2ebf0aa4dd791f19580e2bd4e5c66dc375586faa8a6800123b0ea15c694465de0399a8e6eef46cbd556e99fad5f073ee82f566853006 1677314248000000 1677919048000000 1740991048000000 1835599048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-297 \\xdc368bc4b8559e04959e1bf17f604dc9b276c9cdd9dc5674fe49c08e784138f1bc93c860d90b2f3bf9dd45cb76c03739dfe4438b7c54b00849c6b857e3fbfc5e 1 0 \\x000000010000000000800003ccf9b185a572c7371fe76d3543e344f42ef3d0f9952f7ad054e25248cb9a7b660f38258c5ebd32c1e1615f0370b5642fa0349ce20642585a51fc4af2bc351541bbac417e76e4e749fca72d29e428c9f91ef4de468d28c201ad3f193b9248dc98163f51acfa88a03de8c10d44d0391fa2ed1c7a4938ef9438badfbdb6e0caac11010001 \\x46c4b67f03acf232f44afc6a7bc9280fff20e2b52fd1233685c90cd820faad5a268ea91796b893b9ee5e8cfde4f1b6a98976ba636bbd8ba97281725ac791d609 1679127748000000 1679732548000000 1742804548000000 1837412548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-298 \\xddca16aa585bd2e17e0a10df111666ca1cabe6a5d80bc6fdd71972a93454487df755890f6da879ed3a61bb86ffdac38a2dc4f5afcd824c3f965bc8af52ff9010 1 0 \\x000000010000000000800003ec3417fd530fc9913fd7efe7bd2b4e8e4a14ad67e31892773c8a4a908dc0b48630e1f12fab91122c82eddab91d3d52641e2591cc0679e6608882d332c45f3378eb9ce97ca8515442c3fa9fc999fae89db7cc349b5aa1df14715249516f69b83c004b383e5f58dda204643ac6cbba4b44695795a942d2ff28377be10e5c941253010001 \\x76328ad062c116749485c8405804c12d7f07bd2105481f75690c785731b73a22d3baf992ee124221805994a583401f98d081b5e7d17134227d26abc6fcad9100 1671873748000000 1672478548000000 1735550548000000 1830158548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-299 \\xde8e291be88a090cacacfad235289f21be300313c121110e6bd0f35020393d4265ae2777db762e54688e08dd93a88b819ef52d1bb7c4eee03e8f96b227eba89b 1 0 \\x000000010000000000800003da4478728ee54696125d2334495ff5ef44f166cf121980e07a1f88adce36bf055856a635e2f1bc70a147e06392a72ca78654a56c7ebede8666a0b3a2dcaaa19dbe5d0e72b5bb821daab00630ab368f7736ca4e478beb8dc5c1e7ba1fee26652dad52f342d62acccd88fcb8037b3c17ea978cee3ac22aece598671663c530ba0f010001 \\x28feecd232286b404ba9dc5dfc15aa8ac3f07963fba776a4744c5df4070ed9df564666b7a826b6e7fcef8c3505789a25a7f6045c48af76aff3752a040a76900e 1681545748000000 1682150548000000 1745222548000000 1839830548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-300 \\xe16aef9d5a1c80e953e0b19a41f204ec6fed97a5edf78dce283a8cf7ac97f2c6b76f8fd74f6df468dae1e4336e7b7f7bcddfaf9efb72bf003b40e0cce286102e 1 0 \\x00000001000000000080000390e3fbbc40a63f54b96ca2439ed2a428a36dbfd45bb157a6c2c9fcd67b458bdab39c4b6af8b3e249505e5fa341ef9eb2e3e419cd4c85c0cc9fae6890657e3e623ecfd75d8a26a88c0a57b896764fda58426f1b1d1b9c007711381e68e8972c55cbe68ad61fe768f1b8e73c7303dab84dc863bcc5796d59ac6eb41afdd7831265010001 \\x142e9a5a4c0d14433a7d21afe745cad1e7069e07ee48e1d88953b8885efc7e4dac4f142376c5f03371abcf8cbd72e404c41ac578e359f0d3beb55c65d90d960a 1673082748000000 1673687548000000 1736759548000000 1831367548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-301 \\xe28aea8332629b8a5a66a5ceb7f6f0a5faf3ced17fa8ad1edf47766eb8ddd896532a13d707d1310601afccb0c2c05fad18929b37abaf27365001b1343bfd193b 1 0 \\x000000010000000000800003e6740f701013792d1463630efe042841200158d5d6b69bd3a935728cc4103e479b70d4bb8b2ff977cf8722468833daf251e7b191cb40b468dfb1b8c9ba642149906bb59ab22c744a9e42abc8c3e7b081854fc0276ca66a02e596d01f569c92cb0afa82850ba9f732a43f3e2642cdddae5d93fab9c042951e18e540d4d4b12ec3010001 \\x2f023ca9a12b62e019f91a67d3a7ab367ae133136393195bf1d3576b27c8e0321a3181a900e5e3c3843437a88075eb3bb843440f8cf09d7574028bf1d447b00e 1690008748000000 1690613548000000 1753685548000000 1848293548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-302 \\xe4c6e8882e9be2d9147883ac6872f16f92588bf26bb0d47521fa3f267fbf7a67a24fb35779e8216633c1c69c70e7a9a3c8daf9d195f5ff9609ecf65b4fe10590 1 0 \\x000000010000000000800003bc4af19df5a10983b985baa929cfc69d2fe2130b5ca1c37e37677bfb8c37658be82b9d6f84e24a8fd7ec0edc0b6386e624e7966e53af26d75328e2176fe06c42b4d9871cda8e0adbb4321e3b1f189f9ffd1ffc22c61edc8f21b128f58cf5aa2199f214d09a6dd1831aa874b3313aaf6c2a6d54f41e6ef44972571fd60a5b6861010001 \\xa72b745544e2a6dd55b17a491d0b670fa8ce7a66946889c9709206fcfb232c98019dbcbde4636f35005b0ef169d4ee74de0b2e0396d6e51fa4c1a072c6e21a06 1665828748000000 1666433548000000 1729505548000000 1824113548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-303 \\xe452c16f67bee9046831a3846ef6d8f463f0752c7e9009b23c016de0e4b775cdd6361e2ae967904e6b786a1bb96b2369e9f147e92df17b55373c3fa20338c59a 1 0 \\x000000010000000000800003b236fb9205f9d2dd6409279a007f91f670b86ec5570e1b7abbeead5631dbcb22fbcad00cd4787fdb323bd703f847eb5f47667bc1ee4e3c2bf5d938771a775d5502fd4f7a173da6e9769ad10678fd2aaebd3799cb711e6954f96341cb7e56704f655c2919adfdf0c7fba8b0cc4b418b45f695340bca4aaa2745ec5b8cddf72437010001 \\x21fec034141377dd451a0a6a30dd04e60134c233ec0ba62a2f19c52d353ea0509da31c3ccb8b7e7363b479467c91f650702c1b581817cfd7f63de3b7147d4b06 1665224248000000 1665829048000000 1728901048000000 1823509048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-304 \\xe5e60a279d07a874f186b30ed46c0bb7d11894acc4f04b6a8ee95b3d143d7e1c66bf203bc702a26cd80b9f0d890ad6c4f7dc4f77adef0419edc1ed65f8c25868 1 0 \\x000000010000000000800003c7a2e2363ecde3e1cd8cf5ce87f8a7af171dc3eef01e7e2a0a5ae3862fd8b414658c87f1c2faa17b3d965a002eee82dde4ff8b30aa7d31e4d0a50a0a8427a5e6580c63813e1aa3f072ed115b6d53016cac88774cf3215e6fda563897b18e66f17a82daa642c112e56922c44f52dc91f8dc2c7c04389479a82b21d21ca1577885010001 \\x0fc33b2a114d7e0797e688b2e9c27f9cf2efe051dfa96acbc1827947b4d334dc4e01a2b805c74bb6476534006b001dd11b6c8deabdd1c488ceef80527f18560a 1665224248000000 1665829048000000 1728901048000000 1823509048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-305 \\xe7a2b4c940460528589138d2d24c086dec147f2a0e271011a881110477fdb52b6bc24998a946b818db7ddda311c09eed90b18c270b0b69119d086a179658d27d 1 0 \\x000000010000000000800003d7a654d99ad790330a6dbf7fdcff3e72aeb198bfd13a5385152612a3b537384562d61a1ee65bbd325f90e838cbdecc905b8788d637b00a71cac9f17d7dbc0f3ce63fd4806e66cb79c7b6c1ce69949cca527b8cb6dbc0bf489499b550bad784e1dc33924e3ac5297dc75d341aada4425d3eadb8fe488c3b82c1d4fa680a997495010001 \\x4c9ed33ccf916a321eb4d8bee44d467af8491915fba43e96a9b207fd363a158139b5461be4d515da0a43e8f35e3166ea85fd6162b6de5a009a13d3e7abff8102 1681545748000000 1682150548000000 1745222548000000 1839830548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-306 \\xe8968c6f06ec9b0d4be476c8da09a54712eb23e23deef6ba5b6a5e9c175c4681e9078cb14bc48c52ba944a553106e25bf7aba4aa8fbeca0248494ba44a3cfc8c 1 0 \\x000000010000000000800003d568694b72caf026f0948a913b7687ba0e1615bceb9e19e29d54ef1ada70a0ab4b98d85a3e0e32e9f1627583c00245ad49085fc6431ab4b8b4305677dd70c7d4f20a37316008211e5d6c1f07d4b9d044f73a07b40a023a497aff088373c6b607746601376141234bb7e3a5debc3b598f3d2097c3503d1105a3e08af9e36c7e43010001 \\x48fece76b2e52eaae33fcfda6136d142cb42050aa2a6411165cb0bee32c991fc25c12ccbfd94ecf33abdf522ea05dac43418ee0781d7a7a5f7c8d3fd662d6a0b 1687590748000000 1688195548000000 1751267548000000 1845875548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-307 \\xeff25083226c675aa8dbbf4fb3f23d901ef43f38fe09537544b66379683cc258ffa0b8d2b9cf8315b27f4bedca2f5d99c77baaf20657629a8ac7e00f7a055244 1 0 \\x000000010000000000800003d3cc04ec088ccc56d5d8f4bd16b43503b41e6aeb8f3bf4a695efa9b44292715ff59794ef56af5c19755cb25dd2331c6b67b84db7ef86610ffa2e509f24e5fa5653c047d899984b6cda568b57dff0c6642799c9b5299654d269ab463d2fc50e239c7b3f0a50a7503a761ece77fc460803f0ec5d7aab6bb7841eba0149dac8b23d010001 \\x8b35547f45f3a947208b1a45e6a3119a7ea8c58812d4f7c3d60a5fd3e56c77a6ae5164ba0570ff48795fb660651d227531da8ead09b1c6d3da00f681ca0a5c0c 1682150248000000 1682755048000000 1745827048000000 1840435048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-308 \\xf31e0b91a13a44cd90857d3ec809aea01628a65664eb6fd5a74cd8ff9fe6d8d8449b750abb5fa92272244a351d77b012e1372e7a5478aacc79cf82816c3b589b 1 0 \\x0000000100000000008000039b94a59c1739a96117a4d050998ade246b6a43714c9df5209a4382e674067f839ebf4044d8da630680af6d1decc6e18f21322137f46bf70b74357bdc90e74585beecfadb66afbc9d3bd95ecdd4d8e7f6c25e3337d459e6f8beb670fb76cf63b77dd1ed05ea48c13207b3ae60d38bf117d2632bed2d4bacc91b6ff8bca995f175010001 \\x7148df01ffbd9e798ed205a1b7ed2f900a8588fff8edbbc0769aa0535d07ea854fa39a23a1627145cbf0d54145be158108ef861c897d06215210b94e6c6f3200 1683963748000000 1684568548000000 1747640548000000 1842248548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-309 \\xf3cacee3ec8b820cc91879442e64e664b550c545f7d977e62620c3408b27cad9e084baa2288e7fd820cc2ed818b5b3ef73ad9ec0a94b3b0346d7273627c9106c 1 0 \\x000000010000000000800003c11a80d8990f46b2bf6248282243f290b4a135d0756957c2ab256b4798c672edbc73c9d92648a8a9593e27391a315d7951b81ddce3bb95f44bccdaa2eca871dd5389e2b3f3477d9a6676a7fa1f7c694f80b3c8f3b795b30a6e2cb5191e3a8a20099ee45eee48bd72efbbbdd1f6572a327fe083574d41875a6c2a7b564ca52c99010001 \\x38874d94d3336e300dbe4921fcad016d94b16a83a15db549782ada2299512fb83063d9c0035d55a5891a5ba77fb09153682ca48bf9d37a9a3b5671410482c70e 1684568248000000 1685173048000000 1748245048000000 1842853048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-310 \\xf5bec7622d07de12295ef78f54406ef29755df9c4f613355e376ac64a16c1d2d143124df7b812bc59902462a52bda646aa333d9c03bbcce68294038b6a4e5a1e 1 0 \\x000000010000000000800003cc9ff579bbb42386b5801e63c46cfe0b28423b0b05ebd203a0937bf1e564cbdab7b4231a9f1f183cb38fd2619d7f6e5e914e63a16a79f7dc738d2f4d6b0c1b35d214acab3ac301140a1d8f34bff998205bc784dd01c7e6cd2cc328802fedbe95a781b8e963f42c9c96d88bc72121282555b84352ea7863a5211e5dc0ffcdb8b1010001 \\x148f85b0e1134813ba428ed4c90a31c4d8af8904fe96d067ef30de88b2740c103f739c73af0f121522fb3026a7083b4cc56c0bc04d8d5b5b4adb47e12062d709 1669455748000000 1670060548000000 1733132548000000 1827740548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-311 \\xf9cab6a584a3dc8b91daded202aad99c77fcb83ad6903d271f03ea26fc59789de0bdcc3ac34eb7a7dfa6cdd78f91d364d6861c9c5308bee7e9cb0b3321127d44 1 0 \\x000000010000000000800003be912f33d1e137dbdcd1fceea6b514a0094af979ddbb4fdc51d0ea7487a9f6b36db080de0e2ae6fb187770d4314b3dab33b49acf1af85fd32e24e377514f222b44420a14ba58811da656dc019667a39d9a07a56759d93e221c2d97ff8b976390d90a9b3d90a93503a4319bfd03671d4f11a441461ab82198a6dfb82097025975010001 \\x1c2bf653829a03c2dec0154fda518da5d042baf8ff0f591d1fc408b5898257594ccef6a90207101c76d56d97d413532e2960e2777bbc7878e1cbb0af9988c90b 1678523248000000 1679128048000000 1742200048000000 1836808048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-312 \\xf96ed332ac06bfb33b0afed61b9816952e416571b104efa4197ad8c5f797a4efccf0b330b942e4812a6a92185892037529f2bb512e2db357c9e0a9eef20fab7e 1 0 \\x000000010000000000800003a88936e5fb31aec0cb136e533eea0dd8460687aae95f0239c13d24a8c89a69dfbd65ebe0f86be6ebd787bd0a5f44ccb363e0ffaf98f1e3509eef575f87fe57a01fe8b0d1b864a858e3bd62d919d6070aa15e8a5f374cc5b9eb2e995c557abc5a7c9e9e4eb0d35572d6fba7654be823e9749b876a13385ea4fbf7e73bc305f4f9010001 \\x508582cc893447bf34a70180be67ae5186043c26057664e37493adf7591f6a360ac7a7fe6cfae3b47bd4617f15524cbf4e79435ee594c81c9815e42967d56506 1673082748000000 1673687548000000 1736759548000000 1831367548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-313 \\xfc3223d6f0f7d3851611f7554b6a454413d33fde80632596be95bd43a53a0c33f2807a0443586076314c8737ab3655e16c23b866f093e11213985472eb07f9fb 1 0 \\x0000000100000000008000039cbdf875999c903b3d4d0b8939f799a2d03a665705043c7ed7ad9a5fac5ab45fb184475c0d8bf16d362b6ced7fe8bdc86dc1ae6a39566859c84c10e455839cda039673c024054cdbab185af1392af0507b2a5ce28cedd722187953367a39d5320f5351845c32b79e7d96e01634e0e0d932eb50bef226b0416e7238eeda8f36cb010001 \\x5782907b24e96a52fba180902430ce833651b5a13cbeb4e5c8b593a8d4815cb3034ca6c8a7adda13eaf1c9d2264731b95f5f00dd96e4012d15d70b20bc33e80e 1667642248000000 1668247048000000 1731319048000000 1825927048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-314 \\xfdba0c1f9ce22670f9f8284d745173819cd7addfc216ddfa004331209c6d67c1ece59d30c096655375f15ab968c03a9159e5ce93c9ead6b92a23cdba31029554 1 0 \\x000000010000000000800003d08cfa84a127fb7da1840c4b0b923a681840de114688c6a9b1b9336a31ee75923e48c05ede39ceaef4dee1584cc8880ffb953eb09971f72f778a561ebf2e009c3f0a5bf5988debc0e285b613cb075d0d1cd82740eaae4e3af302db29e912d58f4e9beddfb5568a10e6e8aeecef7195452c9c7502ec0e8795db586e240fc87b0b010001 \\x6be379379c1d3719c007aebffa9d164360e31715b7620800c8db7fd69836cd573f30f77d785b3a934a0c8d81886800c77d4dfc6c93f599282a0b393a9b1bbd0d 1670060248000000 1670665048000000 1733737048000000 1828345048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-315 \\xfeb2227f5e66cba4dddb7471edbf971b84c7fba0604bf777498f873e1a538a827bc7274dc07126f5637c7bbac3e78209b1b841401d37863968418ed3c0f965b5 1 0 \\x000000010000000000800003fa9074d49c799fe236d645a9d8ae985e259af731954787b435adf24cebda87f01750f55647881b22ead8436a86041984be3095c92a06e3959c6e524f8aedd4473ab612e77191d23e938d83935410133ae2ec76131e6bd2d09f44b9379a84a811d4f747216f9d0b1cb8574304129697880fe90ad67e337a9cf2cff3775f3c42d9010001 \\x53e864b1177a38ff8e9a65cf46a08a1ba4a7d33cc8bcaf56620e7bcf8d0f041fdfb7861c64998d2a10226b0855b806e37bd9ae6ae10587cc513c28826647330f 1686986248000000 1687591048000000 1750663048000000 1845271048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-316 \\xfebe750ecd5f670390272ff480199fbb2b231af889d95ca5f4c7f4b4a360c1e4689d5c7a9ba7eb6aa487837c6ecef344967f1034472f60f8a8dd8bed97bc5f6f 1 0 \\x000000010000000000800003bf38f90758ff4691557ea3a5ebd27af0c648648e1665a7b3095135b5d42cb9afd4b4813d48adabc81ed156b0fd0c3fb0b2ca747b7b07f26aed44168b5c1ff0c91eb414ef02ed8351cb0df08a6e25a3167c8960da9fee2717856334472a4213922c15bd2995432fddae5e7e3ef6c55f8fab6f685a85908ddb64e7447faf7308cf010001 \\xb02b57b5c446516767e0ee756e1877f45635469fc146b2c920bf19d2dc1cda84650ff2c46e0a7b5b6b029a5cb4777ee2c9efe12c8044f60df69b8b9bec23f203 1679732248000000 1680337048000000 1743409048000000 1838017048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-317 \\xff6af1928be86a8b70600cc2c1ea532e1884e4080fb280fe6faa6eb6c8bb817230c7b521f863c6dc8e0bb304b1fdaa43a2e4293ead83ec3626df753cb50da4f2 1 0 \\x000000010000000000800003c7ec1c497b181eb89c3a411fab8918a82801f1c3178f71a558327b470a60cd0e65dbc45588ccfc25ffdab1f1f371ad344fb695801fe59dbdb2e8b024c5c25e42efc3e7ec26e68b5c8e812591f42f67995059a023e574580c2bb788f34ade58e780ea86005bc6ccd30ff9bd5168050b0318e5057fc69035154bc64f71590775cf010001 \\x797700b41ef757ea85708cc9446c2c3aa78b1e7e8f757d89df0f711927f6e56779f6d5c480521df764b228e199162ce6e151696ba1ddfd39a55dd6b151bf2905 1679732248000000 1680337048000000 1743409048000000 1838017048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-318 \\xff3e6cc829ff4b42aa6daa0f01b763be807bb15734ad0c2cab0f0082c7c2778cdf1182cd77ecba3ef82acc2fcb7cb0e54227fee4d46396894bb37881776e077d 1 0 \\x000000010000000000800003acb18c48dad1e0c033e758edeb3848beadd64e97d0162536d23075280fd417fde8f855e5e3e650cda8d28405570ea5da50a2a7c38d8f424387ff288f7a112ab60ca0d2d335c58dea73f66e5b7e03ac8bed4b7d85bad0c6f880b3ede7c5938fb14c50edda27500d632d928a89276ebf69b1208cf18b82f197027d583f0b147e63010001 \\x083336be52464fe8def6ba425ac7cecc54695b7a088d7d3810c338cdf6525a0a7be0ea1957bb6ee501d93fede5c7868cf6007c0237e00827286cf2c46c26f706 1686381748000000 1686986548000000 1750058548000000 1844666548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-319 \\xffae9107cad25d8093dc0e0a7422e976b4c15e66320d2fe057bbcf134baf6dd623c3a977459c72e2c5cd40d0a92e7cabd4907db25b9c075915196a4e90597d5e 1 0 \\x000000010000000000800003e3c5c7ddfdb93bd8f608e5c3182e705274f511b08d56378ffc70aaf33fc57c5ae2e6c6c9ca553aac09017b3f2d319c32e78441edb02f1eb8969e6fcbe6f2663536f46381164bd8ae8de77117fddf9811f25321d01ee09a3816c26f8f38347f6452176a7958a85ddf4eb0b86a608a0c01b9582a0d3250b45a9a92c62288465941010001 \\xe770c4e0183a459d1846d5c4faaf2a8675c9f6683e1d518968f6f71e04039354de56793e78b0451070ed215bb649a53a31d4ea49e0c5fed6fb541b7b6e2eeb04 1672478248000000 1673083048000000 1736155048000000 1830763048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-320 \\x0387a7ea27aaa3880debcb2d014e579d81aa2eca11b552602ec074b7e53c65a2539597eb1bcad6ef03069887f8d213955d7208ed2194a6c8eed4ba890ea2ae72 1 0 \\x000000010000000000800003c37464fdad293171f458d9802badfa05fbe7bb4a15cb90f380bfae421f8dce24065988cb2e34e1a4f65f3515b1973b052d258d40583f6d7ab0d17cff19281d7d8a43105f4e48f38cd0d2167636d4baac41319e5f79b3cc10ed864ef0422d01914878688f00c6fd5b5af2f73151d890ab840c5df53bef79b3994932067165393f010001 \\x8061b762eb300448866158e4fae5ac0a332fe35524853fd2c6f1fb7e25b66c1159479e48b8af46634f31d7efc714bbd9d3d9892a4b221d9fc6f0f85e87366c0c 1677314248000000 1677919048000000 1740991048000000 1835599048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-321 \\x063f471d92c5f2e279ededca4b83e90c670999038f0654040d092ca0c34a3b8a4b18de7fafe370e953c225fd132f79333bc17184870a783cd35a1b076a3cea24 1 0 \\x000000010000000000800003b024640f1316308b21a52b2c5f20298098aba4325fcf03efce8185234b1a40b53617a55f74c4347890da11c07be6746ca68803e94bd29acc49b017ffb7fffc6c7f865ff7111939270de4501791cfb0246abd082f9ea1b247911719100209d528154b2bdfbaee75cec77eea564e4ddb3eab3521478a9153cfc1aaeb3356b1d857010001 \\x5984f3bc7856161c506ac0e666a8d35e9ddc12f31493ea04d61467daa606b08654596f20ae4a20bbbb9fa6f37aa35495d3544d4e152f7c38caf0069754804602 1673082748000000 1673687548000000 1736759548000000 1831367548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-322 \\x0933b3dff34d747e8d718281e202bdfe5c461fc6cc4fa8f42589ca8cf144f5f883f8cf5b851edfcabe184aae1bb61797ed98aff84f140b5be8b03ecfb0e0d7a5 1 0 \\x000000010000000000800003ca06bb2f5de9ebbf83821a86cd18bb272cd1229251c2226fe2e7fcc8f8af35a77eac79012494dcf866c481fb667e3f9c291006b8937d0a059d4c4b15d27c6cc05c55b546d2a67814926c28f2809443f2f18b353fdcabe19c0546692cca5b44a4dae11aba82adee8963136f39a02ec904eabad09db0583595e8ce9b97923c7bfb010001 \\xff94afe1faf9c9695292066a11af1c076842dfbbdf5947bc70376602798467859f8eac821f4f52a5807b31f876fbc86fb543db763a56ea7344e4fbfebfa19208 1677918748000000 1678523548000000 1741595548000000 1836203548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-323 \\x0defaff9d64a1a66a50ef33ad6e4a3f182cd12957d361475cea88a64858534b30c653da4943b0c2674c93af059b9e48a2529c9eb1f4e1ddaf89aeb2b59e161c3 1 0 \\x000000010000000000800003a6e16510a614e3d34f0581d3ac7f1b331d07ffe7f08be976f03ad64a185c8277b366adbe075c170348bdb68cf5b7b8a4a39b174c8008f301e7e884fe9c59469f7c02d9ccf7ce1cd56f0ea6ed8cafa5608e4e128dead1cfdbb9eeefbb7e028df98a478198f48b661d01e59fa79f93e57e56f38493d0e923679792bff13768b2ff010001 \\xa063ece445b373a67516a9f98be6d96c17c178fe862ed7a6a7940729b0180ffd025c20ebed02c307f2fbd0dfc94dc956cb6782acd38e6a7d9a1591f805b1ac02 1663410748000000 1664015548000000 1727087548000000 1821695548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-324 \\x110fc110ec637b07fae963983806b724d85416b36cda229b8a2e277b945ca7b881a4661ffa868ea6468760b06d02790a0e5bfd94cc126a95c34ccfa379d684a9 1 0 \\x000000010000000000800003b62911ccef99b83b733623599c5ddc85500919948e66017bfa0b8ce3532a855768d6a6777a02f3f377c29244cc0ca8c47c535443050074ab8c85e5e923678d45012b426a453fec84210491cc1fcb1c874c84ebf80bd3f781ef439527bf36e9bee81c1323d09c5dee57e15928ef1b55556bc2bee189e21a9ba8090c63d89ac4f1010001 \\x1ede94125111ca31ee222473e5658b70019bc802ab7de060482a1257bfbeb5ca9d28ead19a019583659d36366a2f17cf0d52e2f8cad0ba911c6e530a60218406 1683963748000000 1684568548000000 1747640548000000 1842248548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-325 \\x149b14181880e8e51f3c4c8e9bffd775cc99ee93264f957c5e9bd3f6312251a74f09f297132c5f1849c441518600d9896438e1f6d2d796b0674d62cf76a8b74f 1 0 \\x000000010000000000800003c3529d70734ecf08278cdd8cfed4ddd8e08ecdca4d3c3a0bd324d2cb96ae891cda4980073193eb86f049d1eb1c8e6d676ee821fdec35a4f4da15fc239aa6bf1dc82182c044f3c5a938928ad2cd835fbe5a83a321d32917b6bfd6b43c7501a2bdad28a26b8addef6761b589834e3daf1e1de7cdca6667dd6ed44c9344f99181cb010001 \\x507d80754b59bf7db88589469ae80d67bc25fe9ef007dcfd2da2e605a1e17cbb47f59b168a28d24084f2942577275da7886741f8e5f88ef344895409d4f0f003 1680941248000000 1681546048000000 1744618048000000 1839226048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-326 \\x2227c6d9754835da5583abc2e86a673b8907413b34f1536ced6f6373acdc0dedeeeb258daf7e86f45bc476c66465bf4f3f4bfd1cb3d7c92c4b0d796c43e2573c 1 0 \\x000000010000000000800003bba1f8422674a2df62e4f26f8e0c2f976c911371047c5cc2cb99917220d2bed6e52700964cb24d30285ae67f1921685183933a1965e594c7b3945bdb3541b6c2c1514f66b44d036fe08180d171fbb27dac911a4ca09f597d80759ad97170c2f4ff39227d8e32195bdfd254202a9d35ee104c28154b780b14504f1ea6d37a1c65010001 \\x83f9b895453991366aa9ba3b21bf9d5c1cb8198ea5922c8510ac75e84f7d7bc50db8e5adba83b43d5fb134a1241d54987c2ed75a7842097bd762e23246263000 1666433248000000 1667038048000000 1730110048000000 1824718048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-327 \\x246b5b524848d2b642d2bc759ab0ec7f2ed36510cefe71651c60f168dc182b3f7f028a337c8f7821cc80c073a44de0042c0ff23d87e2ac93b5171bbffceaaafc 1 0 \\x000000010000000000800003b806af075f4257b9998288d8232c179ef5df58d1ff2ae715180cb09eb6bb151081867283f886eccc5390e437a091466479ee6c4e848420d5de2231fcc47cb870e285a20ea77523fd0307939deb4fcd2ee6cd2555493cc575a4ce18c39b71025687e95870353a5f8e59e0b0b19ddd66884b3cff65b87e44529833e17bf7644cb5010001 \\x3e8c54aa7bc3cbf73543c659c7f2d13098d74efc1114de6c196b0d1c7306bb7a3d68b72662be1503217f5746f61c57ccea457fae55533817bf64a872d3897f06 1671873748000000 1672478548000000 1735550548000000 1830158548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-328 \\x27c37d42e1d7949f9e504be125dde7433c9e474f58600a6b62f53df40da5e190007add972147eb225171a9403d1d71e9b978430b3137fccd595262eb1afeafc3 1 0 \\x000000010000000000800003b3deb080ef1abf19dea92b24ec6791f41a31cc80f3a5aa766d398353e1ba9a08e7cc698d63311794f4d7d2918380595093027ce1736debb1314f48a1f28a27c061a2f97fac069af7d4a35a7ac40b70047c0e44bc71368007409868a16102effd2c0bf05a049157ad39a006fdac06295a6e1e34a4e13b198d66dc89d71643fa27010001 \\x2703320872c7313758554ba1ccee92ec6455671882437da202fdaad131d0ef958ea3f9ef147b2fd349196817cc138b3d573cae5d1562cd6a66faf96da6bfbe0b 1662806248000000 1663411048000000 1726483048000000 1821091048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-329 \\x293f94efca5265e7d0c6a8bb053e84cc34ceec2a2b9886dec533ca6c3495facce33ccaf6e06a79fa32a05551264dc91f1f1accde174fdd9d323084f99b3ef251 1 0 \\x000000010000000000800003ba68379d35fed77a74be9611fd101398f58477cdf1baf44eaa9015760fafc40da3c95a4ca5484d3f57c8395e2c69eb98fe92ecfe9cc96de966ffed8c028cac0d253df041ec1fd669e48de4f398f8733d3da82f0dc2d2a95bab5208bb38068c2e31afa8d46dcd0e39e99a55ec73473b145aea83c1b4292d37c9da108ee9228247010001 \\x5455e96a5ffafe6950a493e32b9aac9f9935d0861a11243a1fda125da6843770b8f33a61814bda01b87ed3239781ae4409de8e9ee220a2971a1e06bc6e05ff08 1665828748000000 1666433548000000 1729505548000000 1824113548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-330 \\x2bb748c7fb02a9d876b1095a26ed827b30ae16d64d71ad6bb984a9c712244d1c45d4f5446093d39f35e0cde88595cd4e2c7883eea0ae317d32854249311ee0bf 1 0 \\x000000010000000000800003b1d034c1cdea27d873cf20b8428c825ff97b8bffbe2c37f46ab4a72c7037b4804d3cb74059b6ab1d88a1c116d20829336e38504137ef327ff9baf5f62ddca6129d2d1e92fdebce6d7ecb10eabb9a9d191901ee9744503f23707930496128df4a80c9bda73784ed5f4d6ee41eec35183f07efcd12d584af475e05069cd4f31b8b010001 \\x8b28727488ef863a26819459dc7792a796ffc45fd9b0a018c0d964d57f86b5ac43e66c5efe9d5a0449bd4300b2df66c02972f7600bdb689980a357f19e5ac202 1660992748000000 1661597548000000 1724669548000000 1819277548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-331 \\x2caf427e101258a8e92b4a0e440562e22c60d85f0921c80f423c2fec49d1c52ad86eab5c25335fdd768de81857e3c88e794872bf3c789cffcb1ea61eabb8adb6 1 0 \\x000000010000000000800003a0f74dab4cdd13380ecdd68a010559881e566eda8a02d51cdc0c11dc62210e12c46a959193a16254f7be16a80211ad5db88ecd00ce85bb43eb7e44dbee464cb9fb7306d9d7c39e04a6d7c7a78b1692862f905fbee7182a8d6cad131ae0ee2341556652311bf15fc688cbcce079dc7d5bf08d39dd644591c501279d8920a4906d010001 \\x9f5a2c313712db499d570db17ac3f8c83b1b59eadba8678c680ec2adfefb684aedc070dfe5ce53c90845de6e7cf77f8e6f5c3426abb5968adba1636ca3af4b06 1679127748000000 1679732548000000 1742804548000000 1837412548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-332 \\x2d1ba50a1dac61f48720fec1c7e579d3d4311cc13b458ec305e481bedfdebfc3141e25dcefc84a385659874113d200389be0c7d39b961132ae8ed9d1613b73ba 1 0 \\x000000010000000000800003b48bedcc7b06637eb7d84388f06429e489f35d9d6ec335eb386e81a37615bc7596edfc333364c6dfcfea60a68b4cfedda43d96bd262a85dfd7c1da22bfcc6011a731f234a336519c8e6817a8d84f88e807c51ce32b9d2ee3b3b75c07d1378ef32976934caaa5f36460ec6f7a62d3fa45fec6e783fa24f41aa78b9a6433efb51f010001 \\xcc64e789156390d57c13cafb8e1b9e48e6f6cafa74b6f20aec5778eaf927630a0e833f820fc89e9048ac3c129df31973b30423360eb8ec4cf37d3264fd0a7800 1673082748000000 1673687548000000 1736759548000000 1831367548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-333 \\x30b342a3145314caddff0d35a4ad9b911c2b3d90dc37cc29596d79d259162731978ac1fb35fd75885bc5a61eca5baa8ef322ae5d4ab83fefbc909c1f130db859 1 0 \\x000000010000000000800003c37fc0755e393aeae027e06c3e3eb218c857edabab4f3d5a45f96ef157af0d9cbd2d09010c4028e5a2df4caee7d7a88b5c73ddbdaf7b74dc5b92e9844d2f8273a8947bd8c4d1173c29ca3c51a98020ebf81a125b6d502ab63dc3278a877362e829574969db5345958963b1c589eddc9a080ef271e92f6cc085140b2ef17f6ef7010001 \\x74874f35005481de0f1365b2007b3e4cc28567ba483289161b9b47375024228a3154cead2456bcfc4a8adefda33c7f52a49574e3888e76b6cc74cd2f8d5c140b 1664015248000000 1664620048000000 1727692048000000 1822300048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-334 \\x320390d601ed435fa63fd95969436c27ab1b384f7fd854dba04e27bed9f34610bf7a97b3bcaefb4340ab77e256796b432d637ac41ae703865206b57ee8f1bbd5 1 0 \\x000000010000000000800003caed2ca63436aea0cb0cb4ea07623353ef1da88456f0243ef585137823580490b6451c4f63af79ec887b82dfb341b7c768fbdd0d1f8c3fbe5b0eadd12f63185ab01dcb186a8ffc87119295266e8e28e72341c82c788ac4a7a34e35a6bdd7c425754b1d5a8182aa7370511638aaf836f65bc9e578b80886dd2ba8fb58653ac851010001 \\xa8c68a8a7de57abe1d95773eca12a05791cf743d1d4d9f715af52629896080a632680305d27a68f1faf75e0869233c690745d8fa6a6e6e48dc331943864a2a00 1663410748000000 1664015548000000 1727087548000000 1821695548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-335 \\x345fa476fab983ef87f96b727593ef454fcfe08776cda3e65336bc73a7cc4a044a690e7203e829dff82397b80550b3eaadb6f91842c56dfaf92693579c9796d5 1 0 \\x000000010000000000800003a23fa8db7f13e87bdaf62ac0797d06cb82f11b7130c88cbe86840b5024ae73a50ffdc11410afb66ab2f9a808f79a963ee89ae835505235023e1a1487afe84c5d662a3bb77a06ff246cc2ced432405531a47dcf9e99bbc12538e0f190fc2bc656185497674ea320aa582a4914d49ea1e23cba7f09b31bc17d9cb5e448d9a79dcf010001 \\x956f06d7561d00bdc29e2b3bc7086bf4b83d04113bc45f4cfa257793ddbbd7c4c40eb33f8a70b77e99549cf64c0861ee9a6ab6a666cb256fc96db7a9f13b270d 1681545748000000 1682150548000000 1745222548000000 1839830548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-336 \\x3a07b4825f46c7c51b932def5a70066672df75d0b8f4a94ec95b8e7bfd478fc9ad68883eb53d45496e12c10252c1557bcb5a5ecd8cb7363af34070c6c9ffb758 1 0 \\x000000010000000000800003ad9d484baba2e7052cee16d94091ffdb2c79c850d7b9a13dd1ff5f02a9376ad9ca2bbafd4dbf77f4cd669574ed375f1abbf726b6e8700efea64cc8c287975c3a9df3e15ec2388ce68655267d90912d76e3494d8670abfda917d2b3d25945bc56f7320e75bc9f8829abc568ccc9928ce28c37cd9bad088351696ae32c93777715010001 \\xff09872212076284ed070b250e0f50da7f5018c6bb7d9ed36a561f0745788db2c28997e70178675272ef37ccc08a1399b6e2a207ef07041d1fba56ce5c87d300 1690613248000000 1691218048000000 1754290048000000 1848898048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-337 \\x3bf3b7708571bdd2513bc2b967d81d165879ba3309900450261a9baeeeeddded3183959f0235d59ed8af61b61f1da5a424ba5e943c65f467331df4fc8b3f03d0 1 0 \\x000000010000000000800003ee6c89d529360ee631be8125a4a5de1cca4996ece012c742a9412ce24fedfdba4c7432676fd809e8050419a2e6c8db24c1519ef26ad85e8c371f653725ec772b86e0e0da536fd07d1e4939a8a7737bffc4f85a4f1d3daa3fd5a098c7f30f05722df673772ceeb8b3e082d371f528cf98fc1b84b751f16e967b4ab4cae7f33439010001 \\xde0e1ee12e5dcca6edfee7b7a632fd6ca61e4fe3806572df4c16664445833443c1e8b03c4d00cdccb4dc5a6010afcea9573ecd72b6d878aa940fca045651dd0e 1671269248000000 1671874048000000 1734946048000000 1829554048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-338 \\x3c7342f53d4c12a9a09b8bf88933c8dfffb41409c664bdc3b579d15eea5c5477499b80691164631b87f3120adc3eedda85f07e7643f5225882f7f7961a0d8dc1 1 0 \\x000000010000000000800003d31f36851b9a4622b5fa4a248cffe60c172b44a40b1d93c2d3ca747b6b1cb0c63e9d58de56049a0d9f85f190a9ec8eb32598e71eeeb1de9dd08b4c9eb64036404575ba9a6efa9a9b0c7913e6cf85172baa79ba1c47c9198ee860600d6ac016f6fe8ae5ae7cce7491920c6c8aee5b119a61843c0ce5f33c7725b4b3acd0b452c7010001 \\x88ba8633dc967f1f33e2e2296acac04bc3822a85e366f58e5ece382c8a1bf71f8d0ffcb6964b02e0c893e2ecc6b1712c9992fd6e16de555aafef84caef6f360e 1670664748000000 1671269548000000 1734341548000000 1828949548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-339 \\x3e877cef2c6210e5432ff248ca9d76aedcea0d0ede639bc6a76773ccaf29eda48556d80c0922bfc8b6f4a5de2b2ab7efbedae1b53b78acffe694a989e60ae7f0 1 0 \\x000000010000000000800003d4566b25ca5b6b75d11b774c6af097f55f46279e76e1cb15781d86a9a34d17b5395eb502ade7dabf972ec23b439c6d17b33bf0c7d8c5922b1ea76ae6a67669de6a43710598dd012dc14083fb70be9a0230e6741d0ec9bec0ef050adb960c7b459073b05db323212a8f87eac92209b2fc104d0c6a5b78e8d5bf52ebb531cf15bf010001 \\x4151f9f0519697c1f57299e4ca6377f5927c3314720b45e57e00ce094c4d7cec37984b791fc16bb3b2876d89df4bb85f31144aa96d16b928e7d9c7db5e3ada0c 1660992748000000 1661597548000000 1724669548000000 1819277548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-340 \\x3f3741b6d0b9dd324d669b00f58648516e84407ff8fb6b0bbfe5299a9beb29299ba78cd1b8839103760a6aa69adb2b0a46dd539bf64799168ad6e8afa19c4ff0 1 0 \\x000000010000000000800003ae23d86d02442316509f16ca43baa684ed75457c2606609cffe66d4b36b905b3bcf4a19d3c3c1ad1f5b84af64689b1ed515d162c23821510b3296fea38d8345b710a4b1cc2d1acc4f4daba51ecf3d826f31b0af7d067a389821476515319a8f78dcfdc2b0700e5299566eff519d4efa174464fa1a700a3f10f3267df8afe7af9010001 \\xc1ae0381d313f7c072e354bda6d32b97a66331ec1302734a5e8199d340e390c73f1ac237aa549a07a959b339bf7a9f3280e9a14b7f216beb07b430c3c54ce609 1667642248000000 1668247048000000 1731319048000000 1825927048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-341 \\x40b3eece398c924d61b7fd8f4166a28f892e6a2bb0dba51ed389ba9f1ac512bf4a85a98cc37b535f910b1f07d8697a13e74efd25ad3293983b05507c5fed55e7 1 0 \\x000000010000000000800003a383d27c0acad8733ff25dcb622bd1e436a2281f00dd77de4274bc7202ff2d8a83534899e58d3cd7cbfcddd3dd82f92a273b9e88af5da344ac380908e8c4a8d545e9dce984c770660f048711f69c485002cc509a1e84372dbf2a3439de9674a4200acc482c802ba2d276dca73a4f5b2544034d50ff698e02394c04784bedc6ad010001 \\xea391d4d03951c990973d6ee526a13bcb670321578971297a387c75f9c160c0a6a86942e3a9976ef49c93d40845836ace84ef8aa0dad1afcacf06b6b0818c608 1690008748000000 1690613548000000 1753685548000000 1848293548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-342 \\x425fd9348c7f1ccd430cc0b5f3076ef75495a432d50434d520941442813b60d8e03f0bad067036f0d8382f8ba038ed255807888c1e401db7bb35d75f3b88250b 1 0 \\x0000000100000000008000039169ededdec3db02a079bfa74a9de0d278eb6ed8ec4d39686a65ee0af3796ea431b83af0dcecc5092c4c63e507813869180e8f649b4f847d3dc156b55154357c2e69d7cd271434d107faea7f49f478b5479435c30447a5cd647dc620e0f9f79b5f9c30295f7a78914faef40b1dd9efa6ed1dbc299b1c52b84d531c8727d3ff8b010001 \\xbd270b12e160676d8ceb133d467b749ba249b638b1f8bce291d08de2b345e176e5da9c142927fdea3350703460ee636016de0530b4150f23a37ed8926faa9007 1677918748000000 1678523548000000 1741595548000000 1836203548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-343 \\x43abf37516a54bd7b62a6827dd0879946cfb87ca64e0888ed57b829401c347ed77050c52c383f817fc7c09f2072812c1d33ab4ee5ce1bb99fd7d03e5ab8e0458 1 0 \\x000000010000000000800003dd3cd95a2f5e121679cc146f374381341034ee58ebe559b448104ee705785ca0cd4075382818bfb6da1da2a028b4a8950273cff1fce146e24529022097b2298f452b71e791d78cc4a66a96d9a5fa9306e672eb7758d136ee151bf6c7870d9efb78ecf2e2ad060edc6663f42c1b5f0b51863162306075a2632cf624e9b7cb93db010001 \\x75f96a7860930b281dce81cb74f6bbc4421d3747e97ad52cf460f54ec01286d08d190d5e3c7f3085c8efae7addf139f12086cc1bd6c4222ae43975ceddebc001 1667642248000000 1668247048000000 1731319048000000 1825927048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-344 \\x458f296df6974a21247a42c64785f4307c25949d49adbbed42fc23140817443a61f97b3e830d926773c8da848f7eeb7e2c5e93585f4b70abf1e992d76884558d 1 0 \\x000000010000000000800003a1c03d5b64681ff6b9bacca2b01b3e6a5e2943e6f9c3cb3b953b323f7114d00853aaf5566deb82966455b1759a835b83264aedb3cb89889f3ae1c8714ffda7b9aab6b31407a2ff477158b650463bdb25d399220bf7836375691e58ac400b2a641c5b78294d5d7de7a7a2fd20baee4be422fd5619bb9c246e1908fada46f51ce3010001 \\x0315085efe19addf4bf1718b4637e6b7adc0e941810bc5192e9116be206e336160bed2bf085632976675bfa5cbe2e730623898df1a8397df912135ab7ec8b70a 1691217748000000 1691822548000000 1754894548000000 1849502548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-345 \\x471f65d2e238dbac7e58e4f8f429dba23f69d933706f8c1dc084e5c09a29386afa02f9f2a169b2bc5773e0381850ddda1a45a5215302a9a50ead8dbd364b46e6 1 0 \\x000000010000000000800003ac55697d5de7f0ef9aaa074cec9948fc447863815bd4137a1a0f5ea58b6d64c88a876a49b5fb6ac7ae12b2d81af0d6962f9c9ad2f744591faeae49d9502f365d2a29b547c313bd1a40a77d622f021a9e3091665abf91e709163d546c997b35e6b9adc4d53f7d8cd336be4754d1d8e1e546a83b294c5828ce4f704fdad4b36c4d010001 \\x1e028c773f444a68f8f6ff16654684072d366988a59107b67a50ab2b4e5c4a8539f1c215e7f27e4ee8ea03bc156eb0af7a0c0c9b8464835382d39f7a028bd005 1670060248000000 1670665048000000 1733737048000000 1828345048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-346 \\x4a4b6ba8b24f25dacb59a91071389dd3b1b03a140364ae1518b8e5305f036b770b9ed1171c29af460014e3364822e061a6ef0cfca767f4a67e5b1d2ac5aa14fd 1 0 \\x000000010000000000800003b212464a5f48d4695a5a43e77a76fe772c6454aba0069587f9f82fc8699e88b87d313dd261b22c27e1a249d087e96a322edd125a2b616ae964d70d7f0c2ba1c6b5d261033bd4257f66fdf0ade2e7b433c246c3b7f94545db8811b2adc7736cdf6f7b3f16422b55fdc015f2bb21c87ccfbd6c9af19f14c63cb036bed95305a39f010001 \\xe9af38e7d9566687608a4941a2d2a1b3dd8a9ce04ad598d60182a66216ea292570e46c7e7d83623566120a3dd6f20c24c33958f036bdc40d58e9a3bec0d4c60b 1677918748000000 1678523548000000 1741595548000000 1836203548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-347 \\x4afbdb7910e9ae62113cf507e55910db59390332223d0bce667803b311901bc45fae981333d25571dcc685d2590207f7a786ab0418afdf520fc6a323e2040bd8 1 0 \\x000000010000000000800003e92321c59add3df46427cd60de8d0130d8e207b4e883ea643d8ace0c53d7e708b637dfe5039deff7411f365b93bc49dc0c9e16f49e512fbf11c6749154f67a427d15f80b6e353de6b126aa9b7df4731324ac1ab0b02ab47a368cc0f6f8b39cc4c4e12abb5379da86a9adefb9d79246ef3a3cc73da40fbf0acfc5d8e213f37ab9010001 \\xa0f116b0332d9608c8af28c25fc3ccf1dc0392e4bf1f7a43a29b26d63afa94b70154d6143675b17677698c863df8a72325730a976f63e629079e63f4c98a6803 1664015248000000 1664620048000000 1727692048000000 1822300048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-348 \\x4de3c8748998234d243f50eb8040ac597195cf051b9f894db94c3f5889250d8b9b36eb1e99ceb858d457836ea401270719a44d6358a4b6013d1a9620e3440b89 1 0 \\x000000010000000000800003b39ba0f1293b1d1872b1c25b9076d0416ad3792ed67c08abbce8cf37dafac701e526adb1489a88451c67e77778b1616d77efcf521494ee762554b2843d72e8879dc20d315d6722e7d6cf701c0687eacb3d746d80d69ac5372eba784eeb02b664bb3ddcc2e5b984b87b2e90811e995812b725ff033e401645d6e9a5137129daab010001 \\x3d9f4bfe44d5281facf32670e318095cc3756ede4867d431725e3a753b5554806c604f6aca5cbf1e6a4aee8ff21e4ba4998a844c7bf45fa53c02b5fae1f00305 1668851248000000 1669456048000000 1732528048000000 1827136048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-349 \\x4dc73c9e33208176903f610623540eae3b5cca3f485ac60a94f7771bef033dfa9b0101145a4681cc5da7306bd8a42683816d0d9c74959da5b557874d78bc2827 1 0 \\x000000010000000000800003c851fee055a856b9f7ef43abbedef773c50953146350df7cb16ca341edffe44646b704852684b2c105cb88cc0e506b7e66c9399bf141211db6dd6b7a5b85aca7b6286b0a3310b377bcb80381adbf66de4aee964a417646f6ce4084ed89de84e6a33067794d28a9345a29bc07824cba4eb2eb0a58616accd836f3c1725b7df269010001 \\x7f0a0fe063f9362730b034845019ac95c9720cbecfbdcc122667905cb500893af469f8a9c02dfd33ae9239fe2c8b873f4b729a360c9eaaa67c3e37724a01030c 1679732248000000 1680337048000000 1743409048000000 1838017048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-350 \\x50134b621b9b94bf99047e539b3486d8473c7829aea8ae062b7982bff522f56bd48dd341d6dcb39d6a0d27370b2e6742bd9a07739f76e0e147e3a0b0c132b169 1 0 \\x000000010000000000800003ae692ddee38719d59d47c694609658988d498f647afb0721ba3bc9938c061e1e46cb68d4f6a5c8dac41d29cb68baea54621058873e4121c758f922cdc0029d4ba4390f3a4b46d9d183fdc27b9a24a45251c81600f96bd1605e5fb470f483318b4c2c21aabda8500e7de2e2005c03129701fdcd6125b9a7992cb765381b8217f1010001 \\x97acba07b774ffc0b259b64caea3bd6ad870241547bca0d58f91058828d50e9e7e0985acfb8918fd8c99f7dd59e2cbc687f418fa13c3dcd6ccddaa675986c50b 1682754748000000 1683359548000000 1746431548000000 1841039548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-351 \\x534beecef57fde2aea34305028d8f50efd5e70dc0b12fe19cee1e16a78d54e4253619a5687e8c70a02d17bc8c3a8ef48500267e92cbc7b2e03bd278c943e2ae5 1 0 \\x000000010000000000800003c5411a4a1ea3fc070358a8d35511c0c060c1b2b1234ae44a2cfa3bb072c4935fa6b8e5111ec28400bb23cd9b284e8e0d1ddc3e81b80b54107fdfd24e984cb2c4ccc85cad827f87d5a3eb0ace1d403f2dc8990d947cc2f7d74f455ee6d5f32ef463ab886b772bf743e522004820e74ba7d9f87606eaae02f76caf843cd1b348e5010001 \\xbd576b5e3c606b8c595cb415230ded274b32192d7bdaf051b97c8f0c17ed777cf1b8b534272da4da6a19536329b35e2a473ed6bba730d137e512e5edb9f4c50a 1674896248000000 1675501048000000 1738573048000000 1833181048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-352 \\x53ef83a442256acc181db6b0e25c652da2d139c9cda9dc0c7fde77e44d8d208a17f40a27ade504c4b9130f50330530e384e0a1b6e796a35b6a229f914f6a40e3 1 0 \\x000000010000000000800003d06db8b279db77b8f216dd353878c5a20873663ff1b8ac06c4a10d13ad247f71ec4eab34b3758849ed65ca21bd1a13c234d95985b21b7cc0b3a5243aae76229d56a8e4ae65caef3c55b64d40bb17841463331166671026b91ac8e1dc15cb80bd0730fe9f128ba16defb1641ecbea97d68aed0586489aeb5fb69e6a91675bbdbd010001 \\x0c4d925a0cffd66a0912095e49a3c8c30048fea7a83aa0e7739a6da8754bd9629f603b7d463dd2442e52ea1922f5228584b729328627624f1d2f5b41e90e6a0d 1668851248000000 1669456048000000 1732528048000000 1827136048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-353 \\x58e3097544b340a96f08cb4a72793fb4b8186b817fcfc70210eb412a5731d99713396b88891325551f61c6ed3e8a5a5922d401175599b5d94e16e4605c549a71 1 0 \\x000000010000000000800003c383c2d4d06401853f9688ac638ebb954916733a76162361ebe258871bd208c70432b3316e448236c6725d8b137210fce867976e2aacb3647eab26d2db614b9a500b2d924daf667f78f8abb2048928457d09bec979be77d027c48d93c7fe6a90463023ce70fee8fabafc8f702d24c58969bbdbd33c2a938e4bf8c919db1bb7e9010001 \\x0a98477c028a1d23c44984c2a1bee42f1123aa56f7f91a8b585d74a0d66f9c4befba1efead9822a0d71519f73c8f83a5a44724cd957356671a66be577150a40c 1687590748000000 1688195548000000 1751267548000000 1845875548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-354 \\x59dfc4c781df60f5ed589931a9fb223df9e02de363f8afdd592dbcc1b36526fef65f08f60f804d019317b3ac96ca0b6898158f395db84ea3168029523e728ac3 1 0 \\x000000010000000000800003b9da4008e096ef87578d31ff5dadbad536ff0f0f2e16b5c6db9896372f1282d4f0ee44e77b21f86ff36ebed2b3a544861da76a2757fb53f6bcee0ed31ab1414eec754a645cb9218cfb26949fb37dd331759c5177c48af42933015b183c171370955a66c7acdac05b994bd7aa9d13c5b56bd3b56c64fa1eb3a8166f6f48e944c9010001 \\xa7a533590f92f13f979188fa5f8c7d74565112501ab50a37d825b6b101ba0a49e08ec16bc7fec401f9e386e2d3ce69e93a3192cc0821b8d4d361b36cd7fed800 1676709748000000 1677314548000000 1740386548000000 1834994548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-355 \\x5ffb5528116ff8268a0988fc34ea9bfe663aa8bb9735bd8da1b4c2c249b07eab9fe59ae898d7ce8d5f90065ad0a1fb2fb29e9bad20a450e78def5d5bbd3acbd6 1 0 \\x00000001000000000080000397c3fc2747c004c8cefffa2f7ece54579fe53b8930ee1f997bbad8a50e22d3058b439f4822242afbe358ec848e02ca1e56d68cf038313ac7bfdb1731d2a211d6b39f570c220b0d4fcc9b8da65960284d1d122824d5447844b92f4be1f6d54bd9e4169f2a66dcc2cec3bfb5bc788ef397dfbae040a111777505035844f25eb615010001 \\xe18207e61bae7822628ba9c71ac8b6bc459dc6550a6feb479ede90ef0ed0bf5f167f949ec08172d960c037bfb291dc9ea2f4b240ffd77f5a85a6b5fff81f7208 1673687248000000 1674292048000000 1737364048000000 1831972048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-356 \\x5f63464b8880b60ca7f3a41189220e104d75be24c7fd9dd20b907b609591c5f9d6ec96161c258c611129b675b430e55dd0853ab697d04f521c2877489f615e42 1 0 \\x000000010000000000800003e7abd2576054f794860929245711dad19e3c3e9de3ba34251430ff5e87a0b0177542e507c2c8bba09750e5eae4c36326b08a6c8db9439e260b1ecca1a553d189a0cc98668603a0964f294af479238798a8a56d63c7405efbd19ed8e4df9239bb61a7eb1b43d8de9874e3cfe35f2499c0787c491a83e0af5ab595fe43b09fde51010001 \\xa6f2a53b035887782f99251c23de436bef2efec819a6c23a700458efa6db138fb5179d88549197314cd0a992191b45f7e8ceec9030e423700daf7c6184ef890e 1685172748000000 1685777548000000 1748849548000000 1843457548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-357 \\x6073b49129a95cb5eafeaf0eeeb75bcf9f52cdbdf727da27af071edd573dcaf3dbe69403cd5881116deb9bfa85f8af8518ac12e67389f26da1b3a21c8382319b 1 0 \\x000000010000000000800003d657fba441034241f519f46a355e2d642b041c64bb890ea794ad49b74ccd05db6027ba21eaccd4e88ca1ea4d486744d24e4f7df4d9f3585ee4c2ed0f5e3fe37825d14536a2b7dd02387d51ff2b305c56e6f46e3e1d784be576be0bd49ec291d2833a96b8a22abaf2df9457d638138383305689c89fc372a43f150f93307ab487010001 \\x290179100c167697e5fccd5d742efd648302e5a16657b6a6d4be5e426bf88af60ea1dc444003f4c41d4319e0eedb033dd02b7b5374b51766baed75fc1ed41402 1680336748000000 1680941548000000 1744013548000000 1838621548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-358 \\x68032d65a519d753a4586f255d1d8cfffce500c8dbf2d8ce0dbedaf2302ca2e7a4c61fb1398a13c1b45ea87b6c365e195c593021b5d557b2e53ebdf4d6d290c0 1 0 \\x000000010000000000800003b799525d69d09f81f595f84534f19e618850ad927708e0ad9e2cadc7fea1432490efc48420a0dfc6340cda4b0f5b4e5da2724aa9087d0e58be565c3e9f8600b64e21a92675e1f2acee05bf7b95310bb9a0c56adf70cdfab1f5c20f694a22c8466fd27c2748ac237eeed48b867d76217adc6b3091fbeee5019196f6050111b9c5010001 \\x3bf95a92c1fd2710c248e3bba5363083288dfca3b838c441b1752e659fc82baca4e649662f6cd8b0b0a20743604552212c1dd38912a6ec459a8aeaee783d6a04 1664015248000000 1664620048000000 1727692048000000 1822300048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-359 \\x6adb63d80e8eb4178f809be07962065d668b98990ca6bb4ece007cc60e13d2ac3cc74361033edf7df57e71b452f2560f7e0936fd12c367c19b215d02da581374 1 0 \\x000000010000000000800003c5a92b6f601d261b3dbbb9ed047e0e12c8990b91e0e6768fff5d3cdd2c1c43e6960f8de1ee682c541c6c01d06fcbcd44be4930ccd6a5a934715f73d46336124b4e13c2e3ecf3fc758eef26223800cb88cc0efe75fd0b7d0105f79b62a8b6dee844ffe20673032ee4ad1434554db9bb5968abd329d967a69caae518288576ef1d010001 \\x657cc782f3c63f62eef2fce41a872c78f1df971b2257222ead5d49fdcd9494ae5789c64317df83eba72975bce548b23b9a9622786c21de3dfbdba9af4ee21a0f 1672478248000000 1673083048000000 1736155048000000 1830763048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-360 \\x72d742fe2f15e02ff6a492eab12222bbe07d78db3bc29a67dfdd6e508704a6bc9ec70f48cc8a878307d98257098e817c06e20399389328d26fc8365482e3ecaa 1 0 \\x000000010000000000800003c01cd6a6a294bca03eecbc80edb2f65812f390b4543886ecdb56b129b5e3fb313cbe69329617b083fe3b783c8d3f0fd10933351ecda84ff8f85e3f542c7d9a0d90f58dab5f4fea2a027360ad83fac7554b57704409ac2a1bad0927c20af729c683dca3ff769f45db0de615d06ee98fdfe608cccbf17d354f9caa6734cf33561b010001 \\x48a6cf90d24ca1fa8993167c89132ffbcdd8cce67b6ae0a1435b267334fab367c2acd0512e790600d1d102d7f5b4045e86fc7d2b1b69390b0a5d4ea01af6420f 1666433248000000 1667038048000000 1730110048000000 1824718048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-361 \\x7287d895ba11c445bd2d81994a1d9478855aece2ae04ac4f5fba249d881545d137d953d83267cb7c19f8dc9b8b603d70fd56aa25a8e207b4593340710f26cf54 1 0 \\x000000010000000000800003ca474ef81ec9ac4fd6a005162742a538d5d2d57009f6d8427cc206cae32733442033abe859a248c45df014f069c494e184138698fcd2b2c767b715cff5d0eb016f78cb9dbe7f1c0f78d9b676de7676ee974c26cbc4fb94e5152c2a620c35a049c073ca637290cf698e2eb29ab8806bb716b93ab4bcd637ea296f63e1379f1bbb010001 \\xa68c1d6541f0b8f0093c48159b302ab8be5f85d049d354f967a32d5402c8bec61f38a9023c49b262825949a0d3d7448ffc471df1a738e0c24fe1c93b991c620a 1661597248000000 1662202048000000 1725274048000000 1819882048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-362 \\x78cf400ac8122a091ac8fe673cb07b0897e10509a32040c8ddd3db50025a6d3b498f119c2a3ed295604693cdbd6d151165a080f74865922d49d410260e5957c4 1 0 \\x000000010000000000800003bdef48915349b2d8407b9186c2e46c1f1c6f796b0bfff7e87a6749670cfc0286ff3939c74a44158fb25a5f7d72b860f7e90bf0f453d3ea580f37d1a8dd8b30508a13d3fb2e60bd6086d36361f17bb693e6581c0143a52c176dc1bc7aa0f7b4cb7532e01138e20cdd53391756d3681a870cdaf7c688ee2c41366f3e3307a61ef1010001 \\xf1132b601d069806c0f6d63f5289c822572b5ab69962c14308e379fb6a2f4b357bc1b7e1b1ecdbbc1e09d87aa3fd312bf1b8508d101cf44e6ec90535f682800d 1668246748000000 1668851548000000 1731923548000000 1826531548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-363 \\x7f97773cb690b17f5ff5705ee39ec2adfa891bbdfe4fa5cfcdcc73a99c6d2ddb9dcdc400459a9eb50ae433c439c9347a7e1a14030324efd68c6fa51151a624c3 1 0 \\x000000010000000000800003e4ed5a06daac08ad7dfe390f4717169d949360c3ace1c9043f8127350a60332aedefd885b572e27aaefdccd78100e422907d4c4bc051e78c8682e859749369c0728903ebacbb4e4c192fe067bc7e2da0bd8d24c6b124f4fe7f89a71c5f4ed24dc3e3a3d29c80f9ea08fa3d7fb2815fa8df00fde010e582358c61671b845e8c7b010001 \\xfd6527e8134d239c80cec0efdc7ede0e15e1fe476fd53ef0b631c7ccdb7f732178db446c8dba0da31b6f8a8e3bf7c443ca491f5a60190159477040a836104606 1688195248000000 1688800048000000 1751872048000000 1846480048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-364 \\x7f27eb42f6eb988765ef6aba5d1596652581b4259151e948014ff636c74c3d50c18df7ebc9b92525f4426b306923bdd31f4092ab6bfb737a49571e94cf779a7b 1 0 \\x000000010000000000800003aa57e68832e03f260b160ca1938024f573544682c735a2b9a9a3aa2623c77ebd2c21f822438f79562af5f44ddd7299e556cba57ec56f4bed5c0699366abff821efa19f7e27e04fcd8b8add316fad37dadddd14fb895dcd136139db2b584cdf691e998cd82030885651561ba18917934c181e3bb85a4998192f3744853868e93b010001 \\xc6a0b85b734821fa07db4ce8e667dd6b774b7ed0ebf5df502bdd9b8702b1cacaf9c5287c743f056af68db0685b0a144fd532b709758ee942b1637a1c05f7210d 1672478248000000 1673083048000000 1736155048000000 1830763048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-365 \\x801fc4be134b18f279bd95d42f5dfdc170873d33a82e79adfadbcc8aa5258f1546f45c6bc44db1622489957ca621f2f81af2b3a967c06a95efd83186bb84bba3 1 0 \\x000000010000000000800003a4848d675a3d809f4b601a5086993e054f6c1128c3fb74a989955a3aca902e13e8a5fa2d2359578f32aaacc72d2f65fdaa40a4f8226e02f3616de2d053e08b4ab33b197f5e4b166c96a66fb3e0f060e6491df851ef9ba3293250d0cdb27eedef0f185621536fce626064a0b2d776f00662b520dc7cdff06fc87f03b52374ef53010001 \\xd4027a5064bc33c4641ccb055036cdbaf9fee9f7bc2775f6701f671efbe8a8e12faa60cc7d39dd0c4caca46f4b534b1f20dd14d7f3fbca9c2dda9418c1bb320a 1677918748000000 1678523548000000 1741595548000000 1836203548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-366 \\x80cb69cbc323b9027cc3a2661dbec87ff283ad629fa8ff74d662368d9f565d04777fe03f88d2fcd6b3e88009e686a3584338278529a0902c656f4fd04458dbc6 1 0 \\x000000010000000000800003d54fa2253c850dceb6ff2e2fc08e2b11bcdc5dc4261313203dfec22a59e948e81d33706b3c91050bbbbcd7d0ab5ec9fe09092990b71a3aed4c0f83e1bcfe74712e679f5fcd4b6fae69fb453081f37b99e0756f7c4a82f5857d21213d33d3bf71f0ee5185b12b95c70222568540a6253569979ce67bf9ddf13618c4d462de25fb010001 \\x4e9783463d008130e8c1c921e481f002a45dfe39869c7d53adb005789b4dad45ca48dcca177c857702983d8e83f0ee67431e73b9065cb547cd122a697980dd09 1667037748000000 1667642548000000 1730714548000000 1825322548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-367 \\x833f43c0216363d5daae434ca4c7064efd73ceb2b154ce0b59f9e26d7c17f69ec4c3d73afafd9e35e62813ea0bb834952b0423302eed5a02b1d2a54030c6f94d 1 0 \\x000000010000000000800003a6df8eff1bef227e6afc57041c4d2cac5e1a06fb09ec1ded632f8af48edbc4981b8a5ae09ca710c396727d86801da53b56ea61df4e9de0ea43f3aefaa9f9e2f6d0584619b38ee67e6bb51101bd0c9c64ea128f685c33a66b5a4da35c25bc825a8ce3815e0505bc0a22681f48362677073fa3aaf09b978fba3922b32162b0b369010001 \\x492574bfedffbe8101b2664d44cdce3ce7e1cecb7b8bb3c30f04051289f0357351fb47897fc72ee6208b46aa3c9aa6910041cc1b78147503d5a485171894050f 1662201748000000 1662806548000000 1725878548000000 1820486548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-368 \\x8577f19920f7082bd8b3accf29c978103a7a63b428fd977b45f826bc78894913e000ea621cfbfd9bab61c6848b0e305a1c8c34623b90a1822d6a9d88ae72d57d 1 0 \\x000000010000000000800003c66c79bc067a887d17da9b2e3c8c91b357ff2a3dfa225c4f6f44152bb0cc43e7ab124476d44d73d6ea27451ca3738c1026a82d09e829011871d76cece36dc033732e52fa604a8727ab8fcaff6f5e42bf4d7b5ac9efbdb5109229c7e04186365d28754a6cb2ff32c5aa5ed6e3a00b08c95dc112779eb452226a5a5dc53815ba1d010001 \\xb5d890a189a4e738565aea1c2920ba6a6759a290c2f6102f07c0ffc5395dbc4fa01bfdf15591daa012099eaecd020ca9dccee1d81a5b276b02dcb3f6c0607f0f 1686986248000000 1687591048000000 1750663048000000 1845271048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-369 \\x863734a5e1a105f7723fc49a6f34af2fc149da9d06c4a695770404aec6182e7d6ace7c09bbd557cd1e8aff98217826134cf88e879726bc75557fc897bbea4684 1 0 \\x000000010000000000800003aef35cfcf0631bd43b1098acac47a8729cb7d11bb688f33ce99c14c30aef8683033ef910000a68ee39564c379ec9b324d96d3fa6246c2e6dcc997f574f633a844fe02bb4aa39817bb0cea2dd8c607d239a7e4fcfa399cae6f56110a304f71a98897520fecbc14d17e06bf459691d0682234ad96ad847218526ab195efa004a1f010001 \\x9068e5960d5e72aa2bad4d3fbf5d8ebd61e5512ac4d07509331eb4b63113312c04758e8e45780086c60c44d4f9d8706a4eec09e201e04460a2bfcbf4664d7701 1680336748000000 1680941548000000 1744013548000000 1838621548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-370 \\x88eff30927418da4ed149dd530e421a4dcc3856f01202da2c4c5c84ed67aa34ff4087f946af0f2a4c510c9239d08c8bd595ddedb6e887285e17dcc123c82e6a3 1 0 \\x000000010000000000800003d70b6b958149fe2c8bdf0496399a456905bcec4a184535e17834369f70ae6d0b5675134bb198b81be524a4255836acdc527dba8028c2759025f8ec713a29be63f980fc893849aa70ea64fb0e5724b9cbe872e19c3843da9d5b708a062b0712b4afa48dcb58b6da6da255bf3fe326c3824d13a243b86b1a81dd6d0825af41c02d010001 \\x606d8854e31e1a99a1f4ec205d4674113b92fa10274422434b7be4659a3763745006832a75c33483bab1d5f7b5a992c31fc2126ee2d1c36ec1b79f193e092900 1666433248000000 1667038048000000 1730110048000000 1824718048000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-371 \\x895fde1fdafd83d37c9d9018a5542be8928b4a0376b0f9c35071505d63ed785e4b0a1f3218a58a9cc2cbbb2b7fe70fab8b3766ed40d1a92c068cc2d9f181ecd6 1 0 \\x000000010000000000800003aabf4052906f7b81dc2ecfbf4ca4927230f9e3ed434205795fab508d30ebde9da34519d2bb640b375d2d6f671b924a03fb529257267a0fbef74b9c3abb76c8cd0a09527acddeefb77bac84a421642e4111368fa6d315fd787111089951323a4f94a42111c87469224222b709fd757e99cdd628f31114ed45e8be6b9d06e1441d010001 \\xe717557c5381cb86883a04726e70b401192e9db66d6bef51f369860899a66a0bce97e0ae6e2a440519316f0e787bdfba1918e987792455ab9efc70b969b2bc0a 1688799748000000 1689404548000000 1752476548000000 1847084548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-372 \\x89eb1ce592f59f35d013a1e50d41504e411606971860c7736a578162fb4e216eac2e6d5c7c44f9bc6c45d337ae529042644cdc4bde3e6882d81f317ddc3f0331 1 0 \\x000000010000000000800003f3e78e79f6046e688bae5e3ff353e2be818a5a44c5574a99f1fd324e40c60f5a2828880f6ed4567920107fd85164c54d6d180616adf9abeddceb5622f7cc95fbe5313cdc90cbb3b7fb35b0b30c1073ade1f0f49e56f93b202fb2574f22c92b1a029c02e648b107124cd9aeb64305480faf765c7544783db000c55dafdb62d4ef010001 \\x15a3835365aa66f7c69cb829f004e040262a100c3936d353bc74e786c0431d98e53ba6c3e9176b7264f20daac3b8ce05acbcc88611666d2283e5d8f9e79ca400 1682754748000000 1683359548000000 1746431548000000 1841039548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-373 \\x8c7bba529c05e8b820006f53fd2135c9665556cf6b371ea68d1706dd88d55cf76cdb06b60f10973aaf4cc07a893bd75f3f6e39f5126d8b504a92a3f0e9ca0ddc 1 0 \\x000000010000000000800003a0e490a4d656d329b1acf517b9a5994201ef34a67ae5d0dba221a1986bfb2c30a91a0403694807a63b7718cb81ca85aecbdaaed09e0cd290e44e929414d23fff46000f6bd0b1f6bdce7b9df539182a103c2390fbf41683464c254c49c515450a0ff86496030b03f70bbfbe5a11c58c4009917610285ad0e25f6ed459b154b40f010001 \\x4611225dcb81807f403db696e0b3704f7b0154bcb81a042e6dac553db801036314478eb53222ef8234a8c5cb5106d42368492e075ac52c06be632b5109f2210d 1667037748000000 1667642548000000 1730714548000000 1825322548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-374 \\x8d8bd94ecf03b37a0d98320dddbf9ddce60def7db581c3ce00217fc339f14f373eba34416cd03f7f5b8b464a7a0efd742293b755998f5429d2a6662745b28f15 1 0 \\x0000000100000000008000039caafaae4cf887b4c84335850a3db2f71ee5fe3d614012d3c44952901044da1801013d048bd9ea89d0834841f0373fa19a371ce1a241b2f192e7fe35d2f1f6095b1f780939f6a98ce65532614334f311287a7b3e6598bdc85b9876512f9c5de7b7541be634766ccbfec105c6db08f19d0e9a4fb70f66d3ccf45a2f57d45a4f63010001 \\x1fecb36547a46765b44cdff431381523d5af971895c47799ac97a3cb3024e3b72bf889927480f04b4beba98cc16ce3481264a05325f928b19f996fa9d7a3a600 1691822248000000 1692427048000000 1755499048000000 1850107048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-375 \\x8e3bbec74de191ffbfc37ba38648cef408081e618d9d5572420b6323ecacb22afa1cc41d7f01994e60f3fe2c5c29351f2c57794346c3fbc13e1b9cd60f1deed5 1 0 \\x000000010000000000800003e1d6bc0c73a96ad9476432d9eef9f204ec1cabd3d74af9b2e3a7416c91387ec707e124ce5c9555494e1ac921acf5d217779b2afa82ea044245ef9814821c5b475e316a9626edf29a3e48c46e4e26b930f093a021c6884d3f48d68190f8313ef0e0faf2308db8097a631f4a1602e97c33171f3e6180b50fd2a1bae2c2e1c14c79010001 \\x1266fcaf7e1e69fa9b14931c06b475db1af5f1cbd790098a221b9b882476401a16242c8ed484e768375790cb2e8a25af186e807db2c2aebb16a553de17a1f50e 1680336748000000 1680941548000000 1744013548000000 1838621548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-376 \\x8ff3253697f11c0efa7fb4791d07e7b79ac44c1fc6db53a2319d94b8549d1445ab5f90e71e8edbbc6ff5d319e326a40976a0aee63c797313e941d847d6d026b1 1 0 \\x000000010000000000800003b588ceb7f01bad9401c4f3a4eb24b773127531a7e536a994e9672289e70048bb87fe6f95dd42d5d630f3e364e4def35873133e3803e5aa06e92a4cb84ad5e9f52057e519dfd8000685273cfa49a5cefe5118dafdd63548d33ea4e2da4169ff20044c144465729ca414c398f93da2a54ee6a004a69d6eec999cffd8c558e85259010001 \\x63edd9f0a7895115a225f4168ced70724eccf6014d425dc30e05cb0de1858ce74f4dc1b3f706058c7dd9eae527b7ad3a37883601a5253751cbf7e41b0e49de08 1679127748000000 1679732548000000 1742804548000000 1837412548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-377 \\x901b49596079c0988e90c22a5230883c315de4bb97883640da8eaaa331ca1fe60cf3f136beaad5716c3c5c66ebf3121b34a03cc31f0191bbb2ed83e28cfe8b8e 1 0 \\x000000010000000000800003d229e5d48d6c4719a9d5d566cde87af245261744c639aa112f0dfaa48aefa3bd393023515459da724405a6f7e148e49e3cf27011dceea71c2017746ae6f5662d2b99c81b49f0adeb173a079166011a8b35794f7866e165735d45735cff977349961c80f2f23f9c5dd0425b011c64ef44478e25657d768b91a60f581e80056e27010001 \\x896e9aa4a2a924702f8dcd9f58dfc538d16811d186a7c1171edcb1acc0a80de878416d90f2ac9fbb169d4d7355f7f5b74f886696ef913009b66d6f696373df06 1667642248000000 1668247048000000 1731319048000000 1825927048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-378 \\x934fb490d0bc6e7e880d661b898b68e11c9fe29113dc260161576c0e5e9d3e5024343559f77a126df80e658e2afa6ec2a2e4e988137d6147b8b937f6434052bd 1 0 \\x000000010000000000800003a8e05ce679fe38d0be8327c8fd93767f856f6d57cd0076a4be4fa45a8106c26008b62000789a15e5625df1253be8b0e97cbb3aa6eac6ba2208d3d4a8121374ef4105bf37180e954962f4255833605f013f4b5cf07a6a8b1f637f8e75de05197bf99cfa751eb195bc17ea25b9c4258e9bb2b96c205dc999b0a4beceb432c74d51010001 \\xb24ccd079077a531f75f5c64cc8d314dbab7377203ec403cabdc44e9966df8377efcd3daa639983978f5aa45feddd1d85af4ca3c9dd42c61890a5dba4ac80a0d 1685777248000000 1686382048000000 1749454048000000 1844062048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-379 \\x94bbbfb93a3ce5bb925671025131103e4bf97bfd41225b01bfbdae5df0f47d1e51dd1c3f8cd81660c240746e8122bc254f9bbdbc94c14da0f709b149bf71f2a8 1 0 \\x000000010000000000800003d7448c7e6197dd1eaeb032141febfd8e04a58b73920cce22ac3e6a9d7a6e62ba2fb8bb53c179fac4be10840c2472531845f785fad74b2e705f442cfb8f46ececb5ac8c64415ae6543effa78800c7240f8546e2cd12263465dad2bd52ff0e965376b7aa592749b2bea3b6656d16143df5aab4e888fb14a8a95b3ccf15bd103ad7010001 \\x687a01e9b87cf4e85194f7514afa79636b6f1a3cc408fafaded900579d662331c0c56d439b1d6f81e80f8632097ef594d32835cfe788a3c7769de4c1d077320b 1677314248000000 1677919048000000 1740991048000000 1835599048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-380 \\x949bf8e10cf1f9a6bf47af67639ec42c359f7fcbe4d383bd4e382cabce64a9a2bb7978023a38be217b05ee0328a1f8bac0f1be22a2b8bc665627ce8a59bbd0b0 1 0 \\x000000010000000000800003d8537b64523a84a33e97879aa16c2ddecfba135cb12ab8d874ca449a7efd8b9dab98cffd383cf9bc9542201786bad929af11d40946c25356b37dbb5d3b9164176a4a042c693c9893a7c16d9e7f06ab6c929fd0b0d1eb00c4d83063a223abf87321802aae039010e1df6fcd9f47f6a34465df0adaef19d988b2d6db1658e828b7010001 \\x46165c4882c70149e3cc7f80b25d047eb81d40e134b8129cbaebe1eab53ed504b0a31a5c97bae9e5ccad65f49b996a43cf2db7a012b8ffa24d83c17155ffcb0d 1671269248000000 1671874048000000 1734946048000000 1829554048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-381 \\x974b574db2effededeefd7d0fb51c4235154b2cbef6117b85b941c52dfc1a8d3071e7b4d6c9b87cb4ac58ddef2a0f1fa08aeb96b308486fc85f6fd63b9b7a4cc 1 0 \\x000000010000000000800003ea7a925daf8fd9695486d11473e5b1c1f2ef203d618e78222a465110cb63c077fa771df9850683fc157f3a08c3f63449176c1ceff60b3945b6fa720bc062cb599ae86a4d643895d765dce89c9b2c3af8d7ca8b0634c1272c8703caf1d146ae2b9dba50e822fb6afb41c883f68547f38659c3e9fc9b9d06c5b994e53f322b06db010001 \\xd2d880989950547f42d667d31c909b3b5c97140ed31d6acd538e873d1976afef31f7af010af93a595a60d9488dfb869236dfbe50ce6a133bc322cc402a3c0002 1663410748000000 1664015548000000 1727087548000000 1821695548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-382 \\x98affa9a4f1499bd9c32a7d1b8f79e032c47048baea8026b634620fe5beab5a0b7f0f6ad3fbdb9ffb7d038e5b24ab5da02013579d439e156fb5ba69db4a45a6f 1 0 \\x000000010000000000800003af8450955e55eeae3192ca5c945ae873eb8ea47219aaf2b1e05b6c4b35a614b3116d816b6be10d7159f1dc8284dc97d89f015d4f99961270101084938e00b96834babe189fdc91e3a9b3991f5eee37166c937da5d2b3ee25fd5e54d1b2ebcbd12ca71a9f2a986788dc9220865a676b347fd304f8ebfcb915a401a495e04f21e5010001 \\x2f929cced94ab9c2d58265993954214d1720e9303d776484baa86f450defa92081ab96f6167f02a0864121b0eed286d9f846e0c373d286d9a02ef6dca41e4f0c 1686381748000000 1686986548000000 1750058548000000 1844666548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-383 \\x9ceffac4978e8348deeedcfe726541a3b1fda877f419d648fa047e99637f5cf6e49fc129a0f0dae5904ffcced466eb3abb2fa0bb74e91398b801a7f26c1686d3 1 0 \\x000000010000000000800003c3fa3ebaf73c8474819fb798f811896637981cbf3d9ce12cfed7bf2543466b0799dc69ef756f83c0a141ca95af830a895d2aa2b4e99c07d6a4cf6a47cad8d16d25a623d88a084be87807703d7887f998742086c64a95401f523e9b49b544dbb57a968512098804301f7664d40702e98867dd8df26a85225ba903fcc79382a869010001 \\x5db97a96fd8cebeb02d0aff50e083233792f8cb61f4b911829234dc3a521e724a47c2efefb41615c22d6bfd08bd41753d1135126a41b9f1ac909e56ceeb4ee0f 1661597248000000 1662202048000000 1725274048000000 1819882048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-384 \\x9cfb2d257017030b75c747189739feb4b383eef42505d79f76df28103cb8cbfe01345da38ff61213c648b3b4515d807074c231568034041c8a02cf7f14a36c7e 1 0 \\x000000010000000000800003c0b31e02d03ea23c704ccb7c5c82cd6d42cb4ae6feab2da062be8ffd66e20bb16f3e5bfb520c6fbc885b25ec30180cd179d7f74bbf580022f52aff9cc89c6c3eb8fd31a529da27abbd4d17fd36b29ec95ca1ece4c56c05c954dde6beece18d62200d37bbc3b23970830947c2426361f2d4cf6e18b167f7a9db03b658f9357241010001 \\xf1dac0ed67a4b150fbf8063976abd57ccabc1a11f44d875aed892a1331f51f2c8380f3d97e065336a3748fd01a6cec7cbd5b8dd9baa430a3e4a88e1b2c2c0902 1665828748000000 1666433548000000 1729505548000000 1824113548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-385 \\x9c1bf65e6a8c94fbaca09d7ccff51caa9057a149a633430233f75d2f8f73f6dd3d6afd3f79efefe1c0789b802940382386a0c386f6e4560712544d616d4f08e4 1 0 \\x000000010000000000800003b1affbd391b1ecb5685ab1e6e2aad22c56da5622e0871cb07af4de98408d1ceabd247fec6e38fabeba5a6994f72620d9c24f3c59477cd15144891fd06e28363cbd7d0c9995f21612995504a87f0651b3d95259eccb43772789756e7d4391cb520db98b9bc1138f82d3cc6c992436749a824dff05a555d27fa6eb7f5cf36e2225010001 \\xf23e82508d9cee63882b67d10661ee2a2b55085374eae9337fe98f5232d8a3ec839401c6a0335a2287ec3a83b6fef6693f29b58e3559976ced78d8b74b7a880d 1680336748000000 1680941548000000 1744013548000000 1838621548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-386 \\x9f1786d6a959892bfacbd765b9574ee20c2993ac1a0678e1123b585131aae811732b63300dc83ed94a6c8b9b8c2b1346edd4f4190c4059fd6a67b08592fd9d83 1 0 \\x000000010000000000800003c49bf929f71d497c3ef73ac347ce692d853b951669df4791cecd75b673ee8d13438897252f4d87e46dd38704747c4b888243b778f48ea779db02d7e5498725ff5db1c1a276648f2ed2b69e6c41499286fbe10f6b55410d9d337967ad01467dabb9158dc6864ce5e9e12428ca27b4d8bae19fcead7f465efb06961fad207db2f7010001 \\x93c55127b4020d89c12f43ff13fd32e363011378d5144f92187aeb14b06e8f49a69f72c7d41cdc92c09c240ba9365760d359c3aa3c222bcd1fb32c713f1d7a0c 1668246748000000 1668851548000000 1731923548000000 1826531548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-387 \\xa17f0f841f955b0a855a74fe49ae592d1e49aeb2e9079df796325985edb0557274a1a7867c414dd8d958348cb718ae4a0d8022ac18e28d7987e6027ca65dc91b 1 0 \\x000000010000000000800003dce0cc5bca8faccd226dc4af7c14d71447c1c929912b360afadfa5abb0c534dd162ca178b2b90c5fecdd7409e9b20699822bb8d2f1b5a86a0b5a1d5cfd1d030d56634a4ca2aee5a135a2ebb7837a42ef5737f7b3c4358e9bedce06740ebc2574504819238c829a7adde921b134acb83bb1ea143490b7fa658a56d837947266b1010001 \\xe64165ee75721b2f4fc46abdf5e85d41c7b30acf06eded7f4c29cd380132538c75c4f4248e104f9ea5cce56b6db5bca2ab5e9b7aaeaddc5cf6ae28b379c70a00 1674291748000000 1674896548000000 1737968548000000 1832576548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-388 \\xa5777302c7169493cc1c28c2ed5f2a1076bc7c3e147e191160143fc5634824075a6a2ffd6e2b788325d54c2115cd27ed62ebc5ed35c824614929c6c5c5088657 1 0 \\x000000010000000000800003c9fd47eaa75236d8aa2be0b1ac709609e1d235054487069f681ace19c11ed0495c4a603121921cb1b2c7632374d5ad67e259254f8d482bd858af662e2c6332b18d04b42ed01ea52193497cf0f9cfd760d44d21f1f95ed287a03ed4b883714453d08200aa1ad8ae0a0148d205827239c868e53c403be8c0eeaab6a35cd0a8b781010001 \\xdf00021da8c4a89c12204957b6c13e49aeaa1b3d84b040462ed361264d072d4af0abc388a031fefaad98f4c5efb247a94a7496fb5fa6a2f24761355d914d6f01 1683963748000000 1684568548000000 1747640548000000 1842248548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-389 \\xa63f622291f2e1eaa0b915e667218811982d93325e226eba034e3293f4ee173d0d1a346f463bfdb37a4b72caa81c2c3ba727cba756e41c1ea8750923d216f43d 1 0 \\x000000010000000000800003a334af51c87f87e65d189e5efabacd257669f427d1cd7c81aa6b146ed5df90fb61eb0626b6c1d032d61c3071673f215687f70bc5cdbd131d699a6421e29c8f482a3ab664de89de0b9a02dc9a0efdb192360c6d8547422c6eb9fc7779f92bb296628cc1db54fc378185a6560263ecc6049ae4066461193ebd750174234dce613b010001 \\x6616a85a3134cc2a2092c9d0519e9370e02016e896dfb418f60a377aabfbba1f2d7bb65099e7ee5dd7fe53154c4032f64e099f1211e0a180794193cfd837730d 1663410748000000 1664015548000000 1727087548000000 1821695548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-390 \\xa94f5765008cc94b2d74be0d8fa5e7be541392f697fc8e05818eb9bfdce27520a5362f2a85613df5c6ca9147ea1646b2eaac4485071cccbb31fb4dc9c8dcc23b 1 0 \\x000000010000000000800003ea63705417ada578e48e9d8c08c42b233b333fcaa4c8bd97c7e128be419c966c56e12bc542ca11f7522df8b26dbfb176aa9553b74bcc6ea253ba33198a65eb8fe0ceb4d135926e5f2766d3b9440e26ec1c5ad06218f635754d365fc394077baf2abec86f0b799ef5956509807a9d8a13f5e38a9a3c023a005a299255f14ddc0f010001 \\xb976474505b9c56a683e7f6d53646bc3079f634dce66ec49c2a68ec9f7a4c3103bd9252d5de9c7d9f49b930387fa3bbeae30e77690786495db9a15142660980c 1687590748000000 1688195548000000 1751267548000000 1845875548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-391 \\xad63bd2429a465f1d546b49f19449772c38eb35a1aad0354e2b07afdfdbf53dee5a5e2e316d1cf6b28f09ceffba1db1a37c0a4a1ba073b929c64c566d8e304ae 1 0 \\x000000010000000000800003c077f9aac7422bc4559cb48355c483bfca814cd31b778396a862b81b67ff04bd81207b808d7fa9252abee7a92d9965fe73100db69e603d5fd031e03b08cca4cc29db27320063f427e319bfe992fec40c7429ecf81f0edc71bc933bd6171f9708387a66ae323f3cce31ccd5a9a1f102f1d365657897049798a244cb2a509b6495010001 \\x1b08c13df5570f35306aa52dd4e82e1d5012335912e8f6e1dcb7bdc02ab65702c2ad3182ada14d89c42e8eb44849d0ac8c867822ea9764a8b2e9220d5565230f 1691822248000000 1692427048000000 1755499048000000 1850107048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-392 \\xadb72b702a7cc8f9bbb2070b39c19b6d70dc81ef8288d69a22a82de25b8f50d09a28c5444a58dbb9c97fd734522d0bd778f23c9626afe612e5e310b2486ab59a 1 0 \\x000000010000000000800003cec695781455d48c17e6df55e703aecf57fae9c036d3bb371478631112727c8480bef2fcd515cd969c106d59980314fb02bd81c17be9cf79fd9565031f63cf9a1acc9a683d7f20864d57ca5cc764c2a3f451b143a1a34c706b0dc2d62ffde22a30560c2caadfbfa4942abbee0191dfeb75187f16b897cfce45ded66313fc2407010001 \\xaa82f74ef7cc50c8f1cadf9d814db4b35ec388098c7e042f914c47eb64614cfd3ce19cf78ff92cde9c63b958f913abce49b77e6ce0faeed0ef982219ba207205 1691822248000000 1692427048000000 1755499048000000 1850107048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-393 \\xae6354cfb567688578df572ad245988bea14391707b8c7875f4e8cd59207528b5a7c1fb0c5de3398757f40e39f2d7eb2a8e2304e1557d1029d4f8876ac1ae1bb 1 0 \\x000000010000000000800003aa70979cdc9df8a7fd679ffcc070a6297628e0e8b65fd7cae7aa5308e6c28902e930a7aa8376d27fd40df7eaad765b0be949b6cffb4ea85becdb4edafbe4d6c49c194ceb96bc8052d21f3076932a4b3b08321896736f29265a07c9780b6be7970be5970bfc1edd4361f903952c31b1395c85b3176a3f0821fde7a9fba4533373010001 \\xdf88c69071f9b4e6b607a5b45079be7dff97a061a5746a71affa30067b6efc61e5557672ef0bb6269ffaa3936c44d447b32973c84a52404d78cd53c7e248990f 1690008748000000 1690613548000000 1753685548000000 1848293548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-394 \\xae5b5b5df2da5c3c19f3f27d42b9311de71c241398ac026f3cb4d0f829e1e6103a062327ce82d007a3832bde4c342357d5eafe20da51178ba3b66e42c5ec230b 1 0 \\x0000000100000000008000039f3a9a53bd7c84a0d08a82b1a73c377793afdb4402e6cbd4abb1bb5cdb79415255a7107bc339022aca2bff4866bb7281d2b002a070df3a8ac1d17fa7d95802727300e7d80372adcaa40e73637fdab2ec197aacef27820f6486862db275d9ee287261b394576295831a2792483e711cf750f8467a75bd4c2a1de43c498ed032b5010001 \\x9d597dfdec99d70e846969f2d62719de25f3e5bd4a48aa2e17100bcf0b92b8edf2a0b1b4ad3e64c2fbc1b0b1cb7a9c23472fedfff72c5f4847b86c49ea54b60f 1684568248000000 1685173048000000 1748245048000000 1842853048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-395 \\xb2a3f36441c4a78e9c27848b4fc849d4249047749c83cd0a94b2ae60ce2a254302f787b4425c76b864d11267d1fa31ba1e60feafa99365439bad940c24899d6e 1 0 \\x000000010000000000800003b0d044c190dff159738ecfd9035dc362a60ea155ccb8b42b301507c435f65c3ce07e812ef08fe0332ae7e2d57edc2fe685bbe3d91ded162cb6bff332bc64b8aa82582904c13c0c8eb45bc78e1a266204b6c3c31724e9ce0898c3469c89359aea41ee6b5615635c73ccf7f9b95208eb26584d05c993b60faf0916058e78df4e4b010001 \\x1588f269807dc0de2be55b53b2ab39e36b0a6a8271c27b3c97eb9c3a09d79cf570000dcfa4cc137172401ebae3f3a4a12ba214750200e61be0399c4b20577808 1692426748000000 1693031548000000 1756103548000000 1850711548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-396 \\xb93bbb90973ad2ccfa245cbb634987efd136305cd8ba9476040d71cfc59858c73ce92a6f8c38e5fa841bc27032fee682df5978243372b2a2c89f83e3172526ee 1 0 \\x000000010000000000800003ad1da03f31f98e39dcfc71d09052c284eabd12eef17bbd11d5ed10e9e17fd31492b48828dbed86d8e51bd70f7f7e79801017d26425563c4864b77e2ae3cb9f4fdade41915ee12a6ba6167287d0382cbe845726e0a40ba71557d212fa80adbab72b4de3a39c42c765f3f02d9eff96cb20fe406025037f1fa500cdbb216467126f010001 \\xd12f6f6e529ebc4067acddd16de966af7f49ecf199b6092d64556f0034a2e087658d22e2dadf8ecb209479be3d5a8e77939c9fc68c5daab382fb01b240b9d408 1667642248000000 1668247048000000 1731319048000000 1825927048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-397 \\xb97b0bf041b5365de4149ad4e8823c65f962fc50bef1dfbb7d3648650d8bba75a3e690b7170891a8fb70ed831b397279135c4d28625f548dd396e3db21591da4 1 0 \\x000000010000000000800003d82760080313d9d166991f6d28b0161932d856a1c3e82a7a46ce74e438911257427bfdc06e2fe74ad11c7d558e776b33c49e5ecade06fe9da519e459718ec06898d65cdf9012160c313d977ddd5aae6f9ff067ec961f1c83dd9571ea7fd5180c28e202b5e842eb1c8ce691aec12a08d9432a5bedcc17d753ea7e607d1ca47719010001 \\xf77dd2d7b439f8916681a6e02f77c25795516069d31f13bba0f7995b3a1e8eebd9934d8806a3448480e2870a0978df0bd1ade2ef13815b611a49db2ddaf0f805 1673687248000000 1674292048000000 1737364048000000 1831972048000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-398 \\xbc37e2e82b906979a22fd93f416337494938477578cf5e799927c5085d95c23ca3194d98be44b58d1ef7ef9789ac92aea4b4c8aff0f1612e662ac7083f36579f 1 0 \\x000000010000000000800003ea8bc62dd3db2c85c51b3847db432c019171763daebf2dffa624f7326a60286a74fb9de891e8d447635059017664a7811c6a0e3bad425ddf371b63075df4f88cdf91c19fe05d970294c53533f80df0f97e5bb465e862a4452802ad0bf46532809479105a49c3397c993e204be620f1817de69fda9e5622cec1c7121c21c2b42b010001 \\xcd858ce1c8258a2e828c7b0ed7cace73760ea828a4708832d58247e62c3a2d7afd8f7371f6a25d600b47496aa87cc7b16e4d49b3994806d0cb6b9e9c3ccaab08 1677314248000000 1677919048000000 1740991048000000 1835599048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-399 \\xbeafa550a29194120b4aaa624a9b9f648166823eaf23bb74c5a6c5c7b4a289bb5e8bc34d37fd1a7fbc8675ded9bb94fdb51f170a0fa1c404e11d8981fcc5ed9f 1 0 \\x000000010000000000800003c0862e009bf2d4906a08cca87c1acc07026f383c07c5ff6f1fd3f2ee96f5691b4741f4e4fc4d9899270b1bac34e5487c41c80eb9106d3b1d178a65dd1b50f8b4785fc3c8d8f72b0d123ac18ada33ac047f23a223387783ba23f60a68b7481530f20830829d744ecd8cdcc74f8822f5a47748b05e99d76545176c1d69a7b10ad1010001 \\x96053cdbe25239f191456017aa961611e91307901b55fe01beadd504994afdd823b509ddead905b4e5573928c91849a56b75e2e635a4bec6ba85ebc67431b405 1674291748000000 1674896548000000 1737968548000000 1832576548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-400 \\xc15f092a18454a09e6d4efb8a6e11a5c40cbd1633a4fe33886e0894cc7a0b1235b8fdcb9eb558bc77dc5cb79b7cf5fe56a690dbc9040200088f13d4a0ca857c6 1 0 \\x000000010000000000800003f8f791841adae196cb2760ab2e1ddd0e3c4e4ef83d66875a606928c99f78d5699787d5ee7f20eca9e550d91d664e05966bc5db2cfd729787fcaf4a7b9e48f6bb24312b181f7560d849b66e486d72240976350d372b038e9f3eb56505d1d2a78647aa3968e4fbfa2a76b89a72a3c695f16cebc538c206e4ddf637b639e88ac8e9010001 \\xc3efdc3d008bfe30bd700901744629c2dbdc19b641d9987ec803d2d5245e529a520896f15e21eb6fb250d1293c7a4fd34816019fa43c2058642f9eadec6f9f0a 1661597248000000 1662202048000000 1725274048000000 1819882048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-401 \\xc353b27c61ca0514b97dca7e3849c9f19aed6fa5835996e1b7f0e6c557a3eefd0c0417b4aa7462c7fbb38c5d104584a6dac43c3167f932d4f101671a159bd09b 1 0 \\x000000010000000000800003d47f492ad193f8ef8785d9bbd9bdf5bd06175500a043b0829a33bf002125ac9b5e3f474403d5ded620413c4c0273fab4ecc40dbff03aa4d27330c30af638df696edb4344da4c3103b22d1a2440ba7b5b86d55627f6369ae2161e6b0214795716c9ef0432110cc22c5869d7cd4b0ed150782aae5f915ff7edec4b2e694d24b161010001 \\xbe4a289128b1cd05dec417b3c8226dcf61036d6341655240d824cfb2f02d97ce925f24f61f5b2f4ad9a2e0188c1f4d0ba395855e3a39b8816122f47fd260a902 1667037748000000 1667642548000000 1730714548000000 1825322548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-402 \\xc5a385a860959b8eb12a37ed4a3d2e48fafca637d880779c1aebf02e83fd8fad909561c372f4a15060ae97b4ff531055a02e34ab76342e53d159303a62acb884 1 0 \\x000000010000000000800003c18e841dbd637cbe4204d3655b6c7935203b50d6ecf966261e900ddf8ba3a8949d2fe1fae0f94a1b338e6deb9d6b1abfa057219fa336464ef55cb302654665d03840e3912f9b24e38cdd9725c8d7167fa12d1823d68957586d4acf30839898236b2500fd38f26bac90f972830dfc78f484e653dd1bc100972697645b9280ac5b010001 \\x16fba0aea6d54356f32cbe973516e36b65640d9ae4d14d1207709c7830322fe4da676ada1dedc4b428fb7eba067ea5c8aa39b0cae887148258128bf6662a3f04 1680941248000000 1681546048000000 1744618048000000 1839226048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-403 \\xc69fce8184d46c27cf867be838f2b4f2b7958af678ce1dee115e9125e257d960c8863496da1ef4fb341294d7899a7bf4b169b758c7c013738f965422dbac6484 1 0 \\x000000010000000000800003b997fef0990e7c86605fd1919a4d2672884fbd11f7591edd2087c317318ecc72c2b8aa4c7a6bd693d21f373a223290cc77fdc8a765dd4be4c71f56dce6a7cc41f3a72f9696631163816439b02563e8bf9f15f12d43e3cf347bd5a208fef76553ae826ef4843b01bb5648d79d6d4b57e97976cb2939a9a7b8cf533714baf2ed9f010001 \\x5630993442fa8a05d056f4ff2358703a44458a630c32b80ac42aa1aa0bbbc8171358b216b7c10ba63a342517a769ea25d49205739bf362920d6c938b8355d507 1675500748000000 1676105548000000 1739177548000000 1833785548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-404 \\xc783bf5f1aebeeeb78bd86ac0b5353ca9d30b2b54ecf4384f10cb70d2f9b9902b5a343417817b17b8b1fb0c47b250ac06b32f9913e47d1bd5d401daebc2df822 1 0 \\x000000010000000000800003c834f1b543b1cdb5ccdfda2778995f030cef9a1407bf91dea232814c079e8b2f81482d0cc5c5294f5d5b0f35907ddaceffcb864afe88cedf4a23667cdcc3b5322dd78984921b0dd437fc42474a93d5c0454b8f5a89e5e78e44710498a2d29aaf3d9bb908bec32f3f042b5dbd2628a16f24b29c6aa9e7c512d47a5cb146b4642d010001 \\xf6290bf9558bbd28466e39dda94251702838fb5c4c250ba9706525bc353cd59c12fa3acb668c483003da3f5f2a95116ac05335b1b8e90bffeeb14213fa77960b 1672478248000000 1673083048000000 1736155048000000 1830763048000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-405 \\xc9f72f0437972241d913e64f9025ada0fcf82c32a91d300c95eb7b4506c5cfe61fd4f1a99dae0e227a4048b48b501a26d06e6d2f916e1c0b4e57d3d2982bca5e 1 0 \\x000000010000000000800003e654eb86d9c4b46e994edfc9e155f67c6d7667a8ca60fe4834c8e21766155754d770d2136bd2090a8eb4f16d977b0936f4300d814da2087733c85f225fbe5ef5aab045aee3c6be3e1bdfaa8da908fb207664c6dda12684b4652d274697e8ad4e7f318e5fb1e9e9b5adb238a63c592807c271bfc3544c6a87b08872552ebe0c05010001 \\x3c983a2c284cfe3e8f92a1303e72cc3d5eb2dc93776d4c150f692edcfaaaacfe41c7218f6ef721bcfc80ecce3e4e8d0e97d5cb339b6f06f72a25e80d6cb3f808 1686986248000000 1687591048000000 1750663048000000 1845271048000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-406 \\xc98bcea349601cc078fe064e5c3c86b739640d398365d2833429f8dadf227b3f10b8177fef4893f2dbd6f9fb79acb69a5a0e21860989fc171c3fc68365553ab3 1 0 \\x000000010000000000800003b795d3231d7162b1009b3ed482ecad494b81e35a698e612920504b7f6a7da85315edb66739776b0d19c6ef8e88e8f7a89bbc864cfbcd4e67ac6e1897575c96d56f8c4e52ed05ab8cec0f40a9ad940e62c84a4e66f70d56abe98db0f6cde5bcf479c1b50298a1bd98e248c11a18ad6ecf209b3b83c578ed7f2e1bfc4bd431bb97010001 \\x36de372fab6eb3bd2dfe91645d2e2225db9879aa27e200ab64e9294792c1f350eb6331162e5e9127e07029a4d1dc7013a8d2971bc6b7205965e0d6cec07d0106 1690008748000000 1690613548000000 1753685548000000 1848293548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-407 \\xcb9756a7fd2d9426b3d43a2822d27d991ff2e1a79e4ebefcd5f5925d426a9cd6f144244a4cd47ddfd4f417a287307d85eb239bfbcddf82a5f4ebc397e5158440 1 0 \\x000000010000000000800003c064a33a064939ef8a3e95ba441b3cb19cd2d6e68513aeac1f8ea43e491a27d7f680e0f0db8140888c29d3c4785921b8cb8871a9ca7ab0c3883475c6a34f85bf77393680ed1e5d91b5e48bc595fa749862fc730938be9b3984cc601c3c03d1225276a1cf66be3bec2ed3f1cbf58718db9009660a23e9ef0afb8be580efbfa64b010001 \\xe851f7b73af61022cee5eeb25064e65f2fac8d8c9faa4a9f66772c3d0ccd464509a1ea297d9685b5358bf05a433da445432d61640bbd9f4376fdbf09cea5bc0d 1692426748000000 1693031548000000 1756103548000000 1850711548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-408 \\xcc1b89e12dfeba6c53147078147457a3549f3acf3b085949d055c5331ad272ae3b561ff5bd93c266d5c137d76aa3adf905a3d08067e0289ddfc457e8968d9289 1 0 \\x0000000100000000008000039889033591d0cb5e627b63a7f4b1d08d3971fa02717ab7e683d40e43bf2033a0204213bf615171ac3731b5efc64abebbda5e9a21c47251c2ba9cc105b93feb082992ea2949d27a9d1e583a3cc0006c15d06dabf44f5529bd122490d53c706cfd20c63fe8d7b3ca001fd0dfaddb0992077f7647b0210d6c0b2ffc20f2f28d6e3d010001 \\x152a8c3c1169949305f7b97937e671d9a6bc8a12c9d3c0a094bff89ade3e9508b083b1a3029cb7d146b76ebf3ad622709f5bcb13479c895baf6b15758277ea01 1673687248000000 1674292048000000 1737364048000000 1831972048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-409 \\xcdbb6f3690e5e0cbfce910e0bbb7c75bfb2ef0d8869e07bac245aa11a62e61f55709adf04907ed95d35f6da03572dd6aaeb5536f9264557fae2b662116959988 1 0 \\x000000010000000000800003ec4dfac3d47aa6444bc83ce9cc7d98edb0cbef045fd242159376fd19943b367d8c4e53422752334c99698cfe6305aa7e113de30b78c894b0d8bff3d7ea5893499088a38936ef5e560ebf90b18e111c71b8be7e63e8c23574e307f9ee79111ac9855cc50698188c9678fc7b49ba4e7fefc24b146b113a5468f1169cb08c5434ed010001 \\x57342630ecc8fc9dbefa92c5c9523541c9a74cdb740be53d92411d24838eb9ee99e14bf0fd4966bdcd22a85fa52aef453ffa74123866ebf297ca98e647ebab0d 1686986248000000 1687591048000000 1750663048000000 1845271048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-410 \\xcf1bde5e510b314e5317446ef6d7d4838bd630ae431539a7f0a2ba32e96b44c0523f8f5bb9bc1c1f7e47b72f703bd2b9ee0cade156e636f38088a79d148a20a2 1 0 \\x000000010000000000800003e58471bc930154c5a8bc040cf1fc28f57aa6570833c9ac0615460a21524562b11ed95eaddb805bd5641dd18eb7bd51abe237c16e4d8a2c0b048e7242822e5347abc7d4e88e20430974212ad0f383af1d0f1ee13ee1df1f5371ffe30daf3b9235dbd44ed32c8ae546810ae9c9a77d3d84c8fcfc9e2fe27ad0d29b3a9f63cf2bcd010001 \\xcc74d23300bf23247f6be8dce45e8a571291c9b1a81043f894b9295ed575aaea14024009d3372a54ece1f0a896836cc5661a500adaeec221808999dcbbdc1e03 1690008748000000 1690613548000000 1753685548000000 1848293548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-411 \\xd4ef0baed89bb1cfba6e0312eb78d99077a0263506a05b3dea0e1aeef3a5105fbaf9c024dd9c7a0cf0267bc461a727d951f22bef47af7bcb5e7a4f931fbb83a1 1 0 \\x000000010000000000800003d6e5aaa647fa0fd5075ef2cc7b3cf576fec6c1ce27778864f463273f6e3e659824e47edd11c49696e75ed62b840b3a5796c1214e3637b762acda7e7fe1c934bfc9d0f58a20da2743bd10fac40697e5453dc5ffed34d03c8d66c9e84e86e38e3fe41d0a70fbdd0120f6897570a5dcd04d1f9245e972abf80b847fd65322dd2f55010001 \\x0bd6b2da101f30de97fae586100010bb6a3d8ce3b4e4f99bb3857fbdbe27c31b99455aa1b918ecfb2c463d2cf49c2f85ac052d58d855f70a8703e03afbc54c01 1685777248000000 1686382048000000 1749454048000000 1844062048000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-412 \\xd537aeb38a23ff7a0277be011a2aa638d4f16594caff994680ce0bc9f8e432c20732189e3a9075798e28047f125cf86c3393bf646fd82c0790f89f3d43584005 1 0 \\x000000010000000000800003b688f451045910dec9f5eb474b67f86f22e590ca34255695554c3cd79c146c534acc0157d9a32b38dec909d24bea82f1ab3eebccf2e856a66ff8467af21d3f2e30345351de85814d399cb97ff7b386bc9d0633f7886131d4d237a427e29692aa2397fd7de58ea8eeb042491497120389bbaac05799d625fc0678eaaba23dcb15010001 \\x26be239c78598444283af417b8406090a6962dd618aa7268eaa6e73b993fe5e28424804b6f9bf895a55acd0dc752eee1f521bb01dbc1e0923311835395ee910a 1664619748000000 1665224548000000 1728296548000000 1822904548000000 5 0 0 1000000 0 1000000 0 3000000 0 1000000
-413 \\xd72fd0edefbfcbf8f6fdd874437065cf059a2ec7e009c3e39cf5edbba53e17c396c2420f1a333c4358ac2acdb5add8346414773a9020eef356997f60eb939607 1 0 \\x000000010000000000800003e3e69275e5c8011f6977510e66c32aaa4bb77906d7cf5781b3bae38b34baf19238458759df247e92c41b6ca38ae2773bbcb74bbb02c7a1aaa97dfb95309ee8f2043541b94cf7fc726228284fd14e8c1ef617c75f2751b00472cf03d8386ef9e5e812f64291d297a09cee78dfedb8c057d0ea9fbbf87d8ff46665598a292ec72f010001 \\x6b801212eaf8a5a953b4bc6672b288b57f483da4ef26536f22f2d1ff2eb9ce90bfa93b434dd58e7d5d7c65d7540c6f2f34e07d979402e8d63d176ef10ad1c10b 1683963748000000 1684568548000000 1747640548000000 1842248548000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-414 \\xdb872da1c618428636f163ce9ee7683c2682d4e65691d911f9d00daef7a442e1fd25b90959c8472e9bfce241a7ac64d4ce74f998a120fdd68f828d65ec2f59b4 1 0 \\x000000010000000000800003d7aa4859fbb8df943d1e1599b5f95d191c546627783986090120aafb9f9e40f148fd036bf7b55645f4c6c5c78a5db254275c2dc4f8ddd7a16f331e5a1a2120960aed05628d5eb563f91d3bc166917e39e20a8362d7d90e43e02bcfc15572d0280269c1e129f1196bf11ec36ae87738aab18cd0607d3d7fc35e5ad6a5a82abb79010001 \\xd3bde837db6d7a246ae75e110588f46a70ed93c8f9bc403ed53cf4838fc45f074929a05fcb083007a062b624a2515eb2cf4edcae3f57dfbfaa52f9fd03b59400 1667037748000000 1667642548000000 1730714548000000 1825322548000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-415 \\xdd1bfd0f055dd5dad5733bce5de96544be33874cfdfc9cb1107cc4489612055cd05b6b8f2c77fdbe13a9ee7108a2a0facf2dde9f35c7447c14b641891c99e6a2 1 0 \\x000000010000000000800003de6539a79248aed6fd8b7521c9cbce0d7f31f7cc42102e7f69337c54e25b8e34bcbbb59463d8c4a880420d9f8aa3393c13c003d2bc88847190ec82d7f19e23c2e913635b83e85bbd4329d6c16bd316998a11763408b6f0b203131921f22d4a2d441abbad663858c0e869bd02778d6a1d1ed53befcdb0a700a2a22e4e71fb1cf7010001 \\x86cb5f67467b4488843a088b5bd44e651a69ce2d2210d8cf1b949b085ee37b4f2a33196225a2b44e330e988de3fa90fb33ede45224d9c0ce463274175da73c04 1664015248000000 1664620048000000 1727692048000000 1822300048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-416 \\xdd4b8961e69785a30ede4a74bc68e14292ff123542a68639571c9c4c89f543ae9e48f0692a78a0ed27d7c34d90c6d89a7457423ab007b03fff17c9a82c627ac7 1 0 \\x000000010000000000800003c9ec883b1c06d6c05fd3cc3f897bed5471e8fd4d6ce3a5ccba06838fcecf02547cc30f19dcbd23b5e8a3d9900f72ff23d9a87eba82115a05eb7a9f314d12d318ee1d3c2a67ed66c0821536eb21be2fef391040cf830d69cd4e992a43908bca32a30fc9eb215c30fef5681a1a9d11fd8d09d41c065a9d014e76741c319196d591010001 \\x74f9252765607c1003227b0f93bdec6d8e0e3c04f6f71102e6a41647d4e04b21e4699e9d186b5a5ad725d29fbdde87e17d49e75127fcde2c889eb12056d68302 1686381748000000 1686986548000000 1750058548000000 1844666548000000 2 0 0 3000000 0 3000000 0 4000000 0 2000000
-417 \\xe66bf82749c242d58cb0226cae92e3ce4bb017fee34494b9f0383b92c099b43a6bf0a8a3caacbde3a49c4fce27931d160546072be7ffa60eff0766c55fe7551e 1 0 \\x000000010000000000800003e0aa9338907f0d3f0188ee68da35553ee6794ddb78ede94168c7dd8c0f34bbacbb8e3b7b442daeda9f5151a8618d6dc7236bea39ed04b63acf4f115fa2b5845fc4ed26fc745a620685ec1c5c95d05a27bd4927375f354dc2cebd8d053e464a33638ff0c8e4427cf75cc799fbf7be557882f4ed726f77cca32d9b85833cf34427010001 \\xcb6bc2bbf585bf7cc816e3b30e2171f1fa1612aa9323a03077b1f4f4e9baa37499f3d7f1abd36d787db489936ed4a4a4c000a9ae960c0596529ce644988f2708 1670060248000000 1670665048000000 1733737048000000 1828345048000000 0 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-418 \\xe88395c3974f4d145cb930ecfb4b73458f423ddeffb9243af0b3f026e956ffebb799dc8b8f12d2f69dc7f33699d27ad649a491cbf6b633cdcbec3d6e00270897 1 0 \\x000000010000000000800003bb62a968626e448e38d121981fde6fce2ea6671813ae08e3e1b179d4311f7e1040a499efd221b50385a6969df3dbc96d385ebd7c57b49ef1c0d803462152551a6bad6d6717eba97136ef06b76f588b9fe9136fa31b9bce6d033bc1e1fd908802101515943ed92b9178563f9611499ad0be7f0030f502790e08e51d6cb44d1c25010001 \\x78288b43b6c0f8a0ccaa7f25c9794e9ec4858928e1886f1d4f5a3177218fa1a74cf7c3fa00e16aac3bb348ac1bd0e0887cc5a84431fb67ea1fb977e8b3ae4700 1691217748000000 1691822548000000 1754894548000000 1849502548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-419 \\xe82f63ac685d91fb4810bbb5c9eca81ea78028bf0d3f302965914ec02a263afcf932e0e733402fac5808d3af23947bae76758ec1744740494205b240d55446df 1 0 \\x000000010000000000800003a4e6244e743c2cc57f8476a9ebb6e5a65893c86205dcfd8a97fd8d53074ae42fb62edd2ae661abdee31ceaa34a1c729f1e57b2704a782558b2427eda77eba4cf3d55381299438d1c6656a3c6e641d5c8b0b397cb932b07e4c3d3f69a9bce4a315e673703206ed7362387e9516368c959af3f32dc5437834650d1fc9e61db798d010001 \\xd3d8c44dae63a33a1cf19df6a42531b732d712257c33b37e3788460659f9d6d33ba57f8f69c7217ede6a0af746207a8de2066e4eb73e549759333170ed6cf201 1690613248000000 1691218048000000 1754290048000000 1848898048000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-420 \\xf0cf7b89a811f067e127a17362b882e8889a3aab7ad704fecb11f2369ba6dd1760bde2168cc126c0f0bb7425eec7954bc62f0e6b0e3ec462e253cba25fb56890 1 0 \\x000000010000000000800003ac5d6f75d7a724fd9bc7a5db61d0f9b22cb31f53cfe6aa2ec698e961a9be13c78402bdb3cd550671670589876433aad2b4627df286469d7c8617013eaabeacc4574921a501d19e35921dafa2e3f69d3547d92257c9b9728f990ac1e8b5dee0deb363c335bc87585d5b3e1cbc3fa5b57716e47df732f2ca1c6d4ac3517c7f52c9010001 \\x7a88097eed3a151ba2fe09d4748dc0013acba99bec483a26e099a0bee3b6d5ef4b40dbe856120c771efda9573291d4ecc4f7b15d235f18ceb23bedf3aa9db003 1669455748000000 1670060548000000 1733132548000000 1827740548000000 10 0 0 1000000 0 1000000 0 3000000 0 1000000
-421 \\xf4ebe3c77fb2bfa9801fc1108dcc7d4d65637c943b2838a053535f50df271a0cb7076ccca98def1407d4d6fbdc357313a653322a5e87617d6a7a34e8440b200c 1 0 \\x000000010000000000800003b33e218f22508bc77fb7b1a4a53b6a8a21b8558b9188ed1a028c62ce9e10311ba07f1b9d281de249ca37fd3da0b094b165695c3ebdb6e000ab504167bb29005300e098d938ad33d494d623df50b71e3b9e7c5eebd9aaea3345333117b5993064224bf761830aea57e51d87af6860d7a1ebe693e71f45ad58c9af62f336dc8065010001 \\x0c3ebc33fea2e9f34af33ecb614db9b44f69a43e96adb0730a0965799652f0b6c60e27667446865cb4979f59fe4df8310bd6f31d37bedcc0ae0274aa4363fd04 1673687248000000 1674292048000000 1737364048000000 1831972048000000 4 0 0 3000000 0 3000000 0 4000000 0 2000000
-422 \\xf7ff370477526cd48206fffc1c31923644b1221ead3918641974112230c2edd0889d6b4a8d2cb6c2058d1ff466a7553b52574a26f80a7a7247d57a7375d5ebcd 1 0 \\x000000010000000000800003e1764c76dda28701fd620d94b5d1ae1db8ea883da35fd99fd594cf94f9b61ccaa921de7081b07789abfa8f98fdb7232f064df7bcefd75f98e8ec613523554a697246f3a55e139511c5ab031407c6d72d40806d4f2cc1ff6be8893318e8689d67bc2e1133cda299bb460f9bd45d8ca44d4295dd352d87df9a8e7ef499d5389937010001 \\xb69bd4c5c18a78e7560ef873fafdcb35020cffbd49a18d940f484fccac7909ec898d453ddb7772bfbe0cec3317c86ca09ecd2360e179d6602527f6f01ccb8d0c 1660992748000000 1661597548000000 1724669548000000 1819277548000000 0 10000000 0 1000000 0 1000000 0 3000000 0 1000000
-423 \\xf8a70cc95a205ec8cbd8c3cf7e026f5e314829524ab6ea33a2543404963389dbec071c5e9ff3fdf6942f00d0f45619ab128294c38c4fc0bfabc16dd0be28c198 1 0 \\x000000010000000000800003bb5773e6090a95d0799352a6cfa2eeac51ac005dd67eccb65d8cf14b503881372a1d59c4b9ffec8aec29936aebc8378787155810477f8f0e8e3fda2ccebf4396fd989a075468f6f299f9a0c02c879b6b1ea22c37c3d4289c58f37cbac04f7c9e153f2b7268701eaa6596b6ff4145d5d80ab7375c6462c42fd953337c93575333010001 \\xcf07bff17d9ba272fb9c8f09236e92b4cebbefac45ec95cc8f63b996531474e5e1cd570f988d8f2f4167d30e6a4546f598ca4507cc4895bb9467fb16f3339701 1662201748000000 1662806548000000 1725878548000000 1820486548000000 8 0 0 5000000 0 2000000 0 3000000 0 4000000
-424 \\xfc4f57907e816605b04846004bb4bef7e356aafb0aa2f0dcfc5f58f1b55890b202158fd65be336281b9f0cd42ec377b9898919c1fe68e622195c140a959098d3 1 0 \\x000000010000000000800003c6cd311b26bf4f0ffaf8d96b7f8be59e5ccd76e182b4b3e271dd42c3a70937ad027b5aa308772f77f71a1d516748c35c7d5a621ce5194798d137d5550e64c010252ac56c84b97c8f19f50916b81d46e96f71c883c1cc9580bcff9c67997458796e9215d6201a1a882e8d2a556f24cb496be4ba2dc8ab1fe7042bfb7c313f72a5010001 \\x5f1985775a814b5db139217a6c457a35912bac0660b251daa83d2a714643979d6a8ed4959faa29f5fdeab9abd6ca7933dcc8e6f2071f4c44e2874d45bba9190d 1675500748000000 1676105548000000 1739177548000000 1833785548000000 1 0 0 2000000 0 2000000 0 3000000 0 1000000
-\.
-
-
---
--- Data for Name: deposits_by_ready_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.deposits_by_ready_default (wire_deadline, shard, coin_pub, deposit_serial_id) FROM stdin;
-1660993676000000 888445849 \\x633286aec399616c6bda89d40013c5d27e83e34b10dc958e2c6adade957a00bb 1
-1660993708000000 888445849 \\x018cb8d9be05315e7892bbfbf44b376bd4190f9b36956a96302f5d9943eee6e3 2
-1660993708000000 888445849 \\x028b2f54b389d85b20e243a97645d85b4122896f343bc22f96e506ce8a053a61 3
-\.
-
-
---
--- Data for Name: deposits_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.deposits_default (deposit_serial_id, shard, coin_pub, known_coin_id, amount_with_fee_val, amount_with_fee_frac, wallet_timestamp, exchange_timestamp, refund_deadline, wire_deadline, merchant_pub, h_contract_terms, coin_sig, wire_salt, wire_target_h_payto, done, extension_blocked, extension_details_serial_id) FROM stdin;
-1 888445849 \\x633286aec399616c6bda89d40013c5d27e83e34b10dc958e2c6adade957a00bb 2 1 0 1660992776000000 1660992778000000 1660993676000000 1660993676000000 \\xc845e200542958d662c2532e0e702a4a9f1bd01a0e10dd815e2b0f0412af906e \\x70450b46e592fa22e4f2edcb92617c60e600e1454e9bc52da02397bc862901f139a4ab579932a8810809b880982464c45cb8f4a4c075bb462131c5efdfd965fe \\x2e8eefa372082417787ce1b4eb14d366920505f3e4b861d27716645a850aaa0c81cabb0c0be90dab495a24f6e5a5c8a04f3be5f83ab5eeed6afc99af122bdc0f \\x45e24ca67c18b2ac81022211e47968e7 \\xd31e3f48cb5318906dbbb7948326362f41604c7a728323230ae82aa995f27400 f f \N
-2 888445849 \\x018cb8d9be05315e7892bbfbf44b376bd4190f9b36956a96302f5d9943eee6e3 13 0 1000000 1660992808000000 1661597612000000 1660993708000000 1660993708000000 \\xc845e200542958d662c2532e0e702a4a9f1bd01a0e10dd815e2b0f0412af906e \\x7d0db3dc8c43719af46e3d51fbb65e0ef73d4e4128f0156738aeafc3d59de0bfdb64e63a40804e00592824e4c9c0ed72da900017a28a4f7e30658731044df108 \\x12bca2d6637aee80503434cea8043e1b3e286e3943ee5f653284821fdfe27d6b8ec4fc51822505ca8fa910709fddd20e96ea61a1c3fa14cd26a1f9fc5c29b30a \\x45e24ca67c18b2ac81022211e47968e7 \\xd31e3f48cb5318906dbbb7948326362f41604c7a728323230ae82aa995f27400 f f \N
-3 888445849 \\x028b2f54b389d85b20e243a97645d85b4122896f343bc22f96e506ce8a053a61 14 0 1000000 1660992808000000 1661597612000000 1660993708000000 1660993708000000 \\xc845e200542958d662c2532e0e702a4a9f1bd01a0e10dd815e2b0f0412af906e \\x7d0db3dc8c43719af46e3d51fbb65e0ef73d4e4128f0156738aeafc3d59de0bfdb64e63a40804e00592824e4c9c0ed72da900017a28a4f7e30658731044df108 \\x66c8aa28c4227dda29a8d34f23ba960e3a641acd3d758712f50ec7f12ca84292397621304af41b5cc6243fdd1e89103add89c236d2896c74cd2cd7712c78620b \\x45e24ca67c18b2ac81022211e47968e7 \\xd31e3f48cb5318906dbbb7948326362f41604c7a728323230ae82aa995f27400 f f \N
-\.
-
-
---
--- Data for Name: deposits_for_matching_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.deposits_for_matching_default (refund_deadline, merchant_pub, coin_pub, deposit_serial_id) FROM stdin;
-1660993676000000 \\xc845e200542958d662c2532e0e702a4a9f1bd01a0e10dd815e2b0f0412af906e \\x633286aec399616c6bda89d40013c5d27e83e34b10dc958e2c6adade957a00bb 1
-1660993708000000 \\xc845e200542958d662c2532e0e702a4a9f1bd01a0e10dd815e2b0f0412af906e \\x018cb8d9be05315e7892bbfbf44b376bd4190f9b36956a96302f5d9943eee6e3 2
-1660993708000000 \\xc845e200542958d662c2532e0e702a4a9f1bd01a0e10dd815e2b0f0412af906e \\x028b2f54b389d85b20e243a97645d85b4122896f343bc22f96e506ce8a053a61 3
-\.
-
-
---
--- Data for Name: exchange_sign_keys; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.exchange_sign_keys (esk_serial, exchange_pub, master_sig, valid_from, expire_sign, expire_legal) FROM stdin;
-1 \\xa05981fa95898fb68e4f8af2082cffbaebf1f6a4837d28a5b7b87fccdeb4e81b \\xb65c761900786f2dfc75af4932c019f9e85d1f7ab5d66bf2bc631d39d8a55333b8c6ae41e451cae1992be506ef037381ec5cba426a67aad07898c9095ab7290b 1682764648000000 1690022248000000 1692441448000000
-2 \\x8835f0375cd0db295ef92c234d101c532b5b0c199a3944b1ceca758275d2d43e \\x7f056c949e5b10779aee48b83f05ef6a9f0806c17b81d0194620bb193eac78bf2f8223a95305b373e8aa7595f4ef707adb8d2734a7526ce41ee17b95c47f220b 1668250048000000 1675507648000000 1677926848000000
-3 \\xeade5d22e096dc0a4e0f93adb200b5536a2d0fa01a4305ee7fde9af8d40fc07e \\x9a10ae01a67bf9ad6515cd80d36ad6a36ce3e91ef37beea5153f3d0725c0e627028417bae1950115d2a38f4eb6c1658c17c852830edd2dce07f3b2604a592102 1690021948000000 1697279548000000 1699698748000000
-4 \\x770083b599e309e55121b3ff2b8fd442003ea91fad7c5cd3c4d1a02aa7dd9345 \\x98065827feadce308caa3bb9d59ea82ef5f74ff21965ce275df8c9c48bff74366a025d9cd828a6ed8e253548a101f092a4481c494e46c2962c8530fe9a046c0c 1675507348000000 1682764948000000 1685184148000000
-5 \\xdadc5cfb79a7b94e6d311f6033f32442d2a4791150799ec796049f6f7772a8ea \\xc19d70df3db53fe89fe00a8c74fb2fb06f8871ce97ccd812a80b12a9ea181bcffc27b8e365f2d0f97cb34c543741932805a30e72bb6f964b2cf8c0101ba6ba08 1660992748000000 1668250348000000 1670669548000000
-\.
-
-
---
--- Data for Name: extension_details_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.extension_details_default (extension_details_serial_id, extension_options) FROM stdin;
-\.
-
-
---
--- Data for Name: extensions; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.extensions (extension_id, name, config) FROM stdin;
-\.
-
-
---
--- Data for Name: global_fee; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.global_fee (global_fee_serial, start_date, end_date, history_fee_val, history_fee_frac, kyc_fee_val, kyc_fee_frac, account_fee_val, account_fee_frac, purse_fee_val, purse_fee_frac, purse_timeout, kyc_timeout, history_expiration, purse_account_limit, master_sig) FROM stdin;
-1 1640995200000000 1672531200000000 0 1000000 0 1000000 0 1000000 0 1000000 3600000000 3600000000 31536000000000 5 \\x23e82a26ce552adeb60fbcf572c2a20bb18eff0d2b4b8850507f1b47257011a351daa9659233d807a2fc083c259a0db3ac774bb27e2867cef4d8e3c055c1fc08
-\.
-
-
---
--- Data for Name: history_requests_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.history_requests_default (history_request_serial_id, reserve_pub, request_timestamp, reserve_sig, history_fee_val, history_fee_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: known_coins_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.known_coins_default (known_coin_id, denominations_serial, coin_pub, age_commitment_hash, denom_sig, remaining_val, remaining_frac) FROM stdin;
-1 339 \\x83d1517856b9c095507d199fe07e4cdb4cf5c253789883ae839bfa747528ce9f \\x0000000000000000000000000000000000000000000000000000000000000000 \\x000000010000000034fef35c3bc5d21cf748ac7dd9a957580baf82e370eeecc4a1d7442da330718ba2475251dafc1e4f686008f2ea01cc36fce32e60ae5dc6098e00a8411f3f4e89649a8178b79f4c3d0f1821dfda65a47133f03c6b78ed3397486cb28c9f95fd1409341e346c02353575a601d884f22375ebe1fae870a73e0ccfc5c308e5f92d90 0 0
-2 330 \\x633286aec399616c6bda89d40013c5d27e83e34b10dc958e2c6adade957a00bb \\x0000000000000000000000000000000000000000000000000000000000000000 \\x00000001000000002069ca482cd64c1b21ffcac7d7b444b3f957eef598056817f0c470f966f26dcf25c7b9a89a97a377948e5654e3ca682c7ee5f758e94f14bd0dced9bee9da71a551fe9f4c2c9568183e2ae9e3e116c10c4f76a7df0e787204c7723feff2eb359821b9440607795278b520170f9872809af24fdb9fe00eefcdfec107e64d94d5cc 0 0
-11 400 \\xeb654938c819b0bb14c2d3c802d83ec81f3643500205bfa628f7504fcd881b5b \\x0000000000000000000000000000000000000000000000000000000000000000 \\x0000000100000000be5a6059816f23e414377d6a67b0b62126786d7df52f63327cfe2f4604b8edbc3ec859f367248b5f6cec700f0b9ca7c274cf7cd07b5738f9f19a0874400fb41d22907044fb88c3c9d754486c441e0d4c40cf265ea595cb8de29193d8396bcf552c1586f8534704c4092066961bb9d10bee1d6b5dc37d82801cb3b96275b8630f 0 0
-4 400 \\x568b96011861894e719512095d1f46fa9d881b8137f5b4cd0d1ba4cc1897b614 \\x0000000000000000000000000000000000000000000000000000000000000000 \\x0000000100000000c5face4e414091109c10290b823a553a4bab62587fae4effffd83c3b3b1807f234f3a0b173c3a0c3a02d306df188c8ac596d88ca6ced76f6ef41d870100838a46aef95a9e599da760684870f81ad42596a813ca348dc32c9518eb7668e277dbeeea559aab90264899871c02c49d3e8f05d6410088260734c08539d235fc043e5 0 0
-5 400 \\x7b9259049b7ad18d3577e06a3cb610f83d657d4455432db966f845365ec9b170 \\x0000000000000000000000000000000000000000000000000000000000000000 \\x0000000100000000f15b0de7494f5c1972e8f2c5e8ddc06821880bf7479c44be952fdb4430215d5279b10fca0d6e9f7f245b517be49c608157720d6fdb9ba494703b5b8fce4d352375e33a9498305343704d72f415ab7a802bdf5536258b896a59dfb2eccb7e682ca58280e97d8b7aab2c9a81fadb9f5cd344ff5e7df6298c1a1b16ace4cae73eb8 0 0
-3 109 \\xf65e32d3b140375585761111995f378a91956aa4e22b5f345b771bfec46984ed \\x0000000000000000000000000000000000000000000000000000000000000000 \\x000000010000000024024480bc1008db4a5c72ea05c3461ed6b67e9b2c372ff02ffd8e306787989675657dca542f96893d8aa3e29c9398d366efff9eee14cb46c111a4e051c6512ec3df013002899f1ee8939dbc036d61e250645bddd722366c3cdfd2f5e37292ac42afb8700a257b808456b5a77d59d90fa74588b95730924754e8e8563331a0f9 0 1000000
-6 400 \\x74e410ab1cb0d754d381dc6945b8a39746c3394fddd3835cb652db0065a126fd \\x0000000000000000000000000000000000000000000000000000000000000000 \\x0000000100000000a04ff082485afa4f0d08429287a8f072778ed0556d3f9f7b3ed1359af491398635cd6daebffb13e6ae41bbe38132c79a5ac4cc04d10224413e15f5ab104e11c363fc946606ba32e80accf0e569e4c8c4137b2513af879d1a36c4ae121a1f94b4ba590adde1d00f9ca28181ea2884db4eee10b462c85a0050eb37dc4d9318729b 0 0
-7 400 \\x87a848ec66819a7b08f1add99da9b10806a82338c54e8c531f01e185d67f29e6 \\x0000000000000000000000000000000000000000000000000000000000000000 \\x0000000100000000c5f1b238f1d02586cad3cb5871c9685b493ae530ff4ce005ceb5fcff5d66290a7578c25d53e063ef094fafa0ce91ee3797c04c4ae314b595e07285fe25d37a72428cca9f3792171ba1d96d6838ce53997f605ac48a2b12ef4df26d0e4726f53dabaf5267090bd2018e9e4d31494dde7c0d9b8f26ca2e92b15e803fa39dd8f305 0 0
-13 22 \\x018cb8d9be05315e7892bbfbf44b376bd4190f9b36956a96302f5d9943eee6e3 \\x0000000000000000000000000000000000000000000000000000000000000000 \\x00000001000000002c2809199c7f8317dc26af934c21b5ed2d569ebbf468cdcc01030ae48d6438c6f9b1d4402a238e747bae581751f493f289e90b3f9ac8197e2a11a40422c4f2b4c7118a2db32e281aceb5311ee22122aaec56a425e749d2027efc089e389f2c22eb6cc4ea957853005e40f41c67aad236cc77ad24f2e1abda1a9e3c6078c8f155 0 0
-8 400 \\xc1a720a32217c9ab419510f58f10a807d5e98d876007be228536defa16aff2f2 \\x0000000000000000000000000000000000000000000000000000000000000000 \\x00000001000000007970b83912191d179f2f5e58e8b14487c8dd42ad0c1bc3cc3c45e0c5c9d58c5307aff0786f5846d0c705c1bab926748368e3c8d822ca47b12852f33f8f5451a61d3508f2a4444be3426f395c941542852b55fa64cd94673d12ad70866a427d7a6d2eaa315e891171929b54d2e2ee4cdf07e64b3718f338af85a24028c9f5d902 0 0
-9 400 \\x9aa64614f4f8e0cf09d605454d33bcd5d1b3509e3b463d94731b32d663583de3 \\x0000000000000000000000000000000000000000000000000000000000000000 \\x00000001000000006628fc378524e278ce77ecdeae1e698598c0454827851e70c764ac913d87da9600bf4d5a4357bae79503046b6d10ff45695b89f3dc8958a48c2cd5205ab2db60f61dfbfe20db643bf44ab3727315bb9a92cd8575c99f1707678d31c4b881efc593201c2960b24f0f76310b557b30aac6705b385d897716bbd6555a96a366cc46 0 0
-14 22 \\x028b2f54b389d85b20e243a97645d85b4122896f343bc22f96e506ce8a053a61 \\x0000000000000000000000000000000000000000000000000000000000000000 \\x000000010000000049a34b671f9109577e509b638b5bdf9780e6c7880c875765b6bee6188d90177dd25dea3fbb68278483cd4256eda308edeab174493456fb9b8a1aade3dff1743a38bf8e8af53b468bd97f8df64a4d4389d43dc71af453174ae2f12f3e7bc7d9e1d6a3956f4338743178bb10e381b858a55ae4f0191589145f18e8544bc8830b30 0 0
-10 400 \\x9b2a0b7a26269cd76a7e4f086712d2ca594c433158ff854d8e65421809042526 \\x0000000000000000000000000000000000000000000000000000000000000000 \\x00000001000000005479cdf66070f75f97b939a772eb69629148149276148c88cb9a70309204fc494c55049b7d86d436aca528246ddfd68bcf7d7df2322f8052dda36ff3407ceb6a4e644653fd5fd1f49264cba95119a78c1530859db8a70afbf93476dbd02eab15d693bc98e8228e3b8d13c0a2a15a38f7a519860a38fb6099524c33d63f1141e1 0 0
-\.
-
-
---
--- Data for Name: kyc_alerts; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.kyc_alerts (h_payto, trigger_type) FROM stdin;
-\.
-
-
---
--- Data for Name: legitimization_processes_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.legitimization_processes_default (legitimization_process_serial_id, h_payto, expiration_time, provider_section, provider_user_id, provider_legitimization_id) FROM stdin;
-\.
-
-
---
--- Data for Name: legitimization_requirements_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.legitimization_requirements_default (legitimization_requirement_serial_id, h_payto, required_checks) FROM stdin;
-\.
-
-
---
--- Data for Name: partner_accounts; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.partner_accounts (payto_uri, partner_serial_id, partner_master_sig, last_seen) FROM stdin;
-\.
-
-
---
--- Data for Name: partners; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.partners (partner_serial_id, partner_master_pub, start_date, end_date, next_wad, wad_frequency, wad_fee_val, wad_fee_frac, master_sig, partner_base_url) FROM stdin;
-\.
-
-
---
--- Data for Name: prewire_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.prewire_default (prewire_uuid, wire_method, finished, failed, buf) FROM stdin;
-\.
-
-
---
--- Data for Name: profit_drains; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.profit_drains (profit_drain_serial_id, wtid, account_section, payto_uri, trigger_date, amount_val, amount_frac, master_sig, executed) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_actions; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.purse_actions (purse_pub, action_date, partner_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_deposits_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.purse_deposits_default (purse_deposit_serial_id, partner_serial_id, purse_pub, coin_pub, amount_with_fee_val, amount_with_fee_frac, coin_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_merges_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.purse_merges_default (purse_merge_request_serial_id, partner_serial_id, reserve_pub, purse_pub, merge_sig, merge_timestamp) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_refunds_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.purse_refunds_default (purse_refunds_serial_id, purse_pub) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_requests_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.purse_requests_default (purse_requests_serial_id, purse_pub, merge_pub, purse_creation, purse_expiration, h_contract_terms, age_limit, flags, refunded, finished, in_reserve_quota, amount_with_fee_val, amount_with_fee_frac, purse_fee_val, purse_fee_frac, balance_val, balance_frac, purse_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: recoup_by_reserve_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.recoup_by_reserve_default (reserve_out_serial_id, coin_pub) FROM stdin;
-2 \\x83d1517856b9c095507d199fe07e4cdb4cf5c253789883ae839bfa747528ce9f
-\.
-
-
---
--- Data for Name: recoup_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.recoup_default (recoup_uuid, coin_pub, coin_sig, coin_blind, amount_val, amount_frac, recoup_timestamp, reserve_out_serial_id) FROM stdin;
-1 \\x83d1517856b9c095507d199fe07e4cdb4cf5c253789883ae839bfa747528ce9f \\x8c848ca86a01892d7dd40116908c3be543e6959e625b295fb04423a39fdcb22f4f63639cc2dd98e761d8a39ccde16d28aa2593984dde58f6f291a6b9de65c101 \\x9e8c6415d4b521de4d66ce6e9334518090b480a81c1d8b114b397ce2a3d1d9d4 2 0 1660992774000000 2
-\.
-
-
---
--- Data for Name: recoup_refresh_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.recoup_refresh_default (recoup_refresh_uuid, coin_pub, known_coin_id, coin_sig, coin_blind, amount_val, amount_frac, recoup_timestamp, rrc_serial) FROM stdin;
-1 \\x568b96011861894e719512095d1f46fa9d881b8137f5b4cd0d1ba4cc1897b614 4 \\x5694ccc28cdf890fc43396532096cf0f8b541f3dacdb2dacac86f79ebcef8ba834f83188bc3c89e9c0a65d4023b18466229b08011076e7ace1cca356cdec5806 \\x823c3cc2213e770ca10def8c5239ef95e507b23d505653b53ded08d3f6346d59 0 10000000 1661597598000000 9
-2 \\x7b9259049b7ad18d3577e06a3cb610f83d657d4455432db966f845365ec9b170 5 \\xf18a67f231b456012ce4f52a8b00eb2798acab00be23aff43898f86230d0c0cdbedccda9fd9425b84dca795ca7ebc505633c48175af6e78fe17180192b037302 \\xca2dc578da7da75c87154f67376f053aa2f3000cbd6cf44f4931270b81eab5a6 0 10000000 1661597598000000 2
-3 \\x74e410ab1cb0d754d381dc6945b8a39746c3394fddd3835cb652db0065a126fd 6 \\xe4f223e60884e5564342cb72e6c4049df1eaaa8900604f71bcae8dbd8a2114843e2e2d66af8892acc5d0b9acc591cf5a51b817d959a5f8fab6c13771ba48f102 \\x6dfe60dc3a061a3e0a58a89fbddbbfcf65207d0a3f27acd9c3f3ce9dae3cac6d 0 10000000 1661597598000000 8
-4 \\x87a848ec66819a7b08f1add99da9b10806a82338c54e8c531f01e185d67f29e6 7 \\x542289e4bb010a8328d0e7ab2e71bd122a154b987584d5653314c60be0e7ffaf554d2704b305d70e95796f232b6ef4e0b6fbbc4fd2df19fcf5f03bf37781ac01 \\x53f10f5d4293d2d9dcda348c1afcb27fb4c68e9e94dfce8d1d7c49312020917f 0 10000000 1661597598000000 5
-5 \\xc1a720a32217c9ab419510f58f10a807d5e98d876007be228536defa16aff2f2 8 \\x0555053edde7154a8129d22fd97b077da650799f3f2486486bb8c31fe8e1aac3758826b3ae7763278b63a7030e4f8ea11d52ab15ddff9a19102245c17061cf0a \\xe9bbf13a968fa3244c983a17d29dce2bfe2a883b397df7024d5f97fc0b33585a 0 10000000 1661597598000000 6
-6 \\x9aa64614f4f8e0cf09d605454d33bcd5d1b3509e3b463d94731b32d663583de3 9 \\xe3efb6b7ab0d90fbde47a9a2925980730c9d3d5015022bf57c53a5bfe762f63ec810aadac3c915b0a54620d2595b38f0b0b78ebfb139a0e76f605bd06f0aa20e \\x74a02dc9f659b33b80b647c079c08e53f99751b8cacd5c2db5a80bbd3553d427 0 10000000 1661597598000000 4
-7 \\x9b2a0b7a26269cd76a7e4f086712d2ca594c433158ff854d8e65421809042526 10 \\xab65ae97bbd5771ff15eb9af302ea0af273cf28e153de8035bd9834c9ecb25f78ef778d1c4a6c600c7727e38984683d17567864e775eebe0d38d39e0ea76d00a \\xf95cf9a7df65fb0d2e20378175d5b6ff1cde4ad2448bd7ae80792a446053f9ea 0 10000000 1661597598000000 7
-8 \\xeb654938c819b0bb14c2d3c802d83ec81f3643500205bfa628f7504fcd881b5b 11 \\xe677ee18b158a589f0f5ac2bc7d3c457618fbb39516da68a1fc33bb4beb4992ca79b1fe0044a4afccfc0c4b888dffc2b842ac3317624bf9a85e94ed96771f50e \\xabea7afbc1f9d1ebff5a5ff372e3b7b6017466d2634258f09659e2ce3d6ae2c2 0 10000000 1661597598000000 3
-\.
-
-
---
--- Data for Name: refresh_commitments_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.refresh_commitments_default (melt_serial_id, rc, old_coin_pub, old_coin_sig, amount_with_fee_val, amount_with_fee_frac, noreveal_index) FROM stdin;
-1 \\xf5b652a50b2cac5d9a613976509e0b6468b20a99d80ee9260701a02d64a12b6b26d8c7e4087963e11cab01772bda572a1e9fd40aa4423566ebf2e2368555ea96 \\xf65e32d3b140375585761111995f378a91956aa4e22b5f345b771bfec46984ed \\xabcd8ecfdaca235109254e4fbb062421f3b637f4a4deb7c7d887723450415d3a8a336d7ea0a67c905dd010148fe49ce8e934ce76e14fe26f5f3ab98be2cd9808 5 0 2
-2 \\x2e13e493244753b0a01ce077173be35441dbe3744f39a1bc0c10c8dece5fb6748831dbfd06ab863997e3d2ac82b9e1a569b8545e12c9f7bc0d8d663086a01f70 \\xf65e32d3b140375585761111995f378a91956aa4e22b5f345b771bfec46984ed \\xbf56b155b7b30ad4b74afff600adbd947070285289cb7c91fd1ff62847b72c7b160d61c9f674e9fa9bc4bec027cb05d821f69336b4c2bbab373ebc931285e507 0 79000000 0
-\.
-
-
---
--- Data for Name: refresh_revealed_coins_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.refresh_revealed_coins_default (rrc_serial, melt_serial_id, freshcoin_index, link_sig, denominations_serial, coin_ev, h_coin_ev, ev_sig, ewv) FROM stdin;
-1 1 0 \\x683ec7ab7c7ae19c6949e96224345802454914b9cc5b081aaeee176af205596d36c649304282f0271164701a515959fd9c2a936ffc70a0e966cd00bc39ba1805 41 \\x000000010000010029828889ba84a2a7cf4b2ddd7e32afb9ba7b5d8db87703eabe5b3c0b152cc17fc98b5ec25fe3d92a6f1f751a813ceedb16c6a9ff67771efb1306aeffc6eb67b9323a4a1f5b1b992f9cf43223eee889759d4a7fb96c679646439ad5649b292e46e07e5a75a99b99e15450d96152540ef4c241857057143234533b8836519ceed8 \\xe31fdf73270ada6df19cc0b3c5e30b7f09ae0d384fe256782a857cc13d0be1da26b0b23379c539ebe44d89fbb6ce74bf4a6cc9990799fce6915f39d55b34f833 \\x000000010000000154300b07b75b20763c7435c455c165285c059167e0df685be1b5395c0cb3f1643798fbeb6375d376e5cc002e24ace606a6b6002eb96f754549fb3a72261d0f53b1526c7d717ca3ba737bbc601ca9bf28a1b27ba290b8bcff022f604180ee1ee228e50870f4f742d1c697c26b00e5fc4ecacc689df140846e29c3366dbf7c0674 \\x0000000100010000
-2 1 1 \\xe33056de08e16555093f325c8e2dcc1c21e3e29862b28abeffcdf47b3264bde8a7fdf56b4b126a919f748052f88466545de5758abad436dd75f491308f2aec0e 400 \\x00000001000001001b215388b547777cadf855f61d127b6a4cc3466826f92a78796cac2bf93cf0e201e1c9be165782eb5eb67114556c7843da0f45ce729f602ffabcd623780eed516fa3985a666eaaac50b3d5f2fc8e8f645823221394e1cf2951473625cf0ade70d634e231b1a3b8f5cc696765cc13ed443127f47fe4a7fd8ed5f70812b31c6207 \\x0447e15767dfd1281389b5df04e2799f573101b9406732ef64c4b6e36bce9a95515062f297feea69765c79e40eac2a721dc7940787efa4400977dc00d09ae787 \\x0000000100000001ec5b8edf8a3305b62e18d4baf6eed395aedd1047c9cd480e3ac49f2be38bbdfc3302f5ee483d51df8d5dd128d274ea10331ffeb876e3625e69ef3f22df4dee6d8dce572ac3df0faded4e96cc41751b2a57393000378236a8770e73f2597b173b0f4760422e714960c79f358313d8a506951b7b28e77826eede3b804ee9eaf3f7 \\x0000000100010000
-3 1 2 \\xb230a36ad36adcfa3259d237681a978260cd0cbcf1b0df4cc215d5a949d00b445e040eb966fb6c89d7c8811981a66d012a7e6bba9336873c3c1cb3be5398310d 400 \\x000000010000010025aaba03db2904575d88eb7d937fad3a38c9ea9c84353a030f4f309c86670d413c04ea2c3bd7f75df3ab2bfdff15c985c0c0fea8bfa0ae4fc4258fcbba1e018be3c465ca50dc5ac83f680581e47cd942ddc019e6c87b78efc24bfe86291bed0e1cc3a9846dfef778e26d6a45c1cd23572e99365848f8d8172b6f861731bf4208 \\x9f583999177e2e5795d692a008c1dfb3cc557053ce6e0a912e1a9ccdd9be3d9d7131f24e7a5398c87d030fbc442696486f5b71cb93766660d29223a5997fbf44 \\x000000010000000190d8e667dc53e3768d4bd87eb1a1a2bb8a38109ed9cb1341cf8a262e3130ccd14a368f23bd1daad4db2d067bb67fe7c8a7f7e4de1f0611a2ca85db57ee6942e2d0b7f022ebe65b45103274fb2a34a253194134bdc4178e7f5c0ad0931e7b8c0d5e1b3cd715dc1fb8c4f9ddd2db335e883b0ab3f16499b50d95437470b182d160 \\x0000000100010000
-4 1 3 \\x50eda78de7915d0bae94c9a1ba1c0491b4e765434b0cf9878c4b31141f81e3e018fbb3d11314961639e259bd06d8cf8cd5c1beb91267b69624eb085cb1eb050d 400 \\x000000010000010021f922741c63090d98737f6b4a2d2c78a1b293a448444ad2e356d322df2a481baf300d41b729678c32769ebe71dc235a9db8c93f0d86babbc899ad652ae27830e3025e6875514d09c28997d72b3f7a659a24557bfb2f9f29ecd3415d0feb8be518d6252ef750b1620e90c28ab906e02f1087eac6533c3dc384dc4eef1a240c8f \\x97c09f88f14935d598c616f89adf23376fffea11773abcc758fa0537a443ce71d3352120ed39f5d6d5ba2ebef4112c25ed6fb0973159446782dbc0f47e02c91b \\x0000000100000001b7a9ac573ff7326488f7fbc6f30b254c1723d37413e0de9d4863cfa00df5df0acbe671fd1256b5a054ac5b8a1a7fda23e87390339eea0c7baff0349d6ba0fdf023c77cdeeb1c535240019b75b71dce8301b3b23484e949603572c9b7983eca3b17f8f932a5bf7fc0e38dd6a38b5e7e42890c2b0efbc9a020b0cd1e496da68209 \\x0000000100010000
-5 1 4 \\xedf0a6c5825490b456884bcdc7edf3f1c9fe0b2b0aee312ff55eecd277ab9c940f382ae00e6dfc68071d7a77267d4c96df28d55394516c0b7e45b807f470180c 400 \\x0000000100000100e13eafcd72bdf11dcc06167ac8a9f3b2a8d6773c1ead2eee0f1b36f0f5532d6e196ddc29513f210658faecdff1bccdf7d569c580723fe584eb6afa174d02fe4bfef9b3d29885f49049224fe763d6f167f0f9adb08847fb0eeacee1b243ca10732820b6bbbc87916e4614e6b6df057b18ea030bc42829983a313582ff53665c2b \\x78bb42621f2611e1df5cebecd6439b92cd925600c8905804859cefea67b9014e564625da02edbbde25f5b9fbf1ed7fa1164be326c03c013ff96d0f26e99755f8 \\x0000000100000001df38724a896affc1a3d690b48eaf00c6a67e281ee334b050eeb859f491095ac9eeaea08ba8a0173b69a40abb4f451f4885898a82ff1486a06eec498e49dd7e669f7c1cb9ee0b55b3185d336b4e0f6e00e7e7352d166ee9efca68e211c45f74244948af71fe9980d461f05bca99e4aed90331facd7f3933f64e68f1bf4cf3f676 \\x0000000100010000
-6 1 5 \\x7d206990ed9d60e4015859b06c4f2b4b9f43f7d58c10a26ee13923bc3882487d2c5f6df5ed418b839bc1d3e12502ed11da919869e88525bd453f8dd91ae6270f 400 \\x00000001000001002e98fa7fdb4d80293d7ac2a14563f9b278aa985e822dcf7d003b48fa4455b0a70b78cd8fea7d4f85206c1d05409cce14038d65483f5c2ac5c4ee6e52e7b881f07da10708ff0087012e582a9b680cbbe8f8e8a997fcd20c95d8471fbe31284693cefc15eccd1035b574cf81f1f385eabb67fbe54847bf1c732690fceb51bb3f35 \\x46634b298bf06960e666b36f24840de5799e5123303c0d211e55c4539119ebb8e7b3681a228ae106f7df883c4d7321c347c66a0fedcd1ea99a2e3cabc9a18af1 \\x0000000100000001b92a6a4d61b6b082506dae95fbe5b0ee88f2b69b66611717394ef4b64fb1ea9e32fe52311e6b7e74d8add273d80e83f30e27a77bcd94bd2a7c4ec06f276e89b33600bac56dd32c7b2a817f023596c3ea58a454e8d029dfcd92ccec13b365652f9f3aa6918a97d99765e46b7f5a55a6a886376712fce8ddb8f428bab99aa1d442 \\x0000000100010000
-7 1 6 \\x41d94639697e432cdfdedfafdecd97feb26451a820fe32e9c2d705991c7ff30c6bb2cae84d42860f5b7d0fd790cce41acfec476fca3f917fb3c5a087d22c630f 400 \\x0000000100000100edc97403280506fd835ca140e90878fc4aaa5117e79c74a03cd8ed3eb94a48f1ed3b830cfe2b00fdeb909432c2ac400b143913ccb016551c6a4992b9c5e06cad63522460f1d36174ea49c27d1660f1a2b904561f1a5ecde86729738dcfa86b69d9f2fa1489c9904b1512e8cab455338265b62129253f84dd2ee2accae87cbf7c \\xb2c18ba8264105ef7fd02288e61ff66edfded7a2224f84116c98237688ebea39586ddc0778e4de1eda955c797bfdcf2dc130bbc4daae1f6dc8194878eabe46a3 \\x0000000100000001d28af0df75b19c680833ba6b88cf0fe91da40d9b10bd134e47e9d0c839f01a99097028dc38d6c56373567d6105a0bc407a06d59127ab5e428a98c21f46226ddba258c03dacca22c20764eb876d753a00644c5ad9f6a8250f4bf08da32f5f7f6a42deaa92d8d631756ae955f2a712bc962e66b63e7302d3a48837250855587e0b \\x0000000100010000
-8 1 7 \\x338198e33e189af91148ac1e64a5dd8074dd7cf6ab8241dd1ad3728eeed0f03d4b46e23e6e01f9429e9beccac9c604acfd1710bcf83a027fe1e2bdd20bf3a90f 400 \\x0000000100000100097a309e5d3745b65733851e4e89d002dd601f0dd94ea9c6d4f8ae2c78277eb006d7c40984b08a290b5b5139abbb38952312a8e42e883f40412a280ae290fdbacb78c2f50021334b1ecbf8df7adf1401a64956f067ea9951def7ead72b92b01e8860bf245945a1d820dd4c220ce03ec5ae3ac2d83a8d0b4b2c27b28b55879b2d \\x2dc8dda593df6df7e70ffce3c51c3159c35d969f5084d42a845b68c069b5516046a272fba7b9f3335434ef400b8237ab32e1146c227401ec1a257e97b8812a84 \\x0000000100000001e9ad20c3c88bf0f50bf5157c3b90203666c5625a52a7211219f0408129c50c9499958e5ddbd190f4ced1e48007dfc33a897774bdd170baabdbb2cc49bd9c6dfa1be29d9339cdf09090e3ff1723b017e623103fbfc70ab3c71a4c9aba6953e18d668ae375e91da34d67f179db0349edbf4013641b1413d6cae50b560a8ddc04f6 \\x0000000100010000
-9 1 8 \\x8e9ed8d3acb8e34af0d9d683d403a1dc29f22c2263d9a20cf3c9da75580f37001b12d5572d3ed36ed291849053b7e12c57501c577784e5f3361c6b405410720e 400 \\x0000000100000100ce55cfcb27dedb6389305bff9dc9bf6dbb3a8ec083fa76fddfbaceb29d95f27e38aeab3dd4bbf6d77e7b3095708ee58dea29bda9276e3a5e01501f9fdc9613e3fac77b50ca5ceaa52e6fa14a49f992f9eac29d6a4b61136368dc611090daff34f2ff6b6f1d14bf3443a37cdde20617becef70604467d903b75f9450fafe51d15 \\x04e884512c35be889b6537120ad40d0e61ab0a5dbde15bc83ecd0c614dba9f0d7ad4c11c5867be53e35c15b988fc1e1d722d6577932b9709bb3456716ecf3633 \\x000000010000000183e8a2c0925e3edfb50543cbc35bb5fc6b283d460ec461f8c4b82152398e0d210aaa8fcb4f248f9e22d1d81a37924141e12fd5ac64c713cbdd458579023205f8f79da37ad6c7672dbeb5252a505aa2f942a1dae413dcaef3b1c11cf3204cb82fe9cbe39a81bd48d46d0f7c1ee9774df67d31328af0bd0878b374fc8e7fe07915 \\x0000000100010000
-10 1 9 \\x651c52efa5932585b69f77b5de57cdfafd5e99c7e774490cec4cffb4c83313ba4cde394035f7c76af53f9d595d01ec54c92d5f0de98dd3152c55687c5ae42104 22 \\x00000001000001003bb37758c3ff91db636ed3f74a0040dd2fbbb0b930e5a0d3ecf6ae1f72cd79e3cbdb6ccd3c9cb25d4030b6d6e887870d72fb178b1bb274b5f4915f89e4555d22680ebef646d633a6c1c59d8fb4cd8342bfb738982201a18275c0d118304d8b3e8486f18ec7168bde531157e0bb4852cd8f9210c0bdeb9e90f976eaa2c16c2086 \\xdb80242f37770e7b85d94c0619cc3d3f3e65253f8c7ce150419dcb8228d88761e2c5de61cc92b6a0e016a7d8b0b035365aebe174705f442cc8be05b15a032a88 \\x0000000100000001a66e9edd81c3ea4ed48ca6c5dc42851203a073ac906384990f272c8374ee268c241d2a907767f5ccdacfcc85a6b1494fdc6207d8630dd4a8fdeb2aa842130a4c8c77061964963bb8112383078c39ac7e67d0f1e262096625b09d92557180e114dce7ed2f83733e82eeccfa94d5ad8c2a554600272aa9effc2b7caf14ca9534c1 \\x0000000100010000
-11 1 10 \\xbaab15dda6868075c221e5f15e559e60e3b58ef9ae6ca67f8a0b5d5c10aa31bd77c2a87a5466fa3c6756062badbbf76366326313edca5d5a1487d7668343be0a 22 \\x00000001000001001e3975b570c907e044e2c0223b2674438031d9b46f6ba872b9d2ed40e9e5b050639f92ecba56dcd6966d781ef2d47334ae9a451a1a732914841d52deb614fba2aac3e69ac3d8211aaa02f7e83dfacb79c22fe7c520bc3765360f0251d4c8023d5a9651e8c86a57cef00c675f06bf4b7790f772d40311c29f9aeb764807bc0ebc \\x0708f0f09b19c5481e66bf268f37cdac26a213a1c4d46f25b5ad60de8112ed7da5651ae7a27c8c6bebaf74cd7309f64d22dd2186a2ba267547d2c911e798ee74 \\x00000001000000019412f78c8ac81b591524616184ab82fe4db4f0bc1260ff78d7c6f3c91cd28a8ed4fd8e802c667465f1e1e0a6c9f8f29eafce575ad7371cc6e35caeb50d384aa7ed89fcefa24199432b4bea59b6591b162dc949d389a18b5a00400f5e7b414ee69c1c39d9cb5b2c6cac33a0a64b4759eb0a3a209113075af48a20071df762592c \\x0000000100010000
-12 1 11 \\xa36b9f3f04a9fde35f6e74156255aacc73f1d96739c323f345051d7c32258903846f54f26eddd88cc833b14f746b0508fbcf253663d61b5c9c784933679d9506 22 \\x00000001000001007bad6d233ba6a1761cf08b5f085ca040714a6a8fd7216305255ffd4782e5341029becc4dfb69e3774fcab6076d1531f7fd8405f4d3d832612524901c58d98dfc4d6b14d90ab800939f5c87ccc61793c0744a6ae0d5e86a9552fd81b59180a85febc17251bd19b201971dfb12b9444dcf65900a55cc3fb4407b0790127698996d \\xb8cabfe7435620063ae51fb030c38ef4e49b6fa4453d5681f2629dee0de75eaaa391f2036d00b1278f6a881d8d1a49bc287ef9f9efaf4039ceb6dd27465e2f84 \\x00000001000000013484722efa9d0273df52d09dd3b83298186beaed244785acb86801a6b2c6864b8f713c86c1784c057271e0b8d5afb4054807bb78a0b0bedddeae96fea857182161a6ed5417ade98e35f10274f27630c1d64060698f60ec8fcff8eed4c2075cf2f01d4a92a2d74218f2cacee759c5fa63d79bdfc9ccc4b90b7949bab15245d083 \\x0000000100010000
-13 2 0 \\xed0f299d46ebf70a1ccd012653abab4adb72412f12d0a59a546300efe775b67db8a4b34babebc07e6b78504d6d7326ed5e897297b73e111ab571a7e7cf160b02 22 \\x00000001000001000ac4ed145837bedafe1a2cdb67b45e661c54cec1a90543bbfbec62436fbd6963e5a0c249c64ae07f42d3331c38642599e0b1f190d6360465fd0bdeb525263b76b94ef5727a33006e24b9b63fe13660865b09d298c2bd8ed98c325516424bf87c2045eb30e99fbb9c30318bcf68674a49f0f6aff1d1e2ac62ab288b1d8a15d450 \\x9eb34577a053afbf393b8e206bd9b347bf891c0da8357da837e4b9e94e344b2efe01d4a928518773c58443df7ab67d39766c34bc65f0eeb03b33917dc6d1903b \\x000000010000000162f7fb888b7a2c7eecb79690a0093bc55b519817b7ee934a8709432bfbdf14946e1939e3c2be1652860589b1691e00d7809b2a4aa9b6faa70e8b9f7e7ad2a806a724738acdd90405ca7e6b0dff6c3886fcf6e8b7bffc05e7cd398fd30c4bdfcd422d85038f005356b098e6a5807d42c6f9e25dd255967962069900d54f5a6ab8 \\x0000000100010000
-14 2 1 \\x76539fc620fe718f049b8c9373e3affb0e4d7d5e8828f1f100414118626987a1f34529d18a458aabc015ef64e1ebd5f9b1a47d730568b1c532b7fb478712be00 22 \\x000000010000010080957c899bd98eb358f361af6e45fca522bee291516aec5d38b6abac4f3728c23f19530b6ee526ae0cbcb8353fa60a15bbdbec85ef4708aa9d63de58cc287dca13304e71057e11565a4adcf512d63cbe38cd85a2a16ef8ac4f44799b1e66867fa9e03926900ab04e8b28170f5b4f510c6d039ad6a3ac67885ed1e433fa8effd6 \\xb62aede1148694402aa4e6bca8bb8c39feffcba234f4d6b66519a5d1d892e9631f64a9557035526fb75de0a1181d7573bb20831bd84bed9997d474dead7083de \\x00000001000000018c1270f570c8dd983b8aafc48b1dd5bfff22a06b6092db2a4342d20078efc79680edb04d9a83864d640560ee2ad453ab6faac95148f9d1cc5f316d8e472892d5ca4b3bd8b2bbb3656b20afebf6e17484946f0d9e8f5e420bfc4ac02d43a85ee378cd5854fde6cfb221eec4ab83d0f086dda9d8f0ab29b88a95a0f99dc53c1760 \\x0000000100010000
-15 2 2 \\xb5dd684d643942c376737483311a3684e8a62cb7d3ff6b0795c971c2b75d9fd9f9d4f3bb2a5f04b56b903865983bab796ac77692bb774cd1c833980cd910f003 22 \\x000000010000010073429bfbaa7624a8b8cbfb8a837a22200b5b1a82d8c7d3c1a3ed362120517dc9a0237fe96e8da4320a8b434c9391afa0dcfa13ee4045234069989c4c5f4b46dee1601d29a7f1676360059a894bc18ad3dd1d9f9aa5b7daed7c2016f4f017a9f5796e64fccfd08e221b83a09a2657849895c0fab7302535263a4754b388bc1581 \\x68a25f24d344e2c49dbb26915ecd2c77ea9b7d50b7db43493c96ebc748eed03238be785692f45cd68f8d5c9860a6fcc5de1a57d62dba2a298282459d82944640 \\x0000000100000001a58b1360a35a830290c3239b07339b4c05a27def20b846cd451c17057d0b2c44d40ba48badfffc614e20657c9f31fe5ae979357708480706595e499160a5b4a06d4db53a0d1559b02bea0015bc51bc21644808d696579cab7eb3bcae7f0927c4ad21ce13bf92300086b8d63f1803a942cd5b0effbb4dcb58453066b93746286e \\x0000000100010000
-16 2 3 \\xac2afa303f1c7541d7374764decfe5ff38ec04971e636089513c3b155041ebaad21c0b9354f5cba2a2d4935533e28741d2e44e7544b4d5faff9dc08470092808 22 \\x00000001000001001665d561fd7281c773a43dada8f1e9b76692a8715a266694710538b9dcf36dd679826d4fe18d5649b98c753b22cefadabdb720724a60b4e35f79ab09ed1e2cdda935a49ece8744318b9b6232214702c58f8bf34b7d9cd686bbb7f13657c9c9b8a1192223b85b2193736faffb25922b3a03663e51bff363520f07f40f3a0e7cee \\x862d3a970139d0fbcc5d9251ea09468224e3ccebaa2d684c4f21761eec78025e6516667bfd6762b07d674480d50486f09edf6a368e1bf7e0b4fbf20d98eb37cc \\x0000000100000001101983229ec109ad6c21972897b4b32ed3b691dc47b475c09391e99e6b72cd8dcc74d78cf9d04687c6d1d033e68f6d10dfccf471de9557333f89593d043e4cdf51e61bb1b9215522db3516324bb4444f47f9abb61288fc567466e669dbcde684a8741c503207988ca352837930c71269ae3cf31e504c63b9742763ffb3f2844b \\x0000000100010000
-17 2 4 \\xf509ef6c05b221880cbe53d77ecf8040865acc1047e698acac2e8b0926319190b469efd213618ce953f7ed2d862ee4ca342238fd4cde12ba8ff0680a42bb6e0c 22 \\x0000000100000100465f204bdd566ef8b9549a94831c171ae08586910fe5f9cf0b3d0d05cf558999554a4f606a695afe67f0cbec0718ef3f737871c073d3f852504223040553be17b456beb3be3d58d226b1a340f29049dfd3c4ce47661306ad3ad1423de621c7b28d995698e60a085f201f47f8107b086cc062a664e974afa111bff051c045b7e0 \\xe56a06f94b0eab1bc9d4cc9208278e77438884686a64f5b7bae38bf932e27cc8c159a2514e5d1be6ec302e8c5f240f96ad99add0ccc039881bcded25055fa8ab \\x0000000100000001036f959601b9fb00f6fa2c5898d5b8a372870ce7668ace4ba7e727ba7812b23c85bd44c0fa9ed50901b54c9677f5208f2c22f9367b09fa86c7549ba71af453078f16b18ace9e461bb667c84fec9a2f21d41319a811bb68d24205b8e5cba3e830806b80afb975013e0b1d48a92e4fc1a5715beeb666922fe7d91ae9e8f046460c \\x0000000100010000
-18 2 5 \\x3a266db33948a97c1b3cd6819c0d556467c7ab8fd1adddc91958616c950bb1c00bf91c152df46fed2fa4bd1bd5bd347ca69ff58717961fcf1c25e7d68d8b090e 22 \\x0000000100000100a71ec04c59443fcaaa575dad25f6acb7fde1f229bdcc24c09a36fcd4ea01a91d8798d5b6208be3cc314e088016a874b60d81a45724a4437d35144af97c4ff4f89b3c3e153eb382a25d9bc4b8233a9c0aeee0c1a04be7e428922ac017e1bc5444222a402155a8005dfc921cb49e79a083f54194ecb1d6b2843cb3bbd36215ee3a \\xe25b701eac1a3f4b8936ec5a7d17ec4255cedc6c941bc5135d29a97a55c010410fdcd651a78bba352b2019a3817d57064bf64b0d18c64b0231af2a129a5006d0 \\x00000001000000014e4dc323b7d588dd042c36181e538a4070512ab4114670dcf6612be61792455bf38daa755a95c92b025804670ffa9e00a54e65cfd29c3516fbd91093183a6a8abbab2c13f042e424a50450d407654735875a5e728a72b7f60472ac2baf0103e33911042a0e23fec07d6270b3b3a824dbaef0e0d6082d92f1184bb97e60406b0c \\x0000000100010000
-19 2 6 \\xef5cb1eb152e77b8fcfcd0ae37715cf85c97ca81896bd54f4d39716af986446191b99c6ad0712a74b2adf174b3beda6603b881971cf9269cd1251d52ab224501 22 \\x00000001000001006521216a3b266a389326bd6a3e40e2006742e6bb83a81543f56e5e8e53571c2d1569740f5dd73f40ab86e70067f6f817b4610c9d3fa2951edaf72bff283c299f8aa707d25e87291bb601f430af94b8d801009a406a07426268f4bbd21d25735b6f845713ebca5427948fe5646c0dad30a407f1df191e3407a054bc214f309f20 \\xad873696a4ecc0ad9941dfa757353128937baeb928b05c71527c90e5ebc2b3ce28cf86ac4ae516bfc18a91cd1c3caa9afe8e43d7a4cb354751b21cf08495bb27 \\x000000010000000199d2696b719bd8573d4f046e66bbf396f44c0b4ef89e917d3c855e2c78a7e9b1382f41e5c8593d4d15c3d949b6159d68d7b8432bd6224df1951411293dc0a3657bfb8ca96183b8ba0e7e43232a87374d65813867b0e5c28e632fcadaa14e1e5b1bb97a8913b85ccf659637e8e11a34f743ac7793322cf61126b481ef5c11f067 \\x0000000100010000
-20 2 7 \\x079857cd6242bb58bde12ab30d5fba54e75404a016da669f6cc64f5d98fb866ac0f74b1f6b5fd30be259ec282fae88622c078b6d482af1549f463b16bfafb90b 22 \\x0000000100000100683518d1b52bbe05bcfd91acd0993b9c18f3a84b432307618aae2280388f6042708e7f251f488064218a392d9dc932096fe48ea39107da2206516081a91ee89efa7fd5917c386d7627ef0e2d52d17edbf9ee3a93fe880c80a703cd822d6becadef7ce4beb9104e011d5c4426edd94b9adc59770c2a365bcdd6c7114f04ee7cd1 \\x5f47f7c5990254111dd28abe9b8cb01af485f453e7ea6a178298c5f5f3628cb561238e1c6ebe01b67eae5ab70ee6ed95d0db0f55166d95bb19bbad39c8e29ebb \\x00000001000000011c47093f61781db6b3eb9b4ccbfd5678aeb541516604b7841dfa81089f65987f26b957e339802e50369998736757555078da4cc6f387dfafa7ce12e8072342516e92bb32e5ff0730e3f69b3a2f264a174be1ccd716b3c2fc42d9c285d2203fc151545186fa64d587e5c3c43d0fa68fa133dddda111dfd5b85e1af092c6859170 \\x0000000100010000
-21 2 8 \\xe10b86df86250aaf9c4126b627a993151c54757b129210e86ac35707ee360658b6de2b82a6caa6a3f55a29b00d471aac1164ad6b0e3448a47ba5f0972088ff08 22 \\x000000010000010046f42fa77489b018d3c18d9600ff83e19c9f4f4255a6cdd00ca6d23455436f9742b8d9531b23a6c43857c2c40f84dba9cc9b6d44fcbc4b1651b85dbaa61c2d4d765ee1dc587606e44f61c4836cebdb5fb494318e256b328d627084fc86e9105b69847f2e98e763b57d6144089134e8b8da8124865f0ff41278e3a0144f69692f \\x64504ce2821669a3a7f81c221f0c1443ddd30e53c959396ae6ec48c219e58c045743703635dc79f0af5103f5be2739108ae873804ef4c327ced80f1a61a27af8 \\x0000000100000001774d3b5201106bf866235b7ff917fa4186be1756e2993391c3a8ceb0e1f9843bc06a16709b62c3796d9e6ac6e126af8b4ccc458a9fd1a665a04ba07860c6f6e6d57da05e39df33bd715c287f54e091f56a0223c16fb00602435b0141cc71b1f3a3f0e3b067d6524901e2cc40bea0bd3758773f04b41e9d284d0eeb6a3de5e92f \\x0000000100010000
-22 2 9 \\x529b5fb8cc74f2de897333ddf6a76eb6c29d865cf8057a8322c9ce2a17af757571f8905c0b73211b5717553a43875035cc02022bc045feec3fe7ca29f1fd8b02 22 \\x000000010000010033fa6dbc742dfac33ea95c9bf6fac006cb31cc670e063b7cc24ae359cca7d9e9956dbe8dc2a9a4178db0c75345bc8bc593103bf1b54f81c2d5170ed5429e3cc033d62eca079271033389b8f14baa7b88da9cce2bfa0e25e755ec3fc3151e20952333fd75872dc4b0296fe91e936f5d68aa468efe5dd398f29eb85ab21be4698e \\x56b889c0be047b422a22f063ce49609221e65fe14f3951862fd2446b72c23f5ff84edd1c80e8b5b8679fe29a229414dabd62250a6f12a061e51828c0b630e3e0 \\x00000001000000013065c5944b8a2661c678f390d453c119af1baaa2e30d6dbcc841417bc4eb22c4afe9c0f36bf7983eb4d42dd4cadf4763761fe35af57e96a42478fefb7603383ec4cab70bdf6cf99b3f88e0a7818323106b6108b3fee194e8b291846a0ecfcba12dddcad1d77b6e4857d89c120c12aacae71681bb896f275d785024b648c3bb92 \\x0000000100010000
-23 2 10 \\x0e951778059f3f2e024a5f0c411596f69b5fd85fd5430f1139f2a98216627b1691dbff3adaccec22e2e3f670134f5e7c9c7f73fe4d1a662111e3b1f6d784520a 22 \\x00000001000001009e55a92051d83f6e34ab5ce1f75255b4d5533e8deb4769cb8e3fbf4ad2f3ef6c4c0acd93ae53aa8b58b15f83dc3b91eb4f5251e7b5e83d1cb4c508480e4e40d64a834f0261e97fd37402dc6cdac735ac7bce889e9a267481c592ba1d265eeae51feebacc57b3f2eb84c6f88942b72e35e440d1ebc2019038fed357715e82fdf2 \\x7ee0d09d7ee1e9ac2696a2e5be9d0da56fc4cfc9874765367df614636581857a128fc7e261ea7b12db24dd9b9520f674623a34bcb1f8dc0ec913492e058516a9 \\x0000000100000001a190277193b1a2eb3d281929e93225f27ee8207993033e28c234a785b261bb0b49aef9c7e1cfc0bda327f1db9171a725d56688d9ff23cffa9d8abb2fe8bd7dae6df1d5c53d624ff056e869d644ebcf2bca3e45ea4940c9fe79ea5d90ee117c665c20ea5a3d65aa1d812017a6f8fc33ed621cd6d7831e3f1e7886a06f2d641f3c \\x0000000100010000
-24 2 11 \\x50a6a0b263bc75204c6c61600749c6bff28c9673075fc41173d0529162a6c2eeb7f4f44621b80ea97f159082eff93fd1cea29b5fecf94b953f1a42eb359d3902 22 \\x000000010000010092fa24c47ded18094a34b9aac7dcc5e48739c3debf47068933bd1f5dbb3c5b03d3b16f4c78a1fed10ccf82eb15c3fec9eb5653d407f965ee2da6451a322abf446124961d573fdf171764326155c326d869372bb870ddedb51bd29de2a1ecf691a70ea2bbc27fe8b9a669b4ee9d1b8c5e9c9ba0b6269e19d7b18b8b8881fa3d31 \\x4a36f103a8cc3a1ea005f3fa8dd5527bcdc6867f6ce5e789d33474eb5c37cb727aed25eb23aab9e1a0f8706a2adf4d510a6c55a724b51fdd95ee1e3a5e284520 \\x0000000100000001309e8b22770243c9e995300cd4236fb83865def6571bf576eaa000b19c94fb85aa4ae17985f7553306bc92e7ff9c49894021ad6dcef56375ba4afbbe57ecb956526a01f63b9b84482aa5442055386a6a6f0b79bf35015989ceb7757f69da62f7150c09e498288b71295c871c6ac520c4e80bf049599ce520769ff8275c5e8b7c \\x0000000100010000
-25 2 12 \\x51db9ce152f3491582f2dcc0e3ef214b63edbe0d2a77ffcd840d674ff68ad36299eaf91ccd0203802d03eaf8f6a4df18427b25f26f6ae2d09a7d3fe2b90c8a09 22 \\x000000010000010090798ef1fe477eee6b4df32a2bccdbf7e70d5bc235e9e9f814dcd4426c679e56a13eccfaeda973fe492686262640c8458d8fd88892627b736ca8d19631dfb1995c36f1a9d1841d5492ecc8bda17441ffbf22565b6779ca92e067975f3142d2b559d9e4eb0f7aa95e6f7ccf94f2fe40cc7f0cdb322d4d9acf8e1e73ce5b122b33 \\x4e7b4ee26ecf7aaae90cf5745978016350ac60d056e649277a5d0494f96595156bfed9d874b33e81fb06bafcc017312818d175967012e72b9c68ac77b95fd080 \\x00000001000000015f6a1fc11884914f9e17230e5cf522a429a3c474130d9e335c89833e4b0d48a2846cf13e941bb5f68c517b6c42403a89a938f6d71360a977843c881c9fbc0eb9b3cb69715d9532e45cd3f710f824382a9b594d895f7c234c35bb8f250c2c9667ea13d38434ab7c1b03d337762a59a609909e379cdae2c77a4096f66c9550bfe2 \\x0000000100010000
-26 2 13 \\x4832f8b48c29c684a96c5eed541a7acfbd5b0273c5acd58d4117a5e36f5f71bac4edd78c2ea66ac7b69cf85e937ea27f7048d62bc6ce7d68dbb33458a77a6c08 22 \\x00000001000001006df2a82978878bde26d7241ede13b3970df7bfa8443227e0ea74f1a8ec0490d4b3a9713d139a115a2ad1e26a87bbb1778e24cdcda35592a3e98e36030eee04a2d3cbc3029285ee417d40a32efee56b4f12271732ad279c3ce1c4fbe08ab83ac438fc12bfab92a68dc77a9542d77bcb7e2f961de70a44c6e4368de89e7952a3d1 \\x22828cae07379b9e455a00663ef2cf405f89fbb52e2459e46b3505b0b69fbc6d2c062f17301d712e3e2257eff9608748d4991952049ee04ff699d7a36af02aab \\x00000001000000010be738a1b27f447026bfd03fda33dc4d3aae02d3812999e4ef2348b22ecb1ae0e0624229c92f856adec6a8b64449b61169527b9069e551883becdec2332d6df452b1a00238b06cd27086230a5dfb0640c9ec5b8ea7165e97ec59db035049b180e964b89611654b7018e0ca35342401944e89c8e006c6d1c25c677bcf8ae09e3c \\x0000000100010000
-27 2 14 \\xdcd7fd3f8ab1eb1d73ab821cec86f584f85110fb3b5ca5f8effe799e118502028b44fd1eb5bf8d515107760f18fa41b3287839e58c5c4b29d40ccd3a7c44230e 22 \\x00000001000001009256faa470009d9c4969b5df209a3829600020ccd27c978943189828fd5d24a1523b2433570263e3542e24219e0df662c83fed8f2b384845b555e23b6692249c18e745ba577518996a2cadd64e248245f88dd90d185ae6e457dac1ef393e398a36e4487623c2f7d238ca1bbf337ac05a8b16de054ce39e026f1fddfe814aedec \\x0b0b1b0209b50967243d865e51e167ec22d68c1d70c8fad72e65d660c7c80a7e96fe8a83ed3b0aa061b6a63a203a32640bc1953e036cbc8a6d06ed7cc46447a1 \\x00000001000000011fb30e250552d2e6594430d085ba12c410b8a323946069395b502e6498db9a121c1b3950ddaf9717cd45be821b33a718d358147e4c0ec63e00765c50c75638adde329079be524a813296bd79d6f335fcd89d76f95b3db9ba2c49afe789bfd365c17d93e830a5788774eb77b6a3933cc593ce9ed2a9a63e649cf8751a4f12e64f \\x0000000100010000
-28 2 15 \\x4118934f0d104b49e23e8229e4ffd4a26b3abee4359cc57817b01d9770ebb167d3b908f6c881b7bd6f29da2574a8801060de285a1de6c40c659239143e3e9b07 22 \\x000000010000010021b499a154786ee68d04ac7d94190b7e1654c966b0c372ded0fe3fc385c6de0e435725d7ba97301881e81fcce7f2375a86b2a2256f547133be6bca63a4a88e50e547c592babb762ef20979e8e35e80be59f499e2b476dd098934c421a931bfc9e1fc8ea0a99c749a79cc653c2531140e2b5c1c11dabad045684bb17e3adaeb49 \\x8614251cadcc076ac4d8bdec52fc5bce52df9264f864e910ee65a2ef6f9dc86fe65e173d15425321e6a77b9faf855b0b232772035a00ab0345257ab6ecffb316 \\x00000001000000015444f8f7b8de3af43a6e388fea08cfa7d2642f58a09e800d0292ee40a05992e676287b7c3262a92bf0f8ec9d89195fb8a13c1247920400d68436fada7bd13147beb28a281f47a73017a4c6116a65dbf77c9947800d7dd63c53018fcba07b78279678690aa62bd917a66653a01814665cca541a5c659c39eeb7d388ae8d63fccd \\x0000000100010000
-29 2 16 \\x02f764c6b2235bec0ad691a1ee552b018f1a23efe93fcec4f80c55d15185a13f09352493a295780ff90a4367733c6ecf9e467e99bea3c207ebcf1d520fa6fb00 22 \\x00000001000001008ee33c13a8a10d79cadc04dc194edaf166524fb0674cd5a159f90d5962266d42b33540a571fada54c5615b618493aca6e82e8ea852aac09ece3f3fb01395484b70aeb9320dbc5898ddc415ebaa4e5bdf9b6fe95b9e5d274b89c4f1c068d8c8f910fd8315d31514d0d50d56f7fe9ac2951224703f322313fef3feba30a35ca21e \\x63e4ecd62a4cd23eac236d9cbc8c815ed9ec359ee74fadcddabcc8754001a9910694f9f7bc4e48ef76699695686406ef5c3a8ff71e38b2cab512663df6eb462e \\x00000001000000012d75e980854dcd8ba2feb0bc830f1de9a3f958111d6e946af45ea3b7ee0d95471f120278cf477b2f6da933ec89012455f1790bdbfd1f02c60393d84e234050985ec60c36eaa9f61db5bc603212eb02ac58ca83f020814ebf5a3b7bfd80086333d1fa2979971d1be04659270ecbcdf7e5e33d09d5e59f23b4cfc74affa3fb3c32 \\x0000000100010000
-30 2 17 \\x740258c4f0b0e65ad1ebeaebfc9878a27a3e20fec6eb8ffe0bd55712aa9ea4c9e686bfe0aa257c8143a2f0b32bc7cc99a5d281b0e59088181af8ed7ea40ef70d 22 \\x00000001000001008c99f4449ba9dafd84e1823dc46be83d9281444f8b8b39dac9e7f7a5ac727b89fa5822af596b2efae25063cc1bba3a0947ecdac117ebf137349efc7a61de1dfdeacc064ec3b51a43aac1130c08fc71f5b1def285ce98528b6f46c3aff0ad1343857b4d290a359d818f41694b08613dc4ab8a95573bc0c29c992f53f35d6d6696 \\x04b6efa41bfde3e669747993e15a54c04de5f34ccfe8a554ea12c2bdf6a70e588603cfbb36c9a17ea9619fe51755e309e82673ed8b8bdbd0a22c3ed365545045 \\x0000000100000001aac386758ca085eda4392fbf771079c952b0b43c19cec81b64ce3ee30d8254f2824b21aa1ffcde76b9ab08ac3ee73d8b95aa51c0a05721e048f7d25affb3a78ff5bfcadb10f74a67b8e1fffd6da00c7a76f49aed6e79a50f5b3267e5c67124a973abd44902db33041a4e6ed96237889160dbbf152cba04421e20b90ac3c9acf9 \\x0000000100010000
-31 2 18 \\x8133adb49688d83c484be4aeb1c7728e2eef35a58b8732940b0f7c78117e1926a48e9944858735d5e045ca739a4796d4ca74e899a8f5589b576b52eb5dbe290d 22 \\x00000001000001006753a04be638573c6ab8450e0e941669f55eea4507cc6db5049e57bff40284216c8b90a037dab4755793187fee11f83381e3e5617a6e57e740c6fba2da96abbf2397b95dff2eb809545c17414c13cb1286bf65f9592214b2182d532144635bca7acbedd73a30e09bffc6482f8ae6667c4dd0d3d4b99fa0932c747c5cd69b3dd4 \\x12ac8206cf0daab7291602cfeb9cb9a19a8e4f3a3b4e1ab98786c2f917946ccf76ba187b70c86de028d144b9b8ae635b04a4ec82ab14b76661555f8888395154 \\x0000000100000001411366f5b3947b1852cc7cface125887db2735b9fea5b97d417d94a650c3d77ea62db878084bda8b7e474c2d16da7a5e0c30ee09c4205a2c11b1b8d43c12a620dc5c582ef75402136ffd806254885cbd4caff34372b5d0d85ba7089ea13558a4cd269f8a757da2d7e8cff056ca4e574dbfebbe1f3d82b2485d96a4cc54873447 \\x0000000100010000
-32 2 19 \\x3508b1a7e0cd300d48916613d313516bd10d854718649453dfa670057f5c30e9d475cb5d67f6d8f8c07f1cfc9e7f9e1cd2dcaee2f2ecc156da090632662a280d 22 \\x0000000100000100484a69036407b3786c07483c3e5bc6cec77e19127b9496d015ffc2d55829e67263de0f9266eab63d49d3e77886bebdca2ccd06b8ad03863d7ee6429b5045f3b004a70036cf34e5444dcbce956352f61c825ef7c6db13cd9af3f76d4f2da21884cd3e4814771d3d1f976b727953b4b4367f4c0c81c4fe7d10d4f7e153fe20b34e \\x36b30adfae6634c41290e10da1876bfb1f8bba8786579de9e780b7be90691c410270e987abd119e13a7de2b6bc2a8727963b198260ee83476c971277ef6692c9 \\x000000010000000129a9baec465143bd3a25c8c086f7e7ddc43f7f0b1f131aac099d973d094bbc93da8665534a43d0c328d088c47d9321f072541e31feb3b7bde7d689bb3e915075883112886d710e0a8790d4e9e8e5c9751efbe2b97d11ba2395a6c5f0e66d76c96a3c2601088727a2ee9cfa96d702d8e14426a8cfbd0e24fc943292cd2896fd61 \\x0000000100010000
-33 2 20 \\x12e3680886dba5b1ea69f6954fcb8787c843c132e4d55410f698a47c2555ef00fd910d75ee10b166331300a606219360a2b774af1f7a229f5c02625034565f00 22 \\x0000000100000100a7280617462a5937134ef8a4aaaa5c7fa39347f5f0f7bc9cf149bab3a21cc25f887a5f46e35f84641bfccae92b10f799d1a9617a75a1ffe64e2a9f41d4c68e27eafebdd68bcb16226b7927fe2b50f1ff6504f4e9bb0b9838a59971d0b34a947fd24812cb92e25b7e8b1da4db153a6b04190fd793c149f27ca6ce3012f8dc6196 \\x92af0ca2ab23220334075d1a34dd54dec9597a4725fe5d11df95ff79dbb4633fcaee09c0d2a1dc817714c20fd9950d1b39a571e628377e183b69f8aa408fb484 \\x00000001000000017c1a4bd7e59015fc4503079ac52e5698d5caa2b240b839b564cdae79ea1d79e0dda5c1a2c6222eaa806538a6af8ff501631be1101af29c957c36dfe97112072cedeaf47a0ac889596a6d82b9e99ef5cb347034f41eb2146f3b5ed988bfed333335778331e1d734c5032d5a25d69856e1f791369edecec1cf9656a09a97f3c87c \\x0000000100010000
-34 2 21 \\xa6a43dc58df84d8958770d5a032cc3ed5c7ada0c4a65618c9fb7daabbb538b19572c09ef421b8203b654dcfed0cd47aa6176df73469758f0133051bb7955ad01 22 \\x00000001000001005536a980feb7af41d3914b95315844d50d31793d987adf0173b6a87c34cbe25d292533cd1c739ac50dcf0aae25c12711ee73ed32bd4c488f2fe86c1455eb457606ea714c2726fc52439af15368e6631432f7e6aa6b84d8b70924c23b0ca2c30932898d12de271c3b01bca799352477cc3a629cffe2b862ce6c8481d7f2c334f2 \\x4d0dd783d1c6bb0e6c98850819a74a25237a2e898d2c63f8bc91578d428f2a441ba43d83886cd6df0ae6ec016385d241a7f1f8a17136ec8cbc21c65dc44a6840 \\x0000000100000001ab5a768bb559006c7797786eaee8bf2604a94b85fed3874da8f16de2f9c5f1bf030deed73e32f1c26b92e227a16a142e91c3ef185bf0dfca24a9d4e31eed8cb6bce15724b97e73024543d8ff79cd7b3eb434e910862d1b486657d87a4927ba3670bcadcba711630ec4e09cc19e3b25f2cd75e1dea0b574d13cd35715f89418c4 \\x0000000100010000
-35 2 22 \\x5eaa3410132ea811a1d57d96b8a4810938658e7191c123c5fbcbea34b6ee8db364ce976b0e8663be65400e092e2c8eca4eba68070f07d2194bb3b0087ea5440d 22 \\x0000000100000100aacf8433e1c0197b04fa116084f71fed5955621ec842732b3674b64cff18ccc9ec7dd2af3b973a94f9014ce72f681ca6f00b71f6b84a89353be7092895b18827447d03d41783f3b730cedb7d918ae2cae570ed3704e7bc7478a2b6bff8c5530ea55bd085ccd82d0913212b87be78b83b22c33e43db7fbd089bf3962bd66676af \\xcd917a0a5b89df663b78503346acb814696c4d90ac4ececfb29956ff477f32f0cacb41e1a074a86030d77f80ea09558870a1d4355c85884d8d62b353c0e836cf \\x0000000100000001b1cce4d148dd30056756a31a7f605397c593acab12d5a4afbee1d41eb2caf7131f34cc40783330b0efc7075d3a20c1082e573b9bb6c2785abb2d05b878b2564a13895f66ca0d8315841a9e177e1313cfdd959aed2f99ab3af0d06180fa9c4ab78a2e9bc6c9250a38ff6a0b1311f31f37597d6f47b7216059f29a94eae4d8a4f3 \\x0000000100010000
-36 2 23 \\x378e267e3eb074c7f4a6c9ad10381cc57d3a427c4e7e65b10ea794e02278c4c0f5672c7720f2fd19743787d0442b4e1deea18378f9443f7a367b5ec95038c60a 22 \\x000000010000010031388c8f8aef76dcbbac5092bbc04de476019b9d5644f3d76d93ee3f78cf918b56d573b85801fb5b4adec92b4425ade0f4e228b6b7a3521f555956a6c59d113a5b6254afc55d95a5da482d2d56479ffcceb19f04ae9171791afde39da15557131c7889d35b455f8dded446c5e4771c743f352ad69b822a534c6ec6b1c500d5d9 \\xfb4628ce02b54c8ed2e9027e0cc3df49570b771c84f6a243b55e6cf5d639a9eea8d6a2740bc658804d53bd7fb5c0011d67df5e5f6fc1e33ce38e8af22eced8cb \\x0000000100000001338d7cd86168e57040d66eb42dfb406be4de1b3a70c9295dc7e50754a5fbc1e93c392ad2f43d20f62007ecce81b2787bd3c4f36e72af5928d2840f3a05adfc2cd3738785ba712653913098ddbc260566cc86543ed472f77a9aa5c84b2c4acca3147f874ca529bdf1383f21f6c7eae064bb278c47a8ffffd04a995b8b5a97752e \\x0000000100010000
-37 2 24 \\xb2eb635939a20b2c0347e2d30e383f294f907c90d44782f67b9de2b794102bb10b312b90cb445939f3669e503833acf5317ec7b5b78e048b2a749a523707f50b 22 \\x00000001000001003246cf120c5be0246aa12f6fc083801e8512d7c8ec54ed09d306be290d607bf02a134ce4561c1f946bcab3706adcf96d546af5f115b5a0e090da7eca70c5518eb5619884b4dd3fb2d8961c74569686dc2c532c71e9ebfdb12795650fdd99ceff4dc20fed4093d54f844bf1998a6ffeca9155abc5e25f19c3104de57313df1d9f \\xd6f50744974a6ec8dd1042d516d6bac40c002baa3bd45c35685c1f85d75ebe2dedd10d427e50b2632ae8edf41cae481b4bb53413b772273a13bc5bac049035f5 \\x000000010000000179a2a2810889ce68af46e64eba4b02cd7250215377027e777e1cca1982b12838fd7d667e52fe1432c7be94e3e9f09b0ada5e1c74e666abcf13a8aeb5904b522084410c33f32ff2000ba3ac55a3d33fb5c90b663198d9fa0abc1f0774f40e857cf57e31f17814c87c00af6ab6782096f5c79e99633f9c39edc4ca82eafaa55666 \\x0000000100010000
-38 2 25 \\xe05d2694c42598cd4120d6ef593e20cf6017ca817e5bbbe25b9fbe3a67c981e03e103300bf4bd4fa56492eacd2d8891b54f72bbf87c12d3cc4884596b3f66c0d 22 \\x000000010000010097d3979d334ca76c4201d600bfdb534c53592ed15db84c6f6173f79c2f70914360f1b274f7e7afc6c935f609f8774969e646f39cf038d337a15df4aec7b0de2b0a2b748d94d26aa9b1ff580ea94cca1084c63ae258227116ffe2dc4924ad1650a1215757ee1f961473e19a1757b1dce1266a99bd8e372a3a1330b3d77d110c2c \\x17954e675d148b5352d667d4915a04ca444bb49fd8ee89e2f76694c5110ccb51f6f720d5c1ccb7739787f889fd236c53b44f0b090e4ca28241a23dc1b3d2c332 \\x00000001000000016eac890e545256a55009519223046aba6b728e340b95a033d74350b1994a613ed5c3e6577904f3dd193cde9e463e61d9a2670b4d36c1c3fcdb99df13e4ab5655562ce2dd806eded7ce0696778cd847a9f65d2142a2b65952b532fb255182e2c3eff63c2ff6ae3414cf2d78e109ae23149caac8ccd2a5fee1cb5788e64775528e \\x0000000100010000
-39 2 26 \\x47890f89585d5f8b673736791aff6a477b591876b9f7e5286e223360bbf77e258e7bd99ac99f150b9453e47cad4233d797e52f1cc2e51068c0f3d308b1a3720a 22 \\x000000010000010028a18225c6ff2867665a01495a035b2f49f83846893ca36f62e38a02aa8a2971f72c4d1cc5348868282685da3b3e28e9c4113a871c497dfb599b3b5527795c29054fda5feb28309234d7d9830225d7bd266dfeaa8afb9a6c3563cd8c524aeae497ac20369fe2c94440a803da06789e0d8c18e4104905a0e6f0d16414e34d93ef \\x2d91bbb7b0c948a624d62beb5240ecae0d934e46e5037ac97ea639b98a35598e7e483da3af431a08e7a9293097d6f7afcd1bb77ebe2c44ea38b0fcaf33eb92ae \\x0000000100000001432a309ae6d06a64a08ca082cece569648de6d35a113a76506e2b5fa763ba4bb116c8e5a7f525c0d4f59b609dd4692a567af4c27f2d9f740adc6643c7c4f0833c869684e8c8933f1bb4dd5a2167b27e065da64fae8ba9ae36a2c2f6e7bac0a822d0ba90829d04cfd12330f2f856409e63c346a77cfaf56e93b7338466bd2ee23 \\x0000000100010000
-40 2 27 \\xc088685e84f755a59232c0783917ba90a77e3047baad88d141a8231cdc80a24305a0075cc1744c7e985d9ae9fb425c8bca089c49147d15778f120a6c368c5b08 22 \\x00000001000001004dd3c43c86f6cf9fd39fbe0ecfee1574f9314cff107cb3e2e824abbf4ab77279565ba23e52aae4a9dfa6632bee56f3db3ae2ebc3953281cc6acdb538a28412f0396c641dde9fb37657142245ea2c253295fb4dc000b9347cb76873a36d80f1a9e4882f72f59ab26498d8dafbbe69d802e261283e0721d348207dd17741416f92 \\x7f25768259be99163c11936e5ff7a60b12a2ba386eb1f10809e6f9021bc2979c01f3b1fd4f62777ec62c194b1ecaa08b139459d7c8f0d399eb800d5422c1a919 \\x000000010000000124c4638586a35f358fb2426bb76bb8c0c4c3530002f49396e4e365f9f0a31ceeb99c16824c1d7de8ee44bd7451df65f0bc5b3b58d6268837c36646a628be8ad5131f03d49a3e3b9ce3a05d651c0cc66a8e2301f04ca6e6c5304ffb3f1ac23e6c8c8aca049456fef677229c8162e3ea3d8302d72da256307d9e72d1f4e9ccb5a5 \\x0000000100010000
-41 2 28 \\x110ae190b7be292c54594d6ceef64d143126a9aa119289679c2919256802f9cce3af895367b232c68a38a6f573a7daa418dbcfb1ccc9fe4659423351420eb202 22 \\x000000010000010032ef5644cc974dbc10058ba4d7e7a48c5603032967b81965c607113765c364f4aa419517fa3af1d49ea82d8b97c8bff8a6892656aa2d2dd481336ffa3b172526947d45d6227b6a23a326db632a8e46b8ee8f0ac57e5e27f09e37a0633a3349cb31563c2252da0877f08be07ba910ea638c673d6615331bd10d5524e538cb49f2 \\x34cda5dabce0e0a18fed7a5bef7f3845589574186aed7095fb565ec675d8a7d960613717d3f51e1c021e4c8b5ed26194f5a096f83c241437a3d06a8923604ecd \\x0000000100000001b19db7effd10e8f4b17723b521ed32a51fc235bf4d1df4b9dd27cfc59dc1b47a4f56167e8f7f3a2b8bc2402e45f44fcc4502c83144a018d1b3bdf00c5ed4f79f9dce66d106063eb7e1f2266bb130f9d9fa0cf77f037661d64514a681c0dc45d57ac8ce2619bb2738f5836057d9ec9dccac391a1e6bf6ec8dd589a6339f26ba46 \\x0000000100010000
-42 2 29 \\x07041fe661a6c9c88a08137e2525f71c23c4dae7d8c8c41f3225458093e8753b3f9e716e88fddbe3f863caa098dbc128761b849c2403069bbdd94cfadd03e600 22 \\x0000000100000100660b45c903cbfffcc37dd0846f2288427f6c2ce6a04703f503a791ba037a45cea3f44e0992574bf8aee0d0613fc8be21b9f2efc6a96486e7c7136c11c3d9df62813f7b2db386c1b89dbf5c4174b980d9e4259301b9598fd55bd75d072e0e13e8033d1ac64c9df01fd148b2071dae3217ef1c94fe040ee769df8a5798df441aaa \\x5b64c960208b4613b4b905de098113e4a9fd83f7ba138222983c0c284317e5ac4044529f2777e4080e1982eb4bc4f285f8a91b595c98629f34a9e13c2265d41d \\x000000010000000186a4c0a7286ce8bc9a8c91e65a800f035268240a5a2c38fb2de1ef080e90badcc33df55fb0a999b27be66e9f2daf546815f2dc488053a83b9b720b8713f36effd2b07b3b28dfbed3537fe92f056de3c1a3708bba9930471048f4fb3c3f098e4823eacbdf5cc3cc4263512767fc3aa85dc9d60e2fcb278c745e015cd28b097bc4 \\x0000000100010000
-43 2 30 \\x40de0a0757d2bc2ea040f9e39d1640948fe4f7cc0944bfbf311047b289559ec043810a4e00b518b759d932411376a111df809a35015b38d9fe02bfc90d116e08 22 \\x000000010000010086ebfcb45127357fb983db3a7bff562b83c99db9ebade362523c95355c120fe2cc425d1acbe6380bd733157a1424413a6ce24b0fe324fa61462f35acfea3c76091f5645367e68125239a496bb1ee86eb26e77496ad86aed2952e3e1ba39a78e9d0773b46c9acb5ac1f1fa087edb557e69d7acebcd6ad0d960ab4aaab7b220c14 \\xba8fd12a267c4bd63a4e146e691f5be5e724e32fe88bb8f1b4f45fee6e34f7f94865a084bdda77dfad77482edb49cfd7391e73fa9732a7fe262aae6af47e2817 \\x0000000100000001501aa5eb46851539a977382913bcdb2e249f7447bf135992a3b34f435f3dc6ef8c7253c95a1e9b2b96d66c8427f96d2c6a5a39f721df9b6968334aed5ce2921092accfc84aa5bbe7efcf9e44d6603a9217712723194f2ece62a2424d7c1829c25b50e952c2b8080316e1d612920496aa3f78d7e22bd0e66c1dd99592650a5982 \\x0000000100010000
-44 2 31 \\x32e4d9ac7039ef6aa3969f18f76fabef8ac35b2b86794cfd9953e6bc5ae4bda4fef04464abf7e3edcb99154e44b398f639b6ea55454f4ed48f9dd2f749104c09 22 \\x00000001000001007e7e75b03adff091f52064351dc2f6a5904247ba62382a0eb1aac992310b22bfd345ecaed06e792eec2a7833ea2f2a4f51612d83f575e49aefa08a7bc216537dec275b57501dde28aea84b8aefc7fe366bdd3c47e704a3fa9aa1a0ec953e5f192b6ff8497e6470d97cd89b78643b01f49a2329ea5278e7f96035a2d44e206981 \\x324e9c54ffe3e9283b62128ce6f73068ae7ab7698905af414f165b0ccfa4d9245e08a44a11a455db1390352da949f455089ffc63188f7124d9f4b7a26b331a61 \\x000000010000000158c4a3e8a2c87bacbfb8271f357af1b216cda9b05cdff2b654486831c0048c8fe30ddcfafecba414c0c6f1471936ad236429d912c180cc2d3ad1eb60c62abe6f1cab601ba20d43ad217c88bb1570fb2614fe6884400cb9f17f3c94c081f77596a447025dbfc3e4c2a681ccd24482a18b4b547d6ae09a2f9041870fabb3bf8e7f \\x0000000100010000
-45 2 32 \\xeee14df9a797307ecb7bfa79f39aff59381b89907d13e24132b7e472e2a50a8648d1d8941fc317a1acb25424cc3a29fae4d32bd6fd56d357b59e7969ae4e5107 22 \\x0000000100000100ac458dcbab01e4e6522b14b448ab08ca5ef0b11f16aa0226adcf145307b389b6ca06ff8f3ef22c2de6880fa21dcfbbe0ff0289b3147e659b7b5fcec932c976d5754c506def788dba1621fbac8e831c209487cfebacf538d98821e75bc8b2da72b48bb2e70d3166194dad1756a3bd2725e6ef99c91aecaf05b2a5e009294ec7b7 \\x8446124ec10295de33bd97222b99f3c6047c9ed33a864b70885e588d44ea7abfc5c56ce35c7f7746c69ca0c32ccd48f92983353acbed5fae5042f1c42edd3b01 \\x00000001000000017636addea569b263ac51efdcffd0d15ff082c7e058a73e817d1291f405574d0787ce2a8d44e669c2bf2062bdf2257d749dbe019eda13e1764c8b3298fdf7a6cd8e9a3ea6e20f9ad227f3a4cc1112a80093787e3ea37f5f45298fcec1cb5b6a3465d0f7f4e7e5a7fb985fa7dcf91cb330f0c644ebe8cfcb5f08493e4b0a8b1898 \\x0000000100010000
-46 2 33 \\x38814b4516962b37abc6b89040650330834fcad0e925036a18e09e360139b4d0d98fcaecce328e58c6fd6e0ddeaa06747bae8f6634d302057a14c59de71c9c0e 22 \\x00000001000001005be904dcec431b73b63885ea68ed4a6d0087aecc96687e9712e40033be0565289dab0f804747468148422307a662c1380b308a66e56ef3fc2de8186781a2646c05e5d9dd3b52e8b2fc249bdb89af2ca7816c9662ab896661691fb4cb3d2002a960dd11c1cb5e457308a29566ec0963ed1120bda17a3bf11b60ea1c2e8d04030a \\x96826ec215adb456ba2968b12bbe9baf4f9cd129c9c9bdc0d2819da6dd834e4eb9d294d90ab13cb97b7b083d02433b893e47e61683a12be6f5a9992ca8267c26 \\x0000000100000001a93652df8a5a473a18ef746984f3f1f14246e31714a74f3c85a9a5d81954b7d93bfbcf58cc34a2dd485c94efe385a0f67f2c06e22977521ac92fec5c3054c5acc071a15d8cec1ca871ff159ce7b41761b6b43116a6066a31f38c35ee9e407e39dc01904d9af4630cec6d5a93cd8a79b60053925636b6af44dcfdf60f6b133b43 \\x0000000100010000
-47 2 34 \\xad98d4b32ae491728bac280beff3ee25d11b6d0214a2ddd1f555193cc700bf9c4dcfa4bad7317a312dc726277edd33aeeebd1cc24cde8afb31963e5d2d64980a 22 \\x0000000100000100607f0621b2d42a320f4817cee42b4d80834f687612a6cf8a1d1e8481b856172261048b38513798da597e4d139dfa433dcf10603da1e696912c0a44fbc85e8b6a313c0b03aed6866ce89dc9d51fce4c62e5e6055d3e4da377a381581c46145e8cd74bbffcef118015bdba90d34297d7ae3b236013ff807e2fd27c236366435b85 \\x32c0f6c7cbe6ef4c0630f80dccedb10e5adc4b667a99f77082447b6636c4afad88d211e177f9ddd41e919bc2e68262ac990709ac34a47459330b179e477047ab \\x00000001000000010632c429648ec05526d49ac146290cf281e9180453127a3482a7749d86d838bceab1d17299e850e8a470c12b8200199d812f695c4953bf501893799a73bc691ca6a6e5d2ee51ec2cf6363d141f2fe1efa60516481a115317ff7718800980a48cf4a53dc9edab4f1efc9070e99f92de479d903dbe1045313b6ac256b9ff44bb14 \\x0000000100010000
-48 2 35 \\x7b90a6a2cb0bc06d446d9fed2b0497ce749428d1050e3a0c193b58f33b26b463a7f76e23fc1299dfdcb5198deb32e692b1bbd57413a91438f4bdbf83c5ce1009 22 \\x00000001000001000fb0e6e4d97d9520daf1ea32c8e0956e6e0790442024c8882671c7daf6a0a7d9371346ce839e28e270b00860d725ef13fc613703ad31bb5debba2b3c929f9dfc0d28f10a5954428c07d11315d13a385f4300890db5365f49fc4cfa1e8d682e9e3bbf4d77534966a1b82e82438b5b99b7ee161b4f87541af215f8fa0594c17684 \\x4db7a1d82b199af5c5e72d429bec189659555078431d621db598e9a3f7c38bb06fa10f22559ac9206be90a5659ed1e98611c40e3f889e3bb92439200219e8908 \\x0000000100000001165e8db0a4b06c8c89c926f57d4acfa20c890942befc76681f45acf3c733aa9c49c4fea784666edbcc6c424a4c94b6555dcdca24c6d58ad14c4d41391f1aede2b6a5d2615bd0e13298834e4ee0c6b054aacc71aa0961ac8847660c248f83356b6046fd3fed3437f6454c08508b625ff8948492a2031459a75e9c2560e8898990 \\x0000000100010000
-49 2 36 \\x0b9aa86d72565217f1710b082a35c2acaae5faf45e4c7eb1e9e03c7ddc4e1bc2ad27602e9d31ff4922b291ea243abb3025cefea384e96fed66deac165baf6104 22 \\x000000010000010048367adcdb2e1af70b0efc1bf2605a289b28872483473cc1b3a44d2a12b9d1dc449fbc51f7f730c8eea65ac2bf2854a11407bd530aeec65bc504023c1bb08a778e64dfcdb1d2782cc802c9401dfa5dffc8d6dad14418d19526a95fa6fd6ebd97deb19f768f86bdd47cd851fcb1db78d590e18c67d6e5bee336cdc12c779c236d \\xb42fa4b6a8dbc54f2cb2a2c2555547fa711830d75f578fa245f1c59bc62be3e626a21c822da61b3e838e7b7c5f7f8bb14128a81a0700ccf6b6f5b7467a21a7f1 \\x0000000100000001a9309aea6aab01848551f48db040ae574561d5db1a1d0e41753ab6a881eab925fc3192faacf90a01143bc14a89cbe81943e8ff4c46bf146c440f28a41e8d830cf6c1db46da3ddb9683bb0a49aab187958f3f001defba6491826ee1eacc41a86b1dc3a9224c184471970cf2403414809242d239bc6e27097af55a4653e84dd4f7 \\x0000000100010000
-50 2 37 \\x0e817affba2c2103dd1d31a2506cd40ff809e24383ac3637a245f95404930a33c9b6977b025073c7c54cd91e225ef80cf43c4842de426bb29b81800f44905c0e 22 \\x00000001000001001a237e8e29ecabe3b3c46616e01a4aa1975de48e2758b027047aaa8199491be0b054502a3fafca899a3cfb45234414ccf6ad93f01bb12d255729447ec70535b0ee84d671a05cbe173f346a978f0bdf0c2203ea1a28e5eeba5611be87bdb6c5ebd00728160d15700338092ddd0c0e89c919fe67a9cc4ac0baa1bae47ad5b24cd5 \\x2739102da43c48cef26f805715733238d34299acfcbb68e0667b5090bea756434ae4f0ff876b37ace21525cd4d00d28cdd530a14ec5dcd2efb94f1c5a2ad7d44 \\x0000000100000001a399b5af19a56c12d99b4341921f4db88ae6595c0e5fb4ba5eb75b17229604cd5a957e389b56516c7ee6e7fbc13f70e447510dd27b57fb8525c21828e4e47d7cb92fa05963a940962b2b17d66c5a2f5ef8aa3d0d155c64f2e3b30fc0a5009c2cae4abcb28cf7021637ca70ad65c3340759827d057fcb20d63806580a69c6a896 \\x0000000100010000
-\.
-
-
---
--- Data for Name: refresh_transfer_keys_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.refresh_transfer_keys_default (rtc_serial, melt_serial_id, transfer_pub, transfer_privs) FROM stdin;
-1 1 \\x97f928b7f632a6af5459af6e567054b8c91cafc0509fe07e6d46e98fc3e64044 \\x79ea1503f763e637b24768273d3322b0fe2cec90b152f4d2610cb625cfd915d7db73775a3576c0f9b53deb4856d51150008ed2536a73063a3d505e5606db4709
-2 2 \\x8c8f8b1b41af85660c6f4ea19bb2a004bb312b142e6593dd7b03f924028e726d \\xb4f1dc22c43c64e7689d2729e7d51aa5aeea9b52c467cbe7eec20b397ed025d00a96569ee0d5c844a2a0a7226923455f252021833d30ddd4a2f7d35ba9a13432
-\.
-
-
---
--- Data for Name: refunds_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.refunds_default (refund_serial_id, coin_pub, deposit_serial_id, merchant_sig, rtransaction_id, amount_with_fee_val, amount_with_fee_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: reserves_close_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.reserves_close_default (close_uuid, reserve_pub, execution_date, wtid, wire_target_h_payto, amount_val, amount_frac, closing_fee_val, closing_fee_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: reserves_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.reserves_default (reserve_uuid, reserve_pub, current_balance_val, current_balance_frac, purses_active, purses_allowed, max_age, expiration_date, gc_date) FROM stdin;
-1 \\x66f1f1c6b9ff59de864545ba9aab938d712c94502568fe4a3c4e8a83539f6ddb 0 0 0 0 120 1663411974000000 1881744775000000
-\.
-
-
---
--- Data for Name: reserves_in_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.reserves_in_default (reserve_in_serial_id, reserve_pub, wire_reference, credit_val, credit_frac, wire_source_h_payto, exchange_account_section, execution_date) FROM stdin;
-1 \\x66f1f1c6b9ff59de864545ba9aab938d712c94502568fe4a3c4e8a83539f6ddb 1 8 0 \\xf08c08b36ef5c254226f9aeacf25401116f21f23e88262454502f04ad89482e8 exchange-account-1 1660992761000000
-\.
-
-
---
--- Data for Name: reserves_out_by_reserve_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.reserves_out_by_reserve_default (reserve_uuid, h_blind_ev) FROM stdin;
-1 \\xb34500fc8edf5df29882b7674f56e953072188c67c19d4a654adf1786ded06cc1ceb15f6b9e0db2dee8a28ee39e1c883c23d590b23a71239f14643671258910d
-1 \\x5c9471a343a04727ecd564e84635deec54b14f037d7724ecf936f31dd00029d7f696bb2a6d0e4f7c502765e5137237f70d6538e3fddb2b32ef3fbaead8552bfb
-1 \\x130b9e9b2b5602a8d987d9206fe464fb583f0eeb4b3974aa3c534609183933207690d9aa76080d6ee12292c5675f11781f653d468facf95370d56b948cfd5e1f
-1 \\xe3a03f877b5fd7fbf9b2e300a9e2f0de642970a4237ae9bbf0237b7829cafc519f2d19acda053cba25f9cef51e578023e899ad67b128ea2219cfe5cf0d7d83b7
-1 \\xe1f5e6fb2575ac883d5d483920f4cbba3b3b378d5fb56a01b7e65f4a5b3bab8e3bf17b9666108fda9c030ee7477c6d6f802778471801ff454032894e5a24f939
-1 \\x78815827ff949813ebfed5ceb39606e4f773fae131a5c355e0332210bf50efcc18dc159cc8e1755d052749f0dbae9c6f3e792785199ebd2d2b30877b6d409b32
-1 \\x6b43aeea7d9465b1a9f27c11a670f044588195564d82559264645f6fe13687f980efe81487db1122915d47be709c256dd1f78638a3c6950d973f186331263b26
-1 \\xe13b1d58d95e8cfc44f8f0d1df447ee5bbc970fa2f4abf0a04d11b36b83f0fdce40b04b538a605af83e1ebb481592ecc93c2d4bfb946e6a044486e252eb0632d
-1 \\x3ad86c0413001f3337231cf828a0e6fde282b5373193d8d3122e3099f17081e9a74a0c9e675980eb5709dc171fc3ae1d14dd73873952270e198b7a993edcecbd
-1 \\x9dc12e140c571806082e3d79b7cb73b6c31e68172c42cbb64c5f76261d4ba9524c80928facde547b9c0b7bbaa8dbbfb081720cab8219cf1c6449a67dab253d0f
-1 \\x884c0c54780239bc70686fb440be1fcf380c72b7bbc26eec4d562002ddc56c96aed2be03902da1e4d64cafab77961931d697fe8dc01ed1ea7603216b34a2a117
-1 \\xc66679a8d32200ad2085cb0aa3b832fac747ce8c136979504a5553ce632c24023ce70c6cf5b9ddeaaa57f909aa7c9c527d8b91c4764cc4ed404f97ab5fa095cf
-1 \\x99275ac6940a82cd457026ce63e67a190fe856b9b42171693ece218f0fccca2655deff6df0eb2b6344046718002a69c9895dd09dee906c86f728367bbc4ec754
-1 \\x2176af07aaa1eb67d20fcb79c88e72ad05b94e351ef0501b5bbd596ae5a24c0c0ce7f156029bbb3545c6ff472ca17e21ec9ef3b978e1dafdc3b3c13834635d3d
-1 \\x079c14306ec8aab3d40d40d87a4173c0d7a40b45158a3f06ff76e36edd5545baf80af4b0418017d334987970645a1150b46b15dcb0419ba5b6844fe8a6487729
-1 \\x0aa581aac107c3de3488f0362bf88b30eeccb7bc99c2830f2fc23efe9c492286ecd0b6664cbaabb1f5058ea31d6f457280022653adc6889745e1f9c4cc95f9f1
-1 \\x81c9c6288c615053632caf5ffe476bc73ef376f784b77909b9fc5a0ab6420cabc7c70be2e4b8024d69d357c573f7145cf5f96b11041efb0d4e7a0bfca25e0c02
-1 \\x80d50662854428d699f7b55beb620f25ae942fee21d4593a03d0bfaa04dc5ba2b3dc848bc32aa6b92ba39aba0a0708693e4743d4dc2e2638ba0f6fb04b480a71
-1 \\x2bb17748fca830bce040fa74069ffec505d91149251313a9cf2934fea7efe18a7cb9b4420df47cdef9017550527ccf1d4f2c061567bb04fff541ce8bc6515615
-1 \\xd7c2bb9e68207cc7349605b8dcac35aed0a576e13535c8184b0167f5e1f071dbfd629fc1774ac129272c0708d598142406e3604d17e5f7a511219256339692ef
-1 \\xc961d4de57a0fe26dc05d5f25e6cdfc507eb6729ece66e01928cf3d620ebc4e530513c1c4d5bb3aa43c096fdd40a85a18c22dd9581994a6e3115d8d6e031be97
-1 \\xcddc8849d6cabea1dbc5db4c9e1f645e0eaffad78d16c04a3fec109b037c88a87d57e5fe5c07bfb42a897f3ba1c6db13a2309a32229e8115ac3aa3203c4e9764
-1 \\xefc4c4cc90b6ee7157c423062773cc53b3caafc54798b0ca798d4c42fb26e358f8883f97df585501541c3fbc25b28500f454135ceb08d1786cf08613db80382a
-1 \\xb4a87ac930f558e92030de49a59dbb5e5861d9d019e247f76d21cb87f672d9901ee9ac7a1dafa98642201c08c42f5b0ac8a428f84a07ea83b4769ffe6cca1e94
-1 \\x6a893b69cbe20b9575b5167be675fdc93911f09ee29f4eaa136a21e5780677dd904815808421cb513e386d516122b7eadfd19636f4a6dd3c4a6cf76d4e93a705
-1 \\x8b3ee39d5a0a90b77a891d1b51a72a19eec45354f0817dca03b5a6ea35c5a2899e303a63684c7a304325f94fa9cebbced8ec141277a3bc073b7908b21c2d668c
-1 \\xc9ffa0a5b77ba1d934ec035872b1c958ba183619d12297f75968f03e73259da8c2ef9347793373dbc635a8c27f85e96c491ba5a46e4bc837eaa0dbb0e6dade9e
-1 \\x0c0c505fb77b3637f3fe5bb1d9b620875afbb81c116021584ffb97376866b93393810554e3594635fb5b0d3b1e4136864e441c98c7848cccd300321d8ec9aaca
-\.
-
-
---
--- Data for Name: reserves_out_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.reserves_out_default (reserve_out_serial_id, h_blind_ev, denominations_serial, denom_sig, reserve_uuid, reserve_sig, execution_date, amount_with_fee_val, amount_with_fee_frac) FROM stdin;
-1 \\xb34500fc8edf5df29882b7674f56e953072188c67c19d4a654adf1786ded06cc1ceb15f6b9e0db2dee8a28ee39e1c883c23d590b23a71239f14643671258910d 109 \\x00000001000000016e09ae563fa335af70cd6aaeec38b3611565bb482b0d1e9804805f6c7e6c27422f94e07ac63ce4dec9ae69b52d2f9b69c14c1bd986655679a9f888566109a6ee9771984d4f7cffa841671c5852ae1fb7f11f192fc20158d9430ea0472de82c9c598903d0634fe428cc2abc55cc6070b76d81603c9f17692c6054a157756daa4c 1 \\x8bc2167dc6d1758ce6825b32c4039a13c959a22b7d7d09e27b1563c97af0ffb5e3849c37200b91985cc6539138e2fde4cbc52387ed9e66d426878c821dde080c 1660992764000000 5 1000000
-2 \\x5c9471a343a04727ecd564e84635deec54b14f037d7724ecf936f31dd00029d7f696bb2a6d0e4f7c502765e5137237f70d6538e3fddb2b32ef3fbaead8552bfb 339 \\x00000001000000010d946009bc3bd36dbc71b43f040ad94ec04240207d4257deb33957c5f276afcc6b36b1b86f7cf81e3ff0b5c448d8e09523082c29bb44bc65d93f667d2f6c4692c5fda4a047e12886c0ed3306f1b2ca4d4002a527bf60885df97d931a2707f20abce737ee43bbcd1a7c75050f160e5ca16eef999980eb1ec2daf0ca60d0e114a8 1 \\x9bfb9a16478641bbd8a9ef5292546aa5dd12ae90823d114d7f7134f5fd058d205567dc1a2dfefb1365dd02f2c096a155715f24a2e6091c924eb675562d1eba04 1660992764000000 2 3000000
-3 \\x130b9e9b2b5602a8d987d9206fe464fb583f0eeb4b3974aa3c534609183933207690d9aa76080d6ee12292c5675f11781f653d468facf95370d56b948cfd5e1f 422 \\x0000000100000001bbb6d283f485cef1aaa125a06a9f5d5d5d38d8eba3183735e7900c379532bcfc8033a5257a51c58078a5cc33f34aa448aa5a3e8c59ce2552d90b5e5190b3c66a98da0cb452c6b1fc84e51c2c5104b2e485352341d2ddcabb95d3727a2e44f879d23b173474e548e335d1a6308fb76247a1409d8fcb3eba9f8a5d0b1a66697d53 1 \\x7ab141385f77bd4113f705472c0d542a32056d6ed3446d0f03bd455428e5dff3b1aa9b72bea8f5377b33ac424a29f27d8daead80c55bb394c285ea886b7f7f0f 1660992764000000 0 11000000
-4 \\xe3a03f877b5fd7fbf9b2e300a9e2f0de642970a4237ae9bbf0237b7829cafc519f2d19acda053cba25f9cef51e578023e899ad67b128ea2219cfe5cf0d7d83b7 422 \\x000000010000000117dd87644a077a55743b7aeaea2d9c53c6724c5db73379e8f0ee32179c487e6402dbc7a70b91e3bbc4592b4a6ca1ffab2b287237bfac2318d95e44ad3bfbd58dd68acd1c665b9f8e74b0ad72b2dab0cc85fa85d691e46fc88a92a9bd7c4e51cb5a94b99f0b07d85903aadabe9080f9a8ac67f00c83b3dff63c5c109c3c6ca0a8 1 \\xa4b43333b2956055f564b22edc4fa36f924c7703aab15938a1f4ba6cbd451aa75e288ca25de49fb74074cd54f9875fa91f6753def17e56d5cb58794f98b67907 1660992764000000 0 11000000
-5 \\xe1f5e6fb2575ac883d5d483920f4cbba3b3b378d5fb56a01b7e65f4a5b3bab8e3bf17b9666108fda9c030ee7477c6d6f802778471801ff454032894e5a24f939 422 \\x000000010000000134e398ab1a888dac53587d23c4aaf1a43f7fdf1197ab4ff590956e111485c491d1b482aef5b6e3ca675e595c842983c98b7b8a94d5fa10f5ed728d7f7d61c4211a984ef5b9164d405c1f575d2276e21b50f35b250c3fa5fa5a1d0fea7cd02ccf4d80d1906686e0e93ab4a279f9b83b125a26cf4085f9e119dc5c0a105afa9322 1 \\xb1bf866637a6cf25653f250c57728af8f54d5728f8f0c6949fe779f7411e4b3a5571ba20b6fcc048e37767ff098cf7a341dc16c6a8402b77927257a42655b609 1660992764000000 0 11000000
-6 \\x78815827ff949813ebfed5ceb39606e4f773fae131a5c355e0332210bf50efcc18dc159cc8e1755d052749f0dbae9c6f3e792785199ebd2d2b30877b6d409b32 422 \\x000000010000000172b3f66b86d5654716c343b21ad128df521398438d08c19897da5de076e312600bb62ffde089ee77ec94a7e8f236f0f6e75aca92aeab0291e4cff5d168df454ea572810f18f3db1e34ea4d9067447fd36754d04be5a3469c9106119a5adc0e31e74381af01c9b641345bff944016dee40c3cbc353412db8fa734716fce102b24 1 \\xb5ca44486c0727ca291417a78ebd62e58696187af30d20432c5a03b05046c0d037f52294ff12f73934db2d8df80f5a6f5e8a12f665aa1cb3617f54ec9066e50a 1660992764000000 0 11000000
-7 \\x6b43aeea7d9465b1a9f27c11a670f044588195564d82559264645f6fe13687f980efe81487db1122915d47be709c256dd1f78638a3c6950d973f186331263b26 422 \\x0000000100000001cc806c6cf57a22563077d2ff69e64d90c9257fb9b865a883ee51eb93d975875a86abf9d65f753605ad781c9e0f3fe36ea32754a31a63999549ec1febf9085c96147dada575a79f2a6c56867b1fbb2030adbabf56552c2cd072571e8588c373f3ca985c725dd29c6f54d9cfd52b25fc374275d6b7f2dadc99f053a59354724a4e 1 \\x276f870cb2bb58ffb66dd1cc7456917a42fcc2e808f05f9fb565bfc33eaecc7038ef4e98a0392fa6a0cda0df82c7546c1de077118a642f0496119ba815cc9d0d 1660992764000000 0 11000000
-8 \\xe13b1d58d95e8cfc44f8f0d1df447ee5bbc970fa2f4abf0a04d11b36b83f0fdce40b04b538a605af83e1ebb481592ecc93c2d4bfb946e6a044486e252eb0632d 422 \\x00000001000000017bdda5f03c0925ef4fc5fcb609280c90269a533963bc31853528623be03a6a61d23c15ab6a41b2879d0c0c35dddda35e2c366b6119d12dc7b64d64237f57dca9ba04e03ce45b7ba1645d10e3cd9b945dc830d4eaf533a7b7edd57570f83e4a2b7f0caabecbc62cc9e888b0562e39fc1237aee8359a431db4d6ef1b9ac2ce7a77 1 \\x56f0240f52cdb6c99bbf6e73312d1db1c7ebf1918d5876889f68761c9d965a7a12347e7ddc25ad613774b9115e15748a1eb127e0581978ef0f30b93c240a4d0a 1660992764000000 0 11000000
-9 \\x3ad86c0413001f3337231cf828a0e6fde282b5373193d8d3122e3099f17081e9a74a0c9e675980eb5709dc171fc3ae1d14dd73873952270e198b7a993edcecbd 422 \\x00000001000000014dc83f93e7ee1ff61ac4c251481dcde373da58995d5a0458aedc3edd66fc9817826f6a792af86344de3657b261fa78536789e902ca399625f5942708ad79b00fbb303d9445d11e1b1b83c09cf2910b599855a4afc46ffd07b01106bb3023eec1b5f64fa51249100da5136e0501d94f959c720066b6795200fcddba9c1138dc85 1 \\xd412b65a15bc534799c06e7397ac53527f2a748fa39a30b6e43288a59b4283562d1ec3b0cf46978d418ac44ca781d12fdfcb7359d90bed2f4f8aa017a8cbb006 1660992764000000 0 11000000
-10 \\x9dc12e140c571806082e3d79b7cb73b6c31e68172c42cbb64c5f76261d4ba9524c80928facde547b9c0b7bbaa8dbbfb081720cab8219cf1c6449a67dab253d0f 422 \\x00000001000000011f4612661fa2d0b36e08390104d7bac7932d47074ee6fb0488419133ef22e86410f915fc0d00a965e3e62768b8ac9e0e0a0f464fd2cf352b782af7d2bf54f6e420d271f9eef6026596b355f1a1c58f603db3d59b44fb5e302057c76561ef40097b55f19083cd56d7497576fd5bc8dea06f12a07d5070561d7374262a241df18b 1 \\x85f63e07b25c32cc5ce1d535de4ad849d6df522e972e329b08846e78e7d4899ee6287b693bb3b07f6bea7f1b77de6934477df48c9ebc6434e8cefc918e552f03 1660992764000000 0 11000000
-11 \\x884c0c54780239bc70686fb440be1fcf380c72b7bbc26eec4d562002ddc56c96aed2be03902da1e4d64cafab77961931d697fe8dc01ed1ea7603216b34a2a117 20 \\x00000001000000013ba190d3673b77cc7ecc601f90eb14f5da505dc39fc33a15b1455a3b5729bdcbf57d231ff5b931a7b86d8ff29d0cc299d8f85b8687f203de384aa719564c19b2a8867be6f18e0b012a24673790e30bee164b557943db219e2c15cacbb41ce6a28b38a5d25f2ee61b26954d458c4946d914cf08537db31f4be60e2c2093bf0fb0 1 \\xec34fa312c0bb0d494d56f535143c4103f6b63c593d0aa280a42add341b4e458429d27c83ca73af21155fd778650d3dd5121efde8ea5ffa2513ba4a474263e00 1660992764000000 0 2000000
-12 \\xc66679a8d32200ad2085cb0aa3b832fac747ce8c136979504a5553ce632c24023ce70c6cf5b9ddeaaa57f909aa7c9c527d8b91c4764cc4ed404f97ab5fa095cf 20 \\x0000000100000001b7ef45023951b013ae274a5ba5918412b4aff570cd776a9bc2ae113359bb807480917b101c0332220c73a8693e94d11834d7341f8d733a14d1a368119b4d3b21fc5a7c3483cb634faf54a9304bc771eae3462bf26d5557f66c54eef9bad5e32fec78eb834fb9ee8bfb5831cd2a2d81579add4f8b3ef024dcd97a5af9385b4a81 1 \\x3b208922603ba7dab0bbcd8b2e737fb7d67a77ce9b23e347c63cb7bb2f12f969a6aa003f261df120ced9b6269e85670739b5751bb44b8366a0d481ec45c05c07 1660992764000000 0 2000000
-13 \\x99275ac6940a82cd457026ce63e67a190fe856b9b42171693ece218f0fccca2655deff6df0eb2b6344046718002a69c9895dd09dee906c86f728367bbc4ec754 20 \\x0000000100000001089e3284f372f8f22781a610fe05ea84d712ae3ff370372fb9b122d36c3a23ee37569243e2a0e8d848d86fdb6d18b7eb0537bd59ab5f742f300071975aeebf4d1200b0d65818edd5faa8e8f70c97a76004fa4558eabb46ae20837e3edc532d59176615b6162b8d295e0bf3f1c9246f2b5c23901d5d82534de1ef94bf28e13d2f 1 \\x873699af0ef5f07a4d8854c24fd85eef4ee3154b3a29d3a61a10ca8cabd574cec68f79210b59145a84caa1123318a668ebf0ea2f9faa472f7f5262e9700cb307 1660992764000000 0 2000000
-14 \\x2176af07aaa1eb67d20fcb79c88e72ad05b94e351ef0501b5bbd596ae5a24c0c0ce7f156029bbb3545c6ff472ca17e21ec9ef3b978e1dafdc3b3c13834635d3d 20 \\x00000001000000017b9188323efa5f1e2a80cf08119d8b246b0218fff85f8f7ba251001d1ff65d3072178a509ef164987e8ead2a4d53ecdbf101513b1021607f769efad42cbda4ee6ad356e7fda47a67ba9f315fc3f391c66636a9648b8eff82b38774c2b7a5fffda52e11567be30f9e57437d2ee4237794f1eab20766a0ee03cc7b758f444f85d7 1 \\xcc891c17d79cbc6081b649fc8b372f90cfa6adb56594dde1f5ceb923aaa86f30d9ba33ae5e3ab54a9e1a2db9094be800b89aad644a901917ff332c079c0a6006 1660992764000000 0 2000000
-15 \\x079c14306ec8aab3d40d40d87a4173c0d7a40b45158a3f06ff76e36edd5545baf80af4b0418017d334987970645a1150b46b15dcb0419ba5b6844fe8a6487729 330 \\x00000001000000017ab2ef8e51740ab73e9bcbd44783a91ce1c177685ad5caa68e0f6cfdd33ada04d5f4d348cf9a4393bb78370ef50442327c176abaf2a7a608201f1a8b33c3173ba12fdc469c38b8ca2435ecb8534aebbecefe51ce00d59c65048ea43187bf90a727b66c7b156ceeb2df49af2747d0f3471f24f0af729d0447fe7a42604995df53 1 \\x21973646d83c88f2907db545010f3d927f72845e31135153f56909306d165597ea49d73e93163b1ddefa3790c99f72fcc4fb55e5260c897c28fb26559a8cfd0b 1660992775000000 1 2000000
-16 \\x0aa581aac107c3de3488f0362bf88b30eeccb7bc99c2830f2fc23efe9c492286ecd0b6664cbaabb1f5058ea31d6f457280022653adc6889745e1f9c4cc95f9f1 422 \\x00000001000000012318b3f3e78afe71445ee057bf0c515a527315dc8596d4b38fed6108b99f4d6232cb441caddc6e2cba31a062a60720e2e729a43dffa6a26136a1e5137233a6ed2492d72568f63517dea1e68f1dcc14a2f8d843e183cafdc3de933ebf1814c801923be43883625cdf7c0339a89f82a20452574b3445a5a8bd907f2aaa03f3f6b2 1 \\x153379febf2a128f9f4d5a2b600a7b4b75cd69e13cf5d969da90b8cc0aab04952127009c05a7cdf54e5e9f116aa705956c9f1ada31a2d4f04c9f11b704c96008 1660992775000000 0 11000000
-17 \\x81c9c6288c615053632caf5ffe476bc73ef376f784b77909b9fc5a0ab6420cabc7c70be2e4b8024d69d357c573f7145cf5f96b11041efb0d4e7a0bfca25e0c02 422 \\x00000001000000015e2f275b64fc65b8e7e40f50685ef30d218d38480c9c4388e37af7163d0c19c929577107cb81db6fe734c75f74b7ed22a4f08f3c50f3d1d0583bd4b71f454749e9cd3ffa24a0418021a4915cc4557e953072e27838f99f75073a3e405dd61fbe97593276a5e2609aa2e9b7c93c81a0a86b47e97dfaab6149d6c881dd14ba69c2 1 \\xeecf172d6bb1ddb88adcdf71836acc832bc862d7101756214437c9ef527b9408761fbc5262eed45a222ca07b1c8c8f4836c7582690e006729fbdeefce222a60b 1660992775000000 0 11000000
-18 \\x80d50662854428d699f7b55beb620f25ae942fee21d4593a03d0bfaa04dc5ba2b3dc848bc32aa6b92ba39aba0a0708693e4743d4dc2e2638ba0f6fb04b480a71 422 \\x00000001000000014809ce83227007add6fa641f338e91ace78bdb2ee673bca107a122d13d25b2b209749f86880b485c724d220fe5e5782c9a7db80c393c6af32fb48aae3ea07e6ff34ad079b5b780982d20cf365fb4961fdf8203a09587df9e23e2979b0dd4ec8b90c0401f4b9d0caf0d0fa4fbac630e3771e98e1245266f92f1cafe06dcc62936 1 \\x8f25bb84061264e6b1af365f051ff92722f0e695c2b64d5b47e56f4497a5864fa1b32766443c17afe329c4582ffe2f325bc954e43703bac0ba8d588e6f1ca30c 1660992775000000 0 11000000
-19 \\x2bb17748fca830bce040fa74069ffec505d91149251313a9cf2934fea7efe18a7cb9b4420df47cdef9017550527ccf1d4f2c061567bb04fff541ce8bc6515615 422 \\x00000001000000017f7657055662eb6bba99fcad4c7783752a9150cf53e89a991ad2f10a1e1922891c560ee5d2ef6a1cb15f940e592a9949402e953ad36a870f23baff7dbc724f837a8ede8af26ee9eff68469a43c6c10663d490c612dcf650ee6a99c066cc1219b74ea3d357cac24301facbacd8527b6036d086b785745dea4798884af596910aa 1 \\x2270bce069784c4c646344dc344bd2069ba3cbed29f4df8192a93416bb15e7dfd38694caddf0f31ca79a2cb6b53d493c6b1443cec6e56dbdfa1ca1b9ce7de707 1660992775000000 0 11000000
-20 \\xd7c2bb9e68207cc7349605b8dcac35aed0a576e13535c8184b0167f5e1f071dbfd629fc1774ac129272c0708d598142406e3604d17e5f7a511219256339692ef 422 \\x0000000100000001359147bed81af6d5c8f4400d0ac433e12e83beba04e0f66c61488d85e3d2fb96440126c3c9ffb7c59edd91650756b886776b7cd81f91374b98f61f355c9ab1a7385fadf91b0084cd53c204dade6f25d22133e662d42bc214b1aeab46ed0150d931574d85c0b1cc0208b137a1a30e9c200a834db4a2f91529d396bb9e337a7b0c 1 \\x474e5acc39c6c217c3c54a3f61db2947aef63d57342dad3967078255366b850f5fa240e0fe484c2d3bcb89c970636a7923312c38595f96d69558f79a6b672b03 1660992775000000 0 11000000
-21 \\xc961d4de57a0fe26dc05d5f25e6cdfc507eb6729ece66e01928cf3d620ebc4e530513c1c4d5bb3aa43c096fdd40a85a18c22dd9581994a6e3115d8d6e031be97 422 \\x00000001000000012037f123a65e6d39b5cb21a2aa36498d40360528333ef3bc931b740283ab34bc10e84bf90daa66ecfb3b3e7a08b6192f80b409cfc2f4bfa93054f394c88ba6e2b18b4793b2902f3aec96d81aeedbb8d232dbc7421fc4cf8155b8fb555ef01ec0fbba087254b042938d86944b91db90ab0ffe0271dd5b17d87642aa9669a9da60 1 \\xbd45522fb3989a6e7bdd49e9a216403a6152c1c38b7527ba824f7eadcd6b312837dc144b727ce8a256dc8e6e0f863c55c86027a02c65faef1272d9b0eea8b400 1660992775000000 0 11000000
-22 \\xcddc8849d6cabea1dbc5db4c9e1f645e0eaffad78d16c04a3fec109b037c88a87d57e5fe5c07bfb42a897f3ba1c6db13a2309a32229e8115ac3aa3203c4e9764 422 \\x00000001000000013bfe25c8483f13a115f905eae4da860e878423dbd8b6dac91c32e40439a4f690d8ed566f9e6d0ade3b97b88e7dfe6d73442a29fe106495058eb6227b2d28e71c5cbe398216a75cdec29218519bbe4555066c6e26fae0d0fa81d8300bea6ecae45b0791c29af3dde76d3e1a3524a8c259833ca3be5e6831895ad7c642e453f276 1 \\x13e3f41076e6b3ee740d6339d7b7242a29e64d72e6a527be0f8191e4510dc7d46971ed943c51693f8c22e335a4556a2922202bc2b037d3b958c144e49dbb0c08 1660992775000000 0 11000000
-23 \\xefc4c4cc90b6ee7157c423062773cc53b3caafc54798b0ca798d4c42fb26e358f8883f97df585501541c3fbc25b28500f454135ceb08d1786cf08613db80382a 422 \\x00000001000000010b9534e7407bf09b9e605c54a98dc5d143ada0092daead51e01a66daa41414fff67b877aa7494ed73b4ff2f5dcc9c46363ad9f1c61e62e140882598d4ee83e6fae88668eabfc0e12cf518559c7cf0ddb499ef890b3caa16b54463f0d09629a8cf58ab859a164330bab2145355901e925f60f5cc90bca423ba21e0ff485fd9b18 1 \\xcc89f3e0b0455553d53d3b35e4eee0f0d05b94cd6ba3ba2f0bd06248b3f8485b3b8db408132cd61ab36167014046cf2bc2165be37ffbd528799aea31fcbfb603 1660992775000000 0 11000000
-24 \\xb4a87ac930f558e92030de49a59dbb5e5861d9d019e247f76d21cb87f672d9901ee9ac7a1dafa98642201c08c42f5b0ac8a428f84a07ea83b4769ffe6cca1e94 20 \\x000000010000000195faccc253707749c416efebcda2bf5fbf48961f2dcffcde98912c6024391be11c603b45ed027f1cff17bcaae06281aa03a2bc95da89170dc1a78a1ba1407459d6792153ac1d8571a91e8bb698a55a0a352f660d8b1056bfdef400ee3de491d4b8431b35736dd6330a3be0aeff5b32cf44146b82bb9e73dfdf8a3c2fc2f62e8e 1 \\x0ad003f4451914e0ae3f4b2ce0fb9f864aa6a1cb6dadd36c62a9e3fcc8490f0e62f2b2de132678198243367fa82fec8416b29d70c1cadb77cf2f6dfbac272d0e 1660992775000000 0 2000000
-25 \\x6a893b69cbe20b9575b5167be675fdc93911f09ee29f4eaa136a21e5780677dd904815808421cb513e386d516122b7eadfd19636f4a6dd3c4a6cf76d4e93a705 20 \\x00000001000000012b245b5a3ec0e0a458918219a6a3257d14cea81e8678bbd8cf057295a79830a875f5e7b62b21cc82316a3aad77c57c6f35441748514b59f64740995a4b79eba85ea66ca201b8eeb0df9faad26cf12c71450dcd0412d4a70c0079fe46b3cf3ed2babc64e736386fd37a308e575a3d0bdd15167073bf82388935bc76f79fb8ed17 1 \\x3fcaea812d59b0a14e93539a57c1b100e5e4746f1fe9db8e8423ac2b6ec116f80e8f69fed83f511701cbd5509ffc222d37ecbfcabe8672014f91cc68b2210206 1660992775000000 0 2000000
-26 \\x8b3ee39d5a0a90b77a891d1b51a72a19eec45354f0817dca03b5a6ea35c5a2899e303a63684c7a304325f94fa9cebbced8ec141277a3bc073b7908b21c2d668c 20 \\x0000000100000001b85cb38dee07f88ee23b76f26aebaaa79f70529d9d5db03390595b65676cc2596c20f5b902d2765b74430735112965960f5f1c5c7fad1ac5ccf950411e81b703ba05940d2ffe28972fe7874c47756c5a1eb4ea750df4dddc15e92077643048c806745c3de0bd76500e9da38dcd22c649d78a4a2a45101dcd83a60d60e2371f43 1 \\x4ea8c01fcd2812bef95a32a0ef6f519ac36ce15a7f7104fd3747d57ae478599fc48017c7ea66d8e3ad41bc78afede710d653b57b755dbcdf91fd29ac603d6203 1660992775000000 0 2000000
-27 \\xc9ffa0a5b77ba1d934ec035872b1c958ba183619d12297f75968f03e73259da8c2ef9347793373dbc635a8c27f85e96c491ba5a46e4bc837eaa0dbb0e6dade9e 20 \\x00000001000000016be9b381048823ad28fcc548cb1eaf8c351be75b85006f7a6d6ea44f25249346d42b331b167f905f05ec059b990a727404c7793f807fc8b56c6a61a911c840a85dbf814aacbc68d898e5783f17276103e0338a738e173ee6482cc9851cac9f6c9a1f3bc6cdb1f2c8c26f9b1e67aeb319770727c27bb7a31f9908f35e5cc2943d 1 \\x4fc983bb1b760906cb2f70f8d5e346c7950b8932429f59ebc2d5a8abbda7f524f89418438d63a7117aa68819256c6448ef942d815e8337c6b1b3e17a89a1b002 1660992775000000 0 2000000
-28 \\x0c0c505fb77b3637f3fe5bb1d9b620875afbb81c116021584ffb97376866b93393810554e3594635fb5b0d3b1e4136864e441c98c7848cccd300321d8ec9aaca 20 \\x0000000100000001593517398ff143c9c8b501f29a8c29f554288547d367f1f02a011785c4a9a2699618301636c5e8a4398c2b935f4615289560d1960e3c7bdfc35e3205bfbf7584e92a699386ecbf99a497d1aad8b7b2a8aee602d231a45b13b734842092f7db9704600dd6b03dc2b4e9c68297b5b0d5c8c6c0657817e40527ebeb0a09f7f2de83 1 \\x2dcee2941a5452f078350935430c4b7b2255323e3998216fe627155994b5cdfabb200649ae30f8a878cae038817fb327af3362246f2c2a8b4199192e3cfc4300 1660992775000000 0 2000000
-\.
-
-
---
--- Data for Name: revolving_work_shards; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.revolving_work_shards (shard_serial_id, last_attempt, start_row, end_row, active, job_name) FROM stdin;
-\.
-
-
---
--- Data for Name: signkey_revocations; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.signkey_revocations (signkey_revocations_serial_id, esk_serial, master_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: wad_in_entries_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wad_in_entries_default (wad_in_entry_serial_id, wad_in_serial_id, reserve_pub, purse_pub, h_contract, purse_expiration, merge_timestamp, amount_with_fee_val, amount_with_fee_frac, wad_fee_val, wad_fee_frac, deposit_fees_val, deposit_fees_frac, reserve_sig, purse_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: wad_out_entries_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wad_out_entries_default (wad_out_entry_serial_id, wad_out_serial_id, reserve_pub, purse_pub, h_contract, purse_expiration, merge_timestamp, amount_with_fee_val, amount_with_fee_frac, wad_fee_val, wad_fee_frac, deposit_fees_val, deposit_fees_frac, reserve_sig, purse_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: wads_in_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wads_in_default (wad_in_serial_id, wad_id, origin_exchange_url, amount_val, amount_frac, arrival_time) FROM stdin;
-\.
-
-
---
--- Data for Name: wads_out_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wads_out_default (wad_out_serial_id, wad_id, partner_serial_id, amount_val, amount_frac, execution_time) FROM stdin;
-\.
-
-
---
--- Data for Name: wire_accounts; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wire_accounts (payto_uri, master_sig, is_active, last_change) FROM stdin;
-payto://iban/SANDBOXX/DE221125?receiver-name=Exchange+Company \\x6d469c6e2d9e07832e17130fe2fb194f15bc9bedd9d1fdbd3ca031d0e8771ee9cca9d80d2bd30e38e2ebdc30d0577b2cc797b3a57a09f00bf108c063fdf0d807 t 1660992754000000
-\.
-
-
---
--- Data for Name: wire_fee; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wire_fee (wire_fee_serial, wire_method, start_date, end_date, wire_fee_val, wire_fee_frac, closing_fee_val, closing_fee_frac, wad_fee_val, wad_fee_frac, master_sig) FROM stdin;
-1 iban 1640995200000000 1672531200000000 0 1000000 0 1000000 0 1000000 \\x63cc1df9f3c887be5ba29b1db763a39a88398ae1c5d0d05e7122914dc564cca64e686ebee056f782aa578aec0f0c4e4ba9885b5ad5b359b35fd447616f799102
-\.
-
-
---
--- Data for Name: wire_out_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wire_out_default (wireout_uuid, execution_date, wtid_raw, wire_target_h_payto, exchange_account_section, amount_val, amount_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: wire_targets_default; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.wire_targets_default (wire_target_serial_id, wire_target_h_payto, payto_uri) FROM stdin;
-1 \\xf08c08b36ef5c254226f9aeacf25401116f21f23e88262454502f04ad89482e8 payto://iban/SANDBOXX/DE020224?receiver-name=Name+unknown
-6 \\xd31e3f48cb5318906dbbb7948326362f41604c7a728323230ae82aa995f27400 payto://iban/SANDBOXX/DE474361?receiver-name=Merchant43
-\.
-
-
---
--- Data for Name: work_shards; Type: TABLE DATA; Schema: exchange; Owner: -
---
-
-COPY exchange.work_shards (shard_serial_id, last_attempt, start_row, end_row, completed, job_name) FROM stdin;
-1 0 0 1024 f wirewatch-exchange-account-1
-\.
-
-
---
--- Data for Name: merchant_accounts; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_accounts (account_serial, merchant_serial, h_wire, salt, payto_uri, active) FROM stdin;
-1 1 \\xa244abb59475dd50543a653bc2c2c6609ab29b03b1bad126007bb99202d5809b37a15c3ad70b7fafbaef55f1efda5375b10fd9b6f890cc2cacaa5e24c3e55fd7 \\x45e24ca67c18b2ac81022211e47968e7 payto://iban/SANDBOXX/DE474361?receiver-name=Merchant43 t
-\.
-
-
---
--- Data for Name: merchant_contract_terms; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_contract_terms (order_serial, merchant_serial, order_id, contract_terms, h_contract_terms, creation_time, pay_deadline, refund_deadline, paid, wired, fulfillment_url, session_id, claim_token) FROM stdin;
-1 1 2022.232-02V0YS2YVC3K4 \\x7b22616d6f756e74223a22544553544b55444f533a31222c2273756d6d617279223a22666f6f222c2266756c66696c6c6d656e745f75726c223a2274616c65723a2f2f66756c66696c6c6d656e742d737563636573732f7468616e6b2b796f75222c22726566756e645f646561646c696e65223a7b22745f73223a313636303939333637367d2c22776972655f7472616e736665725f646561646c696e65223a7b22745f73223a313636303939333637367d2c2270726f6475637473223a5b5d2c22685f77697265223a224d3932415144434d4551454e304e3154434d58573547503643324442353652335036584432394730464557533430504e4732444b4638415737424247505a58465142514e4257464656393951424338465636564648343643354a50414d51483452464a4e5a4e52222c22776972655f6d6574686f64223a226962616e222c226f726465725f6964223a22323032322e3233322d30325630595332595643334b34222c2274696d657374616d70223a7b22745f73223a313636303939323737367d2c227061795f646561646c696e65223a7b22745f73223a313636303939363337367d2c226d61785f776972655f666565223a22544553544b55444f533a31222c226d61785f666565223a22544553544b55444f533a31222c22776972655f6665655f616d6f7274697a6174696f6e223a312c226d65726368616e745f626173655f75726c223a22687474703a2f2f6c6f63616c686f73743a393936362f222c226d65726368616e74223a7b226e616d65223a2264656661756c74222c2261646472657373223a7b7d2c226a7572697364696374696f6e223a7b7d7d2c2265786368616e676573223a5b7b2275726c223a22687474703a2f2f6c6f63616c686f73743a383038312f222c226d61737465725f707562223a2237574744414d475a58374a44565753513458593233574a5a3053514a384131365959465a5a44314b38454b48334730384d324d47227d5d2c2261756469746f7273223a5b5d2c226d65726368616e745f707562223a22533132593430324d3535434443525032414351305757314139414648514d305431523844563041593543374738344e464a315130222c226e6f6e6365223a2230574132524753433852544641314d314e57385a334146385a475a5141594352415248473447354841373350464656315a373930227d \\x70450b46e592fa22e4f2edcb92617c60e600e1454e9bc52da02397bc862901f139a4ab579932a8810809b880982464c45cb8f4a4c075bb462131c5efdfd965fe 1660992776000000 1660996376000000 1660993676000000 t f taler://fulfillment-success/thank+you \\xdbec92573b535260cae170d0fe436dcc
-2 1 2022.232-02V88ZBTBF13W \\x7b22616d6f756e74223a22544553544b55444f533a302e3032222c2273756d6d617279223a22626172222c2266756c66696c6c6d656e745f75726c223a2274616c65723a2f2f66756c66696c6c6d656e742d737563636573732f7468616e6b2b796f75222c22726566756e645f646561646c696e65223a7b22745f73223a313636303939333730387d2c22776972655f7472616e736665725f646561646c696e65223a7b22745f73223a313636303939333730387d2c2270726f6475637473223a5b5d2c22685f77697265223a224d3932415144434d4551454e304e3154434d58573547503643324442353652335036584432394730464557533430504e4732444b4638415737424247505a58465142514e4257464656393951424338465636564648343643354a50414d51483452464a4e5a4e52222c22776972655f6d6574686f64223a226962616e222c226f726465725f6964223a22323032322e3233322d30325638385a42544246313357222c2274696d657374616d70223a7b22745f73223a313636303939323830387d2c227061795f646561646c696e65223a7b22745f73223a313636303939363430387d2c226d61785f776972655f666565223a22544553544b55444f533a31222c226d61785f666565223a22544553544b55444f533a31222c22776972655f6665655f616d6f7274697a6174696f6e223a312c226d65726368616e745f626173655f75726c223a22687474703a2f2f6c6f63616c686f73743a393936362f222c226d65726368616e74223a7b226e616d65223a2264656661756c74222c2261646472657373223a7b7d2c226a7572697364696374696f6e223a7b7d7d2c2265786368616e676573223a5b7b2275726c223a22687474703a2f2f6c6f63616c686f73743a383038312f222c226d61737465725f707562223a2237574744414d475a58374a44565753513458593233574a5a3053514a384131365959465a5a44314b38454b48334730384d324d47227d5d2c2261756469746f7273223a5b5d2c226d65726368616e745f707562223a22533132593430324d3535434443525032414351305757314139414648514d305431523844563041593543374738344e464a315130222c226e6f6e6365223a22445a543056414650473142575156385a4247395256475052504d3644443938384444325136323445564e5a335938505956414747227d \\x7d0db3dc8c43719af46e3d51fbb65e0ef73d4e4128f0156738aeafc3d59de0bfdb64e63a40804e00592824e4c9c0ed72da900017a28a4f7e30658731044df108 1660992808000000 1660996408000000 1660993708000000 t f taler://fulfillment-success/thank+you \\x522469ca670f921bfcaa56f848af7c1b
-\.
-
-
---
--- Data for Name: merchant_deposit_to_transfer; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_deposit_to_transfer (deposit_serial, coin_contribution_value_val, coin_contribution_value_frac, credit_serial, execution_time, signkey_serial, exchange_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_deposits; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_deposits (deposit_serial, order_serial, deposit_timestamp, coin_pub, exchange_url, amount_with_fee_val, amount_with_fee_frac, deposit_fee_val, deposit_fee_frac, refund_fee_val, refund_fee_frac, wire_fee_val, wire_fee_frac, signkey_serial, exchange_sig, account_serial) FROM stdin;
-1 1 1660992778000000 \\x633286aec399616c6bda89d40013c5d27e83e34b10dc958e2c6adade957a00bb http://localhost:8081/ 1 0 0 2000000 0 1000000 0 1000000 5 \\x625da3699e7aaf380cf081925b5ddd64134f875e5e7f1f72fd558d37c1490b552f6792cab9494b41c7cceb6747321182d5c9729f1e481286e06ecb60ded99e03 1
-2 2 1661597612000000 \\x018cb8d9be05315e7892bbfbf44b376bd4190f9b36956a96302f5d9943eee6e3 http://localhost:8081/ 0 1000000 0 1000000 0 1000000 0 1000000 5 \\x83b78bc87cc0a38a4c1ef5b1f5bb69a1ecc9f40e278cf76cfc3d43946528aef9a819b0da55b245f949401af250e5496596b3485c03fa1eb4f52100352477c303 1
-3 2 1661597612000000 \\x028b2f54b389d85b20e243a97645d85b4122896f343bc22f96e506ce8a053a61 http://localhost:8081/ 0 1000000 0 1000000 0 1000000 0 1000000 5 \\x11b8376a6f8ed143df4bf5aa4cb92b8431b2c57528a3fcd5be3f2a868cd11570c25a7c0965887422bb6fdafcffa7544776c43d45bc772f5985e60ab9fc4ad301 1
-\.
-
-
---
--- Data for Name: merchant_exchange_signing_keys; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_exchange_signing_keys (signkey_serial, master_pub, exchange_pub, start_date, expire_date, end_date, master_sig) FROM stdin;
-1 \\x3f20d5521fe9e4ddf337277c21f25f066f242826f79fffb43343a711c008a0a9 \\xa05981fa95898fb68e4f8af2082cffbaebf1f6a4837d28a5b7b87fccdeb4e81b 1682764648000000 1690022248000000 1692441448000000 \\xb65c761900786f2dfc75af4932c019f9e85d1f7ab5d66bf2bc631d39d8a55333b8c6ae41e451cae1992be506ef037381ec5cba426a67aad07898c9095ab7290b
-2 \\x3f20d5521fe9e4ddf337277c21f25f066f242826f79fffb43343a711c008a0a9 \\x8835f0375cd0db295ef92c234d101c532b5b0c199a3944b1ceca758275d2d43e 1668250048000000 1675507648000000 1677926848000000 \\x7f056c949e5b10779aee48b83f05ef6a9f0806c17b81d0194620bb193eac78bf2f8223a95305b373e8aa7595f4ef707adb8d2734a7526ce41ee17b95c47f220b
-3 \\x3f20d5521fe9e4ddf337277c21f25f066f242826f79fffb43343a711c008a0a9 \\xeade5d22e096dc0a4e0f93adb200b5536a2d0fa01a4305ee7fde9af8d40fc07e 1690021948000000 1697279548000000 1699698748000000 \\x9a10ae01a67bf9ad6515cd80d36ad6a36ce3e91ef37beea5153f3d0725c0e627028417bae1950115d2a38f4eb6c1658c17c852830edd2dce07f3b2604a592102
-4 \\x3f20d5521fe9e4ddf337277c21f25f066f242826f79fffb43343a711c008a0a9 \\x770083b599e309e55121b3ff2b8fd442003ea91fad7c5cd3c4d1a02aa7dd9345 1675507348000000 1682764948000000 1685184148000000 \\x98065827feadce308caa3bb9d59ea82ef5f74ff21965ce275df8c9c48bff74366a025d9cd828a6ed8e253548a101f092a4481c494e46c2962c8530fe9a046c0c
-5 \\x3f20d5521fe9e4ddf337277c21f25f066f242826f79fffb43343a711c008a0a9 \\xdadc5cfb79a7b94e6d311f6033f32442d2a4791150799ec796049f6f7772a8ea 1660992748000000 1668250348000000 1670669548000000 \\xc19d70df3db53fe89fe00a8c74fb2fb06f8871ce97ccd812a80b12a9ea181bcffc27b8e365f2d0f97cb34c543741932805a30e72bb6f964b2cf8c0101ba6ba08
-\.
-
-
---
--- Data for Name: merchant_exchange_wire_fees; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_exchange_wire_fees (wirefee_serial, master_pub, h_wire_method, start_date, end_date, wire_fee_val, wire_fee_frac, closing_fee_val, closing_fee_frac, wad_fee_val, wad_fee_frac, master_sig) FROM stdin;
-1 \\x3f20d5521fe9e4ddf337277c21f25f066f242826f79fffb43343a711c008a0a9 \\x21e4a5e9d5d17432fa0b1f7a02f8047c7634c1053d6aa1f6456ac134caa8bbf3da7776a78f85636af980472afd166b4edad654979a89d92c49a4ba992a7e3571 1640995200000000 1672531200000000 0 1000000 0 1000000 0 1000000 \\x63cc1df9f3c887be5ba29b1db763a39a88398ae1c5d0d05e7122914dc564cca64e686ebee056f782aa578aec0f0c4e4ba9885b5ad5b359b35fd447616f799102
-\.
-
-
---
--- Data for Name: merchant_instances; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_instances (merchant_serial, merchant_pub, auth_hash, auth_salt, merchant_id, merchant_name, address, jurisdiction, default_max_deposit_fee_val, default_max_deposit_fee_frac, default_max_wire_fee_val, default_max_wire_fee_frac, default_wire_fee_amortization, default_wire_transfer_delay, default_pay_delay, website, email, logo) FROM stdin;
-1 \\xc845e200542958d662c2532e0e702a4a9f1bd01a0e10dd815e2b0f0412af906e \\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \\x0000000000000000000000000000000000000000000000000000000000000000 default default \\x7b7d \\x7b7d 1 0 1 0 1 3600000000 3600000000 \N \N \N
-\.
-
-
---
--- Data for Name: merchant_inventory; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_inventory (product_serial, merchant_serial, product_id, description, description_i18n, unit, image, taxes, price_val, price_frac, total_stock, total_sold, total_lost, address, next_restock, minimum_age) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_inventory_locks; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_inventory_locks (product_serial, lock_uuid, total_locked, expiration) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_keys; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_keys (merchant_priv, merchant_serial) FROM stdin;
-\\xc328a6a79570e1add4e4d375834751b4014b07f4f6f44783992823ecbe5e17a1 1
-\.
-
-
---
--- Data for Name: merchant_kyc; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_kyc (kyc_serial_id, kyc_timestamp, kyc_ok, exchange_sig, exchange_pub, exchange_kyc_serial, account_serial, exchange_url) FROM stdin;
-1 1660992779000000 t \N \N 0 1 http://localhost:8081/
-\.
-
-
---
--- Data for Name: merchant_order_locks; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_order_locks (product_serial, total_locked, order_serial) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_orders; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_orders (order_serial, merchant_serial, order_id, claim_token, h_post_data, pay_deadline, creation_time, contract_terms) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_refund_proofs; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_refund_proofs (refund_serial, exchange_sig, signkey_serial) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_refunds; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_refunds (refund_serial, order_serial, rtransaction_id, refund_timestamp, coin_pub, reason, refund_amount_val, refund_amount_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_pickup_signatures; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_tip_pickup_signatures (pickup_serial, coin_offset, blind_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_pickups; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_tip_pickups (pickup_serial, tip_serial, pickup_id, amount_val, amount_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_reserve_keys; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_tip_reserve_keys (reserve_serial, reserve_priv, exchange_url, payto_uri) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_reserves; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_tip_reserves (reserve_serial, reserve_pub, merchant_serial, creation_time, expiration, merchant_initial_balance_val, merchant_initial_balance_frac, exchange_initial_balance_val, exchange_initial_balance_frac, tips_committed_val, tips_committed_frac, tips_picked_up_val, tips_picked_up_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tips; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_tips (tip_serial, reserve_serial, tip_id, justification, next_url, expiration, amount_val, amount_frac, picked_up_val, picked_up_frac, was_picked_up) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_transfer_signatures; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_transfer_signatures (credit_serial, signkey_serial, wire_fee_val, wire_fee_frac, credit_amount_val, credit_amount_frac, execution_time, exchange_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_transfer_to_coin; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_transfer_to_coin (deposit_serial, credit_serial, offset_in_exchange_list, exchange_deposit_value_val, exchange_deposit_value_frac, exchange_deposit_fee_val, exchange_deposit_fee_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_transfers; Type: TABLE DATA; Schema: merchant; Owner: -
---
-
-COPY merchant.merchant_transfers (credit_serial, exchange_url, wtid, credit_amount_val, credit_amount_frac, account_serial, verified, confirmed) FROM stdin;
-\.
-
-
---
--- Name: auditor_reserves_auditor_reserves_rowid_seq; Type: SEQUENCE SET; Schema: auditor; Owner: -
---
-
-SELECT pg_catalog.setval('auditor.auditor_reserves_auditor_reserves_rowid_seq', 1, false);
-
-
---
--- Name: deposit_confirmations_serial_id_seq; Type: SEQUENCE SET; Schema: auditor; Owner: -
---
-
-SELECT pg_catalog.setval('auditor.deposit_confirmations_serial_id_seq', 2, true);
-
-
---
--- Name: account_merges_account_merge_request_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.account_merges_account_merge_request_serial_id_seq', 1, false);
-
-
---
--- Name: aggregation_tracking_aggregation_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.aggregation_tracking_aggregation_serial_id_seq', 1, false);
-
-
---
--- Name: auditor_denom_sigs_auditor_denom_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.auditor_denom_sigs_auditor_denom_serial_seq', 1269, true);
-
-
---
--- Name: auditors_auditor_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.auditors_auditor_uuid_seq', 1, true);
-
-
---
--- Name: close_requests_close_request_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.close_requests_close_request_serial_id_seq', 1, false);
-
-
---
--- Name: contracts_contract_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.contracts_contract_serial_id_seq', 1, false);
-
-
---
--- Name: cs_nonce_locks_cs_nonce_lock_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.cs_nonce_locks_cs_nonce_lock_serial_id_seq', 1, false);
-
-
---
--- Name: denomination_revocations_denom_revocations_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.denomination_revocations_denom_revocations_serial_id_seq', 2, true);
-
-
---
--- Name: denominations_denominations_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.denominations_denominations_serial_seq', 424, true);
-
-
---
--- Name: deposits_deposit_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.deposits_deposit_serial_id_seq', 3, true);
-
-
---
--- Name: exchange_sign_keys_esk_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.exchange_sign_keys_esk_serial_seq', 5, true);
-
-
---
--- Name: extension_details_extension_details_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.extension_details_extension_details_serial_id_seq', 1, false);
-
-
---
--- Name: extensions_extension_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.extensions_extension_id_seq', 1, false);
-
-
---
--- Name: global_fee_global_fee_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.global_fee_global_fee_serial_seq', 1, true);
-
-
---
--- Name: history_requests_history_request_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.history_requests_history_request_serial_id_seq', 1, false);
-
-
---
--- Name: known_coins_known_coin_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.known_coins_known_coin_id_seq', 14, true);
-
-
---
--- Name: legitimization_processes_legitimization_process_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.legitimization_processes_legitimization_process_serial_id_seq', 1, false);
-
-
---
--- Name: legitimization_requirements_legitimization_requirement_seri_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.legitimization_requirements_legitimization_requirement_seri_seq', 1, false);
-
-
---
--- Name: partners_partner_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.partners_partner_serial_id_seq', 1, false);
-
-
---
--- Name: prewire_prewire_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.prewire_prewire_uuid_seq', 1, false);
-
-
---
--- Name: profit_drains_profit_drain_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.profit_drains_profit_drain_serial_id_seq', 1, false);
-
-
---
--- Name: purse_deposits_purse_deposit_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.purse_deposits_purse_deposit_serial_id_seq', 1, false);
-
-
---
--- Name: purse_merges_purse_merge_request_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.purse_merges_purse_merge_request_serial_id_seq', 1, false);
-
-
---
--- Name: purse_refunds_purse_refunds_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.purse_refunds_purse_refunds_serial_id_seq', 1, false);
-
-
---
--- Name: purse_requests_purse_requests_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.purse_requests_purse_requests_serial_id_seq', 1, false);
-
-
---
--- Name: recoup_recoup_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.recoup_recoup_uuid_seq', 1, true);
-
-
---
--- Name: recoup_refresh_recoup_refresh_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.recoup_refresh_recoup_refresh_uuid_seq', 8, true);
-
-
---
--- Name: refresh_commitments_melt_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.refresh_commitments_melt_serial_id_seq', 2, true);
-
-
---
--- Name: refresh_revealed_coins_rrc_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.refresh_revealed_coins_rrc_serial_seq', 50, true);
-
-
---
--- Name: refresh_transfer_keys_rtc_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.refresh_transfer_keys_rtc_serial_seq', 2, true);
-
-
---
--- Name: refunds_refund_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.refunds_refund_serial_id_seq', 1, false);
-
-
---
--- Name: reserves_close_close_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.reserves_close_close_uuid_seq', 1, false);
-
-
---
--- Name: reserves_in_reserve_in_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.reserves_in_reserve_in_serial_id_seq', 22, true);
-
-
---
--- Name: reserves_out_reserve_out_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.reserves_out_reserve_out_serial_id_seq', 28, true);
-
-
---
--- Name: reserves_reserve_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.reserves_reserve_uuid_seq', 22, true);
-
-
---
--- Name: revolving_work_shards_shard_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.revolving_work_shards_shard_serial_id_seq', 1, false);
-
-
---
--- Name: signkey_revocations_signkey_revocations_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.signkey_revocations_signkey_revocations_serial_id_seq', 1, false);
-
-
---
--- Name: wad_in_entries_wad_in_entry_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wad_in_entries_wad_in_entry_serial_id_seq', 1, false);
-
-
---
--- Name: wad_out_entries_wad_out_entry_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wad_out_entries_wad_out_entry_serial_id_seq', 1, false);
-
-
---
--- Name: wads_in_wad_in_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wads_in_wad_in_serial_id_seq', 1, false);
-
-
---
--- Name: wads_out_wad_out_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wads_out_wad_out_serial_id_seq', 1, false);
-
-
---
--- Name: wire_fee_wire_fee_serial_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wire_fee_wire_fee_serial_seq', 1, true);
-
-
---
--- Name: wire_out_wireout_uuid_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wire_out_wireout_uuid_seq', 1, false);
-
-
---
--- Name: wire_targets_wire_target_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.wire_targets_wire_target_serial_id_seq', 25, true);
-
-
---
--- Name: work_shards_shard_serial_id_seq; Type: SEQUENCE SET; Schema: exchange; Owner: -
---
-
-SELECT pg_catalog.setval('exchange.work_shards_shard_serial_id_seq', 1, true);
-
-
---
--- Name: merchant_accounts_account_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_accounts_account_serial_seq', 1, true);
-
-
---
--- Name: merchant_deposits_deposit_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_deposits_deposit_serial_seq', 3, true);
-
-
---
--- Name: merchant_exchange_signing_keys_signkey_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_exchange_signing_keys_signkey_serial_seq', 10, true);
-
-
---
--- Name: merchant_exchange_wire_fees_wirefee_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_exchange_wire_fees_wirefee_serial_seq', 2, true);
-
-
---
--- Name: merchant_instances_merchant_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_instances_merchant_serial_seq', 1, true);
-
-
---
--- Name: merchant_inventory_product_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_inventory_product_serial_seq', 1, false);
-
-
---
--- Name: merchant_kyc_kyc_serial_id_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_kyc_kyc_serial_id_seq', 1, true);
-
-
---
--- Name: merchant_orders_order_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_orders_order_serial_seq', 2, true);
-
-
---
--- Name: merchant_refunds_refund_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_refunds_refund_serial_seq', 1, false);
-
-
---
--- Name: merchant_tip_pickups_pickup_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_tip_pickups_pickup_serial_seq', 1, false);
-
-
---
--- Name: merchant_tip_reserves_reserve_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_tip_reserves_reserve_serial_seq', 1, false);
-
-
---
--- Name: merchant_tips_tip_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_tips_tip_serial_seq', 1, false);
-
-
---
--- Name: merchant_transfers_credit_serial_seq; Type: SEQUENCE SET; Schema: merchant; Owner: -
---
-
-SELECT pg_catalog.setval('merchant.merchant_transfers_credit_serial_seq', 1, false);
-
-
---
--- Name: patches patches_pkey; Type: CONSTRAINT; Schema: _v; Owner: -
---
-
-ALTER TABLE ONLY _v.patches
- ADD CONSTRAINT patches_pkey PRIMARY KEY (patch_name);
-
-
---
--- Name: auditor_denomination_pending auditor_denomination_pending_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_denomination_pending
- ADD CONSTRAINT auditor_denomination_pending_pkey PRIMARY KEY (denom_pub_hash);
-
-
---
--- Name: auditor_exchanges auditor_exchanges_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_exchanges
- ADD CONSTRAINT auditor_exchanges_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_historic_denomination_revenue auditor_historic_denomination_revenue_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_historic_denomination_revenue
- ADD CONSTRAINT auditor_historic_denomination_revenue_pkey PRIMARY KEY (denom_pub_hash);
-
-
---
--- Name: auditor_progress_aggregation auditor_progress_aggregation_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_aggregation
- ADD CONSTRAINT auditor_progress_aggregation_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_progress_coin auditor_progress_coin_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_coin
- ADD CONSTRAINT auditor_progress_coin_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_progress_deposit_confirmation auditor_progress_deposit_confirmation_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_deposit_confirmation
- ADD CONSTRAINT auditor_progress_deposit_confirmation_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_progress_reserve auditor_progress_reserve_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_reserve
- ADD CONSTRAINT auditor_progress_reserve_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_reserves auditor_reserves_auditor_reserves_rowid_key; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_reserves
- ADD CONSTRAINT auditor_reserves_auditor_reserves_rowid_key UNIQUE (auditor_reserves_rowid);
-
-
---
--- Name: deposit_confirmations deposit_confirmations_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.deposit_confirmations
- ADD CONSTRAINT deposit_confirmations_pkey PRIMARY KEY (h_contract_terms, h_wire, coin_pub, merchant_pub, exchange_sig, exchange_pub, master_sig);
-
-
---
--- Name: deposit_confirmations deposit_confirmations_serial_id_key; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.deposit_confirmations
- ADD CONSTRAINT deposit_confirmations_serial_id_key UNIQUE (serial_id);
-
-
---
--- Name: wire_auditor_account_progress wire_auditor_account_progress_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.wire_auditor_account_progress
- ADD CONSTRAINT wire_auditor_account_progress_pkey PRIMARY KEY (master_pub, account_name);
-
-
---
--- Name: wire_auditor_progress wire_auditor_progress_pkey; Type: CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.wire_auditor_progress
- ADD CONSTRAINT wire_auditor_progress_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: account_merges_default account_merges_default_account_merge_request_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.account_merges_default
- ADD CONSTRAINT account_merges_default_account_merge_request_serial_id_key UNIQUE (account_merge_request_serial_id);
-
-
---
--- Name: account_merges account_merges_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.account_merges
- ADD CONSTRAINT account_merges_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: account_merges_default account_merges_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.account_merges_default
- ADD CONSTRAINT account_merges_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: aggregation_tracking_default aggregation_tracking_default_aggregation_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.aggregation_tracking_default
- ADD CONSTRAINT aggregation_tracking_default_aggregation_serial_id_key UNIQUE (aggregation_serial_id);
-
-
---
--- Name: aggregation_tracking aggregation_tracking_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.aggregation_tracking
- ADD CONSTRAINT aggregation_tracking_pkey PRIMARY KEY (deposit_serial_id);
-
-
---
--- Name: aggregation_tracking_default aggregation_tracking_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.aggregation_tracking_default
- ADD CONSTRAINT aggregation_tracking_default_pkey PRIMARY KEY (deposit_serial_id);
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_auditor_denom_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditor_denom_sigs
- ADD CONSTRAINT auditor_denom_sigs_auditor_denom_serial_key UNIQUE (auditor_denom_serial);
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditor_denom_sigs
- ADD CONSTRAINT auditor_denom_sigs_pkey PRIMARY KEY (denominations_serial, auditor_uuid);
-
-
---
--- Name: auditors auditors_auditor_uuid_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditors
- ADD CONSTRAINT auditors_auditor_uuid_key UNIQUE (auditor_uuid);
-
-
---
--- Name: auditors auditors_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditors
- ADD CONSTRAINT auditors_pkey PRIMARY KEY (auditor_pub);
-
-
---
--- Name: close_requests close_requests_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.close_requests
- ADD CONSTRAINT close_requests_pkey PRIMARY KEY (reserve_pub, close_timestamp);
-
-
---
--- Name: close_requests_default close_requests_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.close_requests_default
- ADD CONSTRAINT close_requests_default_pkey PRIMARY KEY (reserve_pub, close_timestamp);
-
-
---
--- Name: contracts_default contracts_default_contract_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.contracts_default
- ADD CONSTRAINT contracts_default_contract_serial_id_key UNIQUE (contract_serial_id);
-
-
---
--- Name: contracts contracts_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.contracts
- ADD CONSTRAINT contracts_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: contracts_default contracts_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.contracts_default
- ADD CONSTRAINT contracts_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: cs_nonce_locks_default cs_nonce_locks_default_cs_nonce_lock_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.cs_nonce_locks_default
- ADD CONSTRAINT cs_nonce_locks_default_cs_nonce_lock_serial_id_key UNIQUE (cs_nonce_lock_serial_id);
-
-
---
--- Name: cs_nonce_locks cs_nonce_locks_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.cs_nonce_locks
- ADD CONSTRAINT cs_nonce_locks_pkey PRIMARY KEY (nonce);
-
-
---
--- Name: cs_nonce_locks_default cs_nonce_locks_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.cs_nonce_locks_default
- ADD CONSTRAINT cs_nonce_locks_default_pkey PRIMARY KEY (nonce);
-
-
---
--- Name: denomination_revocations denomination_revocations_denom_revocations_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.denomination_revocations
- ADD CONSTRAINT denomination_revocations_denom_revocations_serial_id_key UNIQUE (denom_revocations_serial_id);
-
-
---
--- Name: denomination_revocations denomination_revocations_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.denomination_revocations
- ADD CONSTRAINT denomination_revocations_pkey PRIMARY KEY (denominations_serial);
-
-
---
--- Name: denominations denominations_denominations_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.denominations
- ADD CONSTRAINT denominations_denominations_serial_key UNIQUE (denominations_serial);
-
-
---
--- Name: denominations denominations_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.denominations
- ADD CONSTRAINT denominations_pkey PRIMARY KEY (denom_pub_hash);
-
-
---
--- Name: deposits_default deposits_default_coin_pub_merchant_pub_h_contract_terms_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.deposits_default
- ADD CONSTRAINT deposits_default_coin_pub_merchant_pub_h_contract_terms_key UNIQUE (coin_pub, merchant_pub, h_contract_terms);
-
-
---
--- Name: deposits_default deposits_default_deposit_serial_id_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.deposits_default
- ADD CONSTRAINT deposits_default_deposit_serial_id_pkey PRIMARY KEY (deposit_serial_id);
-
-
---
--- Name: exchange_sign_keys exchange_sign_keys_esk_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.exchange_sign_keys
- ADD CONSTRAINT exchange_sign_keys_esk_serial_key UNIQUE (esk_serial);
-
-
---
--- Name: exchange_sign_keys exchange_sign_keys_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.exchange_sign_keys
- ADD CONSTRAINT exchange_sign_keys_pkey PRIMARY KEY (exchange_pub);
-
-
---
--- Name: extension_details extension_details_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.extension_details
- ADD CONSTRAINT extension_details_pkey PRIMARY KEY (extension_details_serial_id);
-
-
---
--- Name: extension_details_default extension_details_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.extension_details_default
- ADD CONSTRAINT extension_details_default_pkey PRIMARY KEY (extension_details_serial_id);
-
-
---
--- Name: extensions extensions_extension_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.extensions
- ADD CONSTRAINT extensions_extension_id_key UNIQUE (extension_id);
-
-
---
--- Name: extensions extensions_name_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.extensions
- ADD CONSTRAINT extensions_name_key UNIQUE (name);
-
-
---
--- Name: global_fee global_fee_global_fee_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.global_fee
- ADD CONSTRAINT global_fee_global_fee_serial_key UNIQUE (global_fee_serial);
-
-
---
--- Name: global_fee global_fee_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.global_fee
- ADD CONSTRAINT global_fee_pkey PRIMARY KEY (start_date);
-
-
---
--- Name: history_requests history_requests_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.history_requests
- ADD CONSTRAINT history_requests_pkey PRIMARY KEY (reserve_pub, request_timestamp);
-
-
---
--- Name: history_requests_default history_requests_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.history_requests_default
- ADD CONSTRAINT history_requests_default_pkey PRIMARY KEY (reserve_pub, request_timestamp);
-
-
---
--- Name: known_coins_default known_coins_default_known_coin_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.known_coins_default
- ADD CONSTRAINT known_coins_default_known_coin_id_key UNIQUE (known_coin_id);
-
-
---
--- Name: known_coins known_coins_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.known_coins
- ADD CONSTRAINT known_coins_pkey PRIMARY KEY (coin_pub);
-
-
---
--- Name: known_coins_default known_coins_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.known_coins_default
- ADD CONSTRAINT known_coins_default_pkey PRIMARY KEY (coin_pub);
-
-
---
--- Name: kyc_alerts kyc_alerts_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.kyc_alerts
- ADD CONSTRAINT kyc_alerts_pkey PRIMARY KEY (h_payto);
-
-
---
--- Name: kyc_alerts kyc_alerts_trigger_type_h_payto_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.kyc_alerts
- ADD CONSTRAINT kyc_alerts_trigger_type_h_payto_key UNIQUE (trigger_type, h_payto);
-
-
---
--- Name: legitimization_processes legitimization_processes_h_payto_provider_section_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_processes
- ADD CONSTRAINT legitimization_processes_h_payto_provider_section_key UNIQUE (h_payto, provider_section);
-
-
---
--- Name: legitimization_processes_default legitimization_processes_default_h_payto_provider_section_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_processes_default
- ADD CONSTRAINT legitimization_processes_default_h_payto_provider_section_key UNIQUE (h_payto, provider_section);
-
-
---
--- Name: legitimization_processes_default legitimization_processes_default_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_processes_default
- ADD CONSTRAINT legitimization_processes_default_serial_key UNIQUE (legitimization_process_serial_id);
-
-
---
--- Name: legitimization_requirements legitimization_requirements_h_payto_required_checks_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_requirements
- ADD CONSTRAINT legitimization_requirements_h_payto_required_checks_key UNIQUE (h_payto, required_checks);
-
-
---
--- Name: legitimization_requirements_default legitimization_requirements_default_h_payto_required_checks_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_requirements_default
- ADD CONSTRAINT legitimization_requirements_default_h_payto_required_checks_key UNIQUE (h_payto, required_checks);
-
-
---
--- Name: legitimization_requirements_default legitimization_requirements_default_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.legitimization_requirements_default
- ADD CONSTRAINT legitimization_requirements_default_serial_id_key UNIQUE (legitimization_requirement_serial_id);
-
-
---
--- Name: partner_accounts partner_accounts_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.partner_accounts
- ADD CONSTRAINT partner_accounts_pkey PRIMARY KEY (payto_uri);
-
-
---
--- Name: partners partners_partner_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.partners
- ADD CONSTRAINT partners_partner_serial_id_key UNIQUE (partner_serial_id);
-
-
---
--- Name: prewire prewire_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.prewire
- ADD CONSTRAINT prewire_pkey PRIMARY KEY (prewire_uuid);
-
-
---
--- Name: prewire_default prewire_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.prewire_default
- ADD CONSTRAINT prewire_default_pkey PRIMARY KEY (prewire_uuid);
-
-
---
--- Name: profit_drains profit_drains_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.profit_drains
- ADD CONSTRAINT profit_drains_pkey PRIMARY KEY (wtid);
-
-
---
--- Name: profit_drains profit_drains_profit_drain_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.profit_drains
- ADD CONSTRAINT profit_drains_profit_drain_serial_id_key UNIQUE (profit_drain_serial_id);
-
-
---
--- Name: purse_actions purse_actions_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_actions
- ADD CONSTRAINT purse_actions_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_deposits purse_deposits_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_deposits
- ADD CONSTRAINT purse_deposits_pkey PRIMARY KEY (purse_pub, coin_pub);
-
-
---
--- Name: purse_deposits_default purse_deposits_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_deposits_default
- ADD CONSTRAINT purse_deposits_default_pkey PRIMARY KEY (purse_pub, coin_pub);
-
-
---
--- Name: purse_deposits_default purse_deposits_default_purse_deposit_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_deposits_default
- ADD CONSTRAINT purse_deposits_default_purse_deposit_serial_id_key UNIQUE (purse_deposit_serial_id);
-
-
---
--- Name: purse_merges purse_merges_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_merges
- ADD CONSTRAINT purse_merges_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_merges_default purse_merges_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_merges_default
- ADD CONSTRAINT purse_merges_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_merges_default purse_merges_default_purse_merge_request_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_merges_default
- ADD CONSTRAINT purse_merges_default_purse_merge_request_serial_id_key UNIQUE (purse_merge_request_serial_id);
-
-
---
--- Name: purse_refunds purse_refunds_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_refunds
- ADD CONSTRAINT purse_refunds_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_refunds_default purse_refunds_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_refunds_default
- ADD CONSTRAINT purse_refunds_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_refunds_default purse_refunds_default_purse_refunds_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_refunds_default
- ADD CONSTRAINT purse_refunds_default_purse_refunds_serial_id_key UNIQUE (purse_refunds_serial_id);
-
-
---
--- Name: purse_requests purse_requests_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_requests
- ADD CONSTRAINT purse_requests_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_requests_default purse_requests_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_requests_default
- ADD CONSTRAINT purse_requests_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_requests_default purse_requests_default_purse_requests_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.purse_requests_default
- ADD CONSTRAINT purse_requests_default_purse_requests_serial_id_key UNIQUE (purse_requests_serial_id);
-
-
---
--- Name: recoup_default recoup_default_recoup_uuid_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.recoup_default
- ADD CONSTRAINT recoup_default_recoup_uuid_key UNIQUE (recoup_uuid);
-
-
---
--- Name: recoup_refresh_default recoup_refresh_default_recoup_refresh_uuid_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.recoup_refresh_default
- ADD CONSTRAINT recoup_refresh_default_recoup_refresh_uuid_key UNIQUE (recoup_refresh_uuid);
-
-
---
--- Name: refresh_commitments_default refresh_commitments_default_melt_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_commitments_default
- ADD CONSTRAINT refresh_commitments_default_melt_serial_id_key UNIQUE (melt_serial_id);
-
-
---
--- Name: refresh_commitments refresh_commitments_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_commitments
- ADD CONSTRAINT refresh_commitments_pkey PRIMARY KEY (rc);
-
-
---
--- Name: refresh_commitments_default refresh_commitments_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_commitments_default
- ADD CONSTRAINT refresh_commitments_default_pkey PRIMARY KEY (rc);
-
-
---
--- Name: refresh_revealed_coins_default refresh_revealed_coins_default_coin_ev_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_revealed_coins_default
- ADD CONSTRAINT refresh_revealed_coins_default_coin_ev_key UNIQUE (coin_ev);
-
-
---
--- Name: refresh_revealed_coins_default refresh_revealed_coins_default_h_coin_ev_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_revealed_coins_default
- ADD CONSTRAINT refresh_revealed_coins_default_h_coin_ev_key UNIQUE (h_coin_ev);
-
-
---
--- Name: refresh_revealed_coins_default refresh_revealed_coins_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_revealed_coins_default
- ADD CONSTRAINT refresh_revealed_coins_default_pkey PRIMARY KEY (melt_serial_id, freshcoin_index);
-
-
---
--- Name: refresh_revealed_coins_default refresh_revealed_coins_default_rrc_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_revealed_coins_default
- ADD CONSTRAINT refresh_revealed_coins_default_rrc_serial_key UNIQUE (rrc_serial);
-
-
---
--- Name: refresh_transfer_keys refresh_transfer_keys_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_transfer_keys
- ADD CONSTRAINT refresh_transfer_keys_pkey PRIMARY KEY (melt_serial_id);
-
-
---
--- Name: refresh_transfer_keys_default refresh_transfer_keys_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_transfer_keys_default
- ADD CONSTRAINT refresh_transfer_keys_default_pkey PRIMARY KEY (melt_serial_id);
-
-
---
--- Name: refresh_transfer_keys_default refresh_transfer_keys_default_rtc_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refresh_transfer_keys_default
- ADD CONSTRAINT refresh_transfer_keys_default_rtc_serial_key UNIQUE (rtc_serial);
-
-
---
--- Name: refunds_default refunds_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refunds_default
- ADD CONSTRAINT refunds_default_pkey PRIMARY KEY (deposit_serial_id, rtransaction_id);
-
-
---
--- Name: refunds_default refunds_default_refund_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.refunds_default
- ADD CONSTRAINT refunds_default_refund_serial_id_key UNIQUE (refund_serial_id);
-
-
---
--- Name: reserves_close_default reserves_close_default_close_uuid_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_close_default
- ADD CONSTRAINT reserves_close_default_close_uuid_pkey PRIMARY KEY (close_uuid);
-
-
---
--- Name: reserves reserves_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves
- ADD CONSTRAINT reserves_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_default reserves_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_default
- ADD CONSTRAINT reserves_default_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_in reserves_in_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_in
- ADD CONSTRAINT reserves_in_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_in_default reserves_in_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_in_default
- ADD CONSTRAINT reserves_in_default_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_in_default reserves_in_default_reserve_in_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_in_default
- ADD CONSTRAINT reserves_in_default_reserve_in_serial_id_key UNIQUE (reserve_in_serial_id);
-
-
---
--- Name: reserves_out reserves_out_h_blind_ev_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_out
- ADD CONSTRAINT reserves_out_h_blind_ev_key UNIQUE (h_blind_ev);
-
-
---
--- Name: reserves_out_default reserves_out_default_h_blind_ev_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_out_default
- ADD CONSTRAINT reserves_out_default_h_blind_ev_key UNIQUE (h_blind_ev);
-
-
---
--- Name: reserves_out_default reserves_out_default_reserve_out_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.reserves_out_default
- ADD CONSTRAINT reserves_out_default_reserve_out_serial_id_key UNIQUE (reserve_out_serial_id);
-
-
---
--- Name: revolving_work_shards revolving_work_shards_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.revolving_work_shards
- ADD CONSTRAINT revolving_work_shards_pkey PRIMARY KEY (job_name, start_row);
-
-
---
--- Name: revolving_work_shards revolving_work_shards_shard_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.revolving_work_shards
- ADD CONSTRAINT revolving_work_shards_shard_serial_id_key UNIQUE (shard_serial_id);
-
-
---
--- Name: signkey_revocations signkey_revocations_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.signkey_revocations
- ADD CONSTRAINT signkey_revocations_pkey PRIMARY KEY (esk_serial);
-
-
---
--- Name: signkey_revocations signkey_revocations_signkey_revocations_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.signkey_revocations
- ADD CONSTRAINT signkey_revocations_signkey_revocations_serial_id_key UNIQUE (signkey_revocations_serial_id);
-
-
---
--- Name: wad_in_entries wad_in_entries_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_in_entries
- ADD CONSTRAINT wad_in_entries_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_in_entries_default wad_in_entries_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_in_entries_default
- ADD CONSTRAINT wad_in_entries_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_in_entries_default wad_in_entries_default_wad_in_entry_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_in_entries_default
- ADD CONSTRAINT wad_in_entries_default_wad_in_entry_serial_id_key UNIQUE (wad_in_entry_serial_id);
-
-
---
--- Name: wad_out_entries wad_out_entries_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_out_entries
- ADD CONSTRAINT wad_out_entries_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_out_entries_default wad_out_entries_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_out_entries_default
- ADD CONSTRAINT wad_out_entries_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_out_entries_default wad_out_entries_default_wad_out_entry_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wad_out_entries_default
- ADD CONSTRAINT wad_out_entries_default_wad_out_entry_serial_id_key UNIQUE (wad_out_entry_serial_id);
-
-
---
--- Name: wads_in wads_in_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in
- ADD CONSTRAINT wads_in_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_in_default wads_in_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in_default
- ADD CONSTRAINT wads_in_default_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_in wads_in_wad_id_origin_exchange_url_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in
- ADD CONSTRAINT wads_in_wad_id_origin_exchange_url_key UNIQUE (wad_id, origin_exchange_url);
-
-
---
--- Name: wads_in_default wads_in_default_wad_id_origin_exchange_url_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in_default
- ADD CONSTRAINT wads_in_default_wad_id_origin_exchange_url_key UNIQUE (wad_id, origin_exchange_url);
-
-
---
--- Name: wads_in_default wads_in_default_wad_in_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in_default
- ADD CONSTRAINT wads_in_default_wad_in_serial_id_key UNIQUE (wad_in_serial_id);
-
-
---
--- Name: wads_in_default wads_in_default_wad_is_origin_exchange_url_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_in_default
- ADD CONSTRAINT wads_in_default_wad_is_origin_exchange_url_key UNIQUE (wad_id, origin_exchange_url);
-
-
---
--- Name: wads_out wads_out_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_out
- ADD CONSTRAINT wads_out_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_out_default wads_out_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_out_default
- ADD CONSTRAINT wads_out_default_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_out_default wads_out_default_wad_out_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wads_out_default
- ADD CONSTRAINT wads_out_default_wad_out_serial_id_key UNIQUE (wad_out_serial_id);
-
-
---
--- Name: wire_accounts wire_accounts_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_accounts
- ADD CONSTRAINT wire_accounts_pkey PRIMARY KEY (payto_uri);
-
-
---
--- Name: wire_fee wire_fee_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_fee
- ADD CONSTRAINT wire_fee_pkey PRIMARY KEY (wire_method, start_date);
-
-
---
--- Name: wire_fee wire_fee_wire_fee_serial_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_fee
- ADD CONSTRAINT wire_fee_wire_fee_serial_key UNIQUE (wire_fee_serial);
-
-
---
--- Name: wire_out_default wire_out_default_wireout_uuid_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_out_default
- ADD CONSTRAINT wire_out_default_wireout_uuid_pkey PRIMARY KEY (wireout_uuid);
-
-
---
--- Name: wire_out wire_out_wtid_raw_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_out
- ADD CONSTRAINT wire_out_wtid_raw_key UNIQUE (wtid_raw);
-
-
---
--- Name: wire_out_default wire_out_default_wtid_raw_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_out_default
- ADD CONSTRAINT wire_out_default_wtid_raw_key UNIQUE (wtid_raw);
-
-
---
--- Name: wire_targets wire_targets_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_targets
- ADD CONSTRAINT wire_targets_pkey PRIMARY KEY (wire_target_h_payto);
-
-
---
--- Name: wire_targets_default wire_targets_default_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_targets_default
- ADD CONSTRAINT wire_targets_default_pkey PRIMARY KEY (wire_target_h_payto);
-
-
---
--- Name: wire_targets_default wire_targets_default_wire_target_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.wire_targets_default
- ADD CONSTRAINT wire_targets_default_wire_target_serial_id_key UNIQUE (wire_target_serial_id);
-
-
---
--- Name: work_shards work_shards_pkey; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.work_shards
- ADD CONSTRAINT work_shards_pkey PRIMARY KEY (job_name, start_row);
-
-
---
--- Name: work_shards work_shards_shard_serial_id_key; Type: CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.work_shards
- ADD CONSTRAINT work_shards_shard_serial_id_key UNIQUE (shard_serial_id);
-
-
---
--- Name: merchant_accounts merchant_accounts_h_wire_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_accounts
- ADD CONSTRAINT merchant_accounts_h_wire_key UNIQUE (h_wire);
-
-
---
--- Name: merchant_accounts merchant_accounts_merchant_serial_payto_uri_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_accounts
- ADD CONSTRAINT merchant_accounts_merchant_serial_payto_uri_key UNIQUE (merchant_serial, payto_uri);
-
-
---
--- Name: merchant_accounts merchant_accounts_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_accounts
- ADD CONSTRAINT merchant_accounts_pkey PRIMARY KEY (account_serial);
-
-
---
--- Name: merchant_contract_terms merchant_contract_terms_merchant_serial_h_contract_terms_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_contract_terms
- ADD CONSTRAINT merchant_contract_terms_merchant_serial_h_contract_terms_key UNIQUE (merchant_serial, h_contract_terms);
-
-
---
--- Name: merchant_contract_terms merchant_contract_terms_merchant_serial_order_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_contract_terms
- ADD CONSTRAINT merchant_contract_terms_merchant_serial_order_id_key UNIQUE (merchant_serial, order_id);
-
-
---
--- Name: merchant_contract_terms merchant_contract_terms_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_contract_terms
- ADD CONSTRAINT merchant_contract_terms_pkey PRIMARY KEY (order_serial);
-
-
---
--- Name: merchant_deposit_to_transfer merchant_deposit_to_transfer_deposit_serial_credit_serial_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposit_to_transfer
- ADD CONSTRAINT merchant_deposit_to_transfer_deposit_serial_credit_serial_key UNIQUE (deposit_serial, credit_serial);
-
-
---
--- Name: merchant_deposits merchant_deposits_order_serial_coin_pub_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposits
- ADD CONSTRAINT merchant_deposits_order_serial_coin_pub_key UNIQUE (order_serial, coin_pub);
-
-
---
--- Name: merchant_deposits merchant_deposits_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposits
- ADD CONSTRAINT merchant_deposits_pkey PRIMARY KEY (deposit_serial);
-
-
---
--- Name: merchant_exchange_signing_keys merchant_exchange_signing_key_exchange_pub_start_date_maste_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_exchange_signing_keys
- ADD CONSTRAINT merchant_exchange_signing_key_exchange_pub_start_date_maste_key UNIQUE (exchange_pub, start_date, master_pub);
-
-
---
--- Name: merchant_exchange_signing_keys merchant_exchange_signing_keys_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_exchange_signing_keys
- ADD CONSTRAINT merchant_exchange_signing_keys_pkey PRIMARY KEY (signkey_serial);
-
-
---
--- Name: merchant_exchange_wire_fees merchant_exchange_wire_fees_master_pub_h_wire_method_start__key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_exchange_wire_fees
- ADD CONSTRAINT merchant_exchange_wire_fees_master_pub_h_wire_method_start__key UNIQUE (master_pub, h_wire_method, start_date);
-
-
---
--- Name: merchant_exchange_wire_fees merchant_exchange_wire_fees_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_exchange_wire_fees
- ADD CONSTRAINT merchant_exchange_wire_fees_pkey PRIMARY KEY (wirefee_serial);
-
-
---
--- Name: merchant_instances merchant_instances_merchant_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_instances
- ADD CONSTRAINT merchant_instances_merchant_id_key UNIQUE (merchant_id);
-
-
---
--- Name: merchant_instances merchant_instances_merchant_pub_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_instances
- ADD CONSTRAINT merchant_instances_merchant_pub_key UNIQUE (merchant_pub);
-
-
---
--- Name: merchant_instances merchant_instances_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_instances
- ADD CONSTRAINT merchant_instances_pkey PRIMARY KEY (merchant_serial);
-
-
---
--- Name: merchant_inventory merchant_inventory_merchant_serial_product_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_inventory
- ADD CONSTRAINT merchant_inventory_merchant_serial_product_id_key UNIQUE (merchant_serial, product_id);
-
-
---
--- Name: merchant_inventory merchant_inventory_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_inventory
- ADD CONSTRAINT merchant_inventory_pkey PRIMARY KEY (product_serial);
-
-
---
--- Name: merchant_keys merchant_keys_merchant_priv_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_keys
- ADD CONSTRAINT merchant_keys_merchant_priv_key UNIQUE (merchant_priv);
-
-
---
--- Name: merchant_keys merchant_keys_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_keys
- ADD CONSTRAINT merchant_keys_pkey PRIMARY KEY (merchant_serial);
-
-
---
--- Name: merchant_kyc merchant_kyc_kyc_serial_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_kyc
- ADD CONSTRAINT merchant_kyc_kyc_serial_id_key UNIQUE (kyc_serial_id);
-
-
---
--- Name: merchant_kyc merchant_kyc_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_kyc
- ADD CONSTRAINT merchant_kyc_pkey PRIMARY KEY (account_serial, exchange_url);
-
-
---
--- Name: merchant_orders merchant_orders_merchant_serial_order_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_orders
- ADD CONSTRAINT merchant_orders_merchant_serial_order_id_key UNIQUE (merchant_serial, order_id);
-
-
---
--- Name: merchant_orders merchant_orders_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_orders
- ADD CONSTRAINT merchant_orders_pkey PRIMARY KEY (order_serial);
-
-
---
--- Name: merchant_refund_proofs merchant_refund_proofs_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refund_proofs
- ADD CONSTRAINT merchant_refund_proofs_pkey PRIMARY KEY (refund_serial);
-
-
---
--- Name: merchant_refunds merchant_refunds_order_serial_coin_pub_rtransaction_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refunds
- ADD CONSTRAINT merchant_refunds_order_serial_coin_pub_rtransaction_id_key UNIQUE (order_serial, coin_pub, rtransaction_id);
-
-
---
--- Name: merchant_refunds merchant_refunds_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refunds
- ADD CONSTRAINT merchant_refunds_pkey PRIMARY KEY (refund_serial);
-
-
---
--- Name: merchant_tip_pickup_signatures merchant_tip_pickup_signatures_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_pickup_signatures
- ADD CONSTRAINT merchant_tip_pickup_signatures_pkey PRIMARY KEY (pickup_serial, coin_offset);
-
-
---
--- Name: merchant_tip_pickups merchant_tip_pickups_pickup_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_pickups
- ADD CONSTRAINT merchant_tip_pickups_pickup_id_key UNIQUE (pickup_id);
-
-
---
--- Name: merchant_tip_pickups merchant_tip_pickups_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_pickups
- ADD CONSTRAINT merchant_tip_pickups_pkey PRIMARY KEY (pickup_serial);
-
-
---
--- Name: merchant_tip_reserve_keys merchant_tip_reserve_keys_reserve_priv_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserve_keys
- ADD CONSTRAINT merchant_tip_reserve_keys_reserve_priv_key UNIQUE (reserve_priv);
-
-
---
--- Name: merchant_tip_reserve_keys merchant_tip_reserve_keys_reserve_serial_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserve_keys
- ADD CONSTRAINT merchant_tip_reserve_keys_reserve_serial_key UNIQUE (reserve_serial);
-
-
---
--- Name: merchant_tip_reserves merchant_tip_reserves_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserves
- ADD CONSTRAINT merchant_tip_reserves_pkey PRIMARY KEY (reserve_serial);
-
-
---
--- Name: merchant_tip_reserves merchant_tip_reserves_reserve_pub_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserves
- ADD CONSTRAINT merchant_tip_reserves_reserve_pub_key UNIQUE (reserve_pub);
-
-
---
--- Name: merchant_tips merchant_tips_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tips
- ADD CONSTRAINT merchant_tips_pkey PRIMARY KEY (tip_serial);
-
-
---
--- Name: merchant_tips merchant_tips_tip_id_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tips
- ADD CONSTRAINT merchant_tips_tip_id_key UNIQUE (tip_id);
-
-
---
--- Name: merchant_transfer_signatures merchant_transfer_signatures_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_signatures
- ADD CONSTRAINT merchant_transfer_signatures_pkey PRIMARY KEY (credit_serial);
-
-
---
--- Name: merchant_transfer_to_coin merchant_transfer_to_coin_deposit_serial_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_to_coin
- ADD CONSTRAINT merchant_transfer_to_coin_deposit_serial_key UNIQUE (deposit_serial);
-
-
---
--- Name: merchant_transfers merchant_transfers_pkey; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfers
- ADD CONSTRAINT merchant_transfers_pkey PRIMARY KEY (credit_serial);
-
-
---
--- Name: merchant_transfers merchant_transfers_wtid_exchange_url_account_serial_key; Type: CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfers
- ADD CONSTRAINT merchant_transfers_wtid_exchange_url_account_serial_key UNIQUE (wtid, exchange_url, account_serial);
-
-
---
--- Name: auditor_historic_reserve_summary_by_master_pub_start_date; Type: INDEX; Schema: auditor; Owner: -
---
-
-CREATE INDEX auditor_historic_reserve_summary_by_master_pub_start_date ON auditor.auditor_historic_reserve_summary USING btree (master_pub, start_date);
-
-
---
--- Name: auditor_reserves_by_reserve_pub; Type: INDEX; Schema: auditor; Owner: -
---
-
-CREATE INDEX auditor_reserves_by_reserve_pub ON auditor.auditor_reserves USING btree (reserve_pub);
-
-
---
--- Name: account_merges_by_reserve_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX account_merges_by_reserve_pub ON ONLY exchange.account_merges USING btree (reserve_pub);
-
-
---
--- Name: account_merges_default_reserve_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX account_merges_default_reserve_pub_idx ON exchange.account_merges_default USING btree (reserve_pub);
-
-
---
--- Name: aggregation_tracking_by_wtid_raw_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX aggregation_tracking_by_wtid_raw_index ON ONLY exchange.aggregation_tracking USING btree (wtid_raw);
-
-
---
--- Name: INDEX aggregation_tracking_by_wtid_raw_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.aggregation_tracking_by_wtid_raw_index IS 'for lookup_transactions';
-
-
---
--- Name: aggregation_tracking_default_wtid_raw_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX aggregation_tracking_default_wtid_raw_idx ON exchange.aggregation_tracking_default USING btree (wtid_raw);
-
-
---
--- Name: denominations_by_expire_legal_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX denominations_by_expire_legal_index ON exchange.denominations USING btree (expire_legal);
-
-
---
--- Name: deposits_by_coin_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_by_coin_pub_index ON ONLY exchange.deposits USING btree (coin_pub);
-
-
---
--- Name: deposits_by_ready_main_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_by_ready_main_index ON ONLY exchange.deposits_by_ready USING btree (wire_deadline, shard, coin_pub);
-
-
---
--- Name: deposits_by_ready_default_wire_deadline_shard_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_by_ready_default_wire_deadline_shard_coin_pub_idx ON exchange.deposits_by_ready_default USING btree (wire_deadline, shard, coin_pub);
-
-
---
--- Name: deposits_default_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_default_coin_pub_idx ON exchange.deposits_default USING btree (coin_pub);
-
-
---
--- Name: deposits_for_matching_main_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_for_matching_main_index ON ONLY exchange.deposits_for_matching USING btree (refund_deadline, merchant_pub, coin_pub);
-
-
---
--- Name: deposits_for_matching_default_refund_deadline_merchant_pub__idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX deposits_for_matching_default_refund_deadline_merchant_pub__idx ON exchange.deposits_for_matching_default USING btree (refund_deadline, merchant_pub, coin_pub);
-
-
---
--- Name: global_fee_by_end_date_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX global_fee_by_end_date_index ON exchange.global_fee USING btree (end_date);
-
-
---
--- Name: legitimization_processes_default_by_provider_and_legi_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX legitimization_processes_default_by_provider_and_legi_index ON exchange.legitimization_processes_default USING btree (provider_section, provider_legitimization_id);
-
-
---
--- Name: INDEX legitimization_processes_default_by_provider_and_legi_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.legitimization_processes_default_by_provider_and_legi_index IS 'used (rarely) in kyc_provider_account_lookup';
-
-
---
--- Name: partner_accounts_index_by_partner_and_time; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX partner_accounts_index_by_partner_and_time ON exchange.partner_accounts USING btree (partner_serial_id, last_seen);
-
-
---
--- Name: partner_by_wad_time; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX partner_by_wad_time ON exchange.partners USING btree (next_wad);
-
-
---
--- Name: prewire_by_failed_finished_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX prewire_by_failed_finished_index ON ONLY exchange.prewire USING btree (failed, finished);
-
-
---
--- Name: INDEX prewire_by_failed_finished_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.prewire_by_failed_finished_index IS 'for wire_prepare_data_get';
-
-
---
--- Name: prewire_by_finished_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX prewire_by_finished_index ON ONLY exchange.prewire USING btree (finished);
-
-
---
--- Name: INDEX prewire_by_finished_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.prewire_by_finished_index IS 'for gc_prewire';
-
-
---
--- Name: prewire_default_failed_finished_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX prewire_default_failed_finished_idx ON exchange.prewire_default USING btree (failed, finished);
-
-
---
--- Name: prewire_default_finished_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX prewire_default_finished_idx ON exchange.prewire_default USING btree (finished);
-
-
---
--- Name: purse_action_by_target; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_action_by_target ON exchange.purse_actions USING btree (partner_serial_id, action_date);
-
-
---
--- Name: purse_deposits_by_coin_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_deposits_by_coin_pub ON ONLY exchange.purse_deposits USING btree (coin_pub);
-
-
---
--- Name: purse_deposits_default_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_deposits_default_coin_pub_idx ON exchange.purse_deposits_default USING btree (coin_pub);
-
-
---
--- Name: purse_merges_reserve_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_merges_reserve_pub ON ONLY exchange.purse_merges USING btree (reserve_pub);
-
-
---
--- Name: INDEX purse_merges_reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.purse_merges_reserve_pub IS 'needed in reserve history computation';
-
-
---
--- Name: purse_merges_default_reserve_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_merges_default_reserve_pub_idx ON exchange.purse_merges_default USING btree (reserve_pub);
-
-
---
--- Name: purse_requests_merge_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_requests_merge_pub ON ONLY exchange.purse_requests USING btree (merge_pub);
-
-
---
--- Name: purse_requests_default_merge_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_requests_default_merge_pub_idx ON exchange.purse_requests_default USING btree (merge_pub);
-
-
---
--- Name: purse_requests_purse_expiration; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_requests_purse_expiration ON ONLY exchange.purse_requests USING btree (purse_expiration);
-
-
---
--- Name: purse_requests_default_purse_expiration_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX purse_requests_default_purse_expiration_idx ON exchange.purse_requests_default USING btree (purse_expiration);
-
-
---
--- Name: recoup_by_coin_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_by_coin_pub_index ON ONLY exchange.recoup USING btree (coin_pub);
-
-
---
--- Name: recoup_by_reserve_main_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_by_reserve_main_index ON ONLY exchange.recoup_by_reserve USING btree (reserve_out_serial_id);
-
-
---
--- Name: recoup_by_reserve_default_reserve_out_serial_id_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_by_reserve_default_reserve_out_serial_id_idx ON exchange.recoup_by_reserve_default USING btree (reserve_out_serial_id);
-
-
---
--- Name: recoup_default_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_default_coin_pub_idx ON exchange.recoup_default USING btree (coin_pub);
-
-
---
--- Name: recoup_refresh_by_coin_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_refresh_by_coin_pub_index ON ONLY exchange.recoup_refresh USING btree (coin_pub);
-
-
---
--- Name: recoup_refresh_by_rrc_serial_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_refresh_by_rrc_serial_index ON ONLY exchange.recoup_refresh USING btree (rrc_serial);
-
-
---
--- Name: recoup_refresh_default_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_refresh_default_coin_pub_idx ON exchange.recoup_refresh_default USING btree (coin_pub);
-
-
---
--- Name: recoup_refresh_default_rrc_serial_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX recoup_refresh_default_rrc_serial_idx ON exchange.recoup_refresh_default USING btree (rrc_serial);
-
-
---
--- Name: refresh_commitments_by_old_coin_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refresh_commitments_by_old_coin_pub_index ON ONLY exchange.refresh_commitments USING btree (old_coin_pub);
-
-
---
--- Name: refresh_commitments_default_old_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refresh_commitments_default_old_coin_pub_idx ON exchange.refresh_commitments_default USING btree (old_coin_pub);
-
-
---
--- Name: refresh_revealed_coins_coins_by_melt_serial_id_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refresh_revealed_coins_coins_by_melt_serial_id_index ON ONLY exchange.refresh_revealed_coins USING btree (melt_serial_id);
-
-
---
--- Name: refresh_revealed_coins_default_melt_serial_id_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refresh_revealed_coins_default_melt_serial_id_idx ON exchange.refresh_revealed_coins_default USING btree (melt_serial_id);
-
-
---
--- Name: refunds_by_coin_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refunds_by_coin_pub_index ON ONLY exchange.refunds USING btree (coin_pub);
-
-
---
--- Name: refunds_default_coin_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX refunds_default_coin_pub_idx ON exchange.refunds_default USING btree (coin_pub);
-
-
---
--- Name: reserves_by_expiration_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_by_expiration_index ON ONLY exchange.reserves USING btree (expiration_date, current_balance_val, current_balance_frac);
-
-
---
--- Name: INDEX reserves_by_expiration_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.reserves_by_expiration_index IS 'used in get_expired_reserves';
-
-
---
--- Name: reserves_by_gc_date_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_by_gc_date_index ON ONLY exchange.reserves USING btree (gc_date);
-
-
---
--- Name: INDEX reserves_by_gc_date_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.reserves_by_gc_date_index IS 'for reserve garbage collection';
-
-
---
--- Name: reserves_by_reserve_uuid_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_by_reserve_uuid_index ON ONLY exchange.reserves USING btree (reserve_uuid);
-
-
---
--- Name: reserves_close_by_close_uuid_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_close_by_close_uuid_index ON ONLY exchange.reserves_close USING btree (close_uuid);
-
-
---
--- Name: reserves_close_by_reserve_pub_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_close_by_reserve_pub_index ON ONLY exchange.reserves_close USING btree (reserve_pub);
-
-
---
--- Name: reserves_close_default_close_uuid_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_close_default_close_uuid_idx ON exchange.reserves_close_default USING btree (close_uuid);
-
-
---
--- Name: reserves_close_default_reserve_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_close_default_reserve_pub_idx ON exchange.reserves_close_default USING btree (reserve_pub);
-
-
---
--- Name: reserves_default_expiration_date_current_balance_val_curren_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_default_expiration_date_current_balance_val_curren_idx ON exchange.reserves_default USING btree (expiration_date, current_balance_val, current_balance_frac);
-
-
---
--- Name: reserves_default_gc_date_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_default_gc_date_idx ON exchange.reserves_default USING btree (gc_date);
-
-
---
--- Name: reserves_default_reserve_uuid_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_default_reserve_uuid_idx ON exchange.reserves_default USING btree (reserve_uuid);
-
-
---
--- Name: reserves_in_by_exch_accnt_reserve_in_serial_id_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_by_exch_accnt_reserve_in_serial_id_idx ON ONLY exchange.reserves_in USING btree (exchange_account_section, reserve_in_serial_id DESC);
-
-
---
--- Name: reserves_in_by_exch_accnt_section_execution_date_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_by_exch_accnt_section_execution_date_idx ON ONLY exchange.reserves_in USING btree (exchange_account_section, execution_date);
-
-
---
--- Name: reserves_in_by_reserve_in_serial_id_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_by_reserve_in_serial_id_index ON ONLY exchange.reserves_in USING btree (reserve_in_serial_id);
-
-
---
--- Name: reserves_in_default_exchange_account_section_execution_date_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_default_exchange_account_section_execution_date_idx ON exchange.reserves_in_default USING btree (exchange_account_section, execution_date);
-
-
---
--- Name: reserves_in_default_exchange_account_section_reserve_in_ser_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_default_exchange_account_section_reserve_in_ser_idx ON exchange.reserves_in_default USING btree (exchange_account_section, reserve_in_serial_id DESC);
-
-
---
--- Name: reserves_in_default_reserve_in_serial_id_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_in_default_reserve_in_serial_id_idx ON exchange.reserves_in_default USING btree (reserve_in_serial_id);
-
-
---
--- Name: reserves_out_by_reserve_main_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_main_index ON ONLY exchange.reserves_out_by_reserve USING btree (reserve_uuid);
-
-
---
--- Name: reserves_out_by_reserve_default_reserve_uuid_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_default_reserve_uuid_idx ON exchange.reserves_out_by_reserve_default USING btree (reserve_uuid);
-
-
---
--- Name: reserves_out_by_reserve_out_serial_id_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_out_serial_id_index ON ONLY exchange.reserves_out USING btree (reserve_out_serial_id);
-
-
---
--- Name: reserves_out_by_reserve_uuid_and_execution_date_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_uuid_and_execution_date_index ON ONLY exchange.reserves_out USING btree (reserve_uuid, execution_date);
-
-
---
--- Name: INDEX reserves_out_by_reserve_uuid_and_execution_date_index; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.reserves_out_by_reserve_uuid_and_execution_date_index IS 'for get_reserves_out and exchange_do_withdraw_limit_check';
-
-
---
--- Name: reserves_out_default_reserve_out_serial_id_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_default_reserve_out_serial_id_idx ON exchange.reserves_out_default USING btree (reserve_out_serial_id);
-
-
---
--- Name: reserves_out_default_reserve_uuid_execution_date_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX reserves_out_default_reserve_uuid_execution_date_idx ON exchange.reserves_out_default USING btree (reserve_uuid, execution_date);
-
-
---
--- Name: revolving_work_shards_by_job_name_active_last_attempt_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX revolving_work_shards_by_job_name_active_last_attempt_index ON exchange.revolving_work_shards USING btree (job_name, active, last_attempt);
-
-
---
--- Name: wad_in_entries_reserve_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wad_in_entries_reserve_pub ON ONLY exchange.wad_in_entries USING btree (reserve_pub);
-
-
---
--- Name: INDEX wad_in_entries_reserve_pub; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON INDEX exchange.wad_in_entries_reserve_pub IS 'needed in reserve history computation';
-
-
---
--- Name: wad_in_entries_default_reserve_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wad_in_entries_default_reserve_pub_idx ON exchange.wad_in_entries_default USING btree (reserve_pub);
-
-
---
--- Name: wad_out_entries_by_reserve_pub; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wad_out_entries_by_reserve_pub ON ONLY exchange.wad_out_entries USING btree (reserve_pub);
-
-
---
--- Name: wad_out_entries_default_reserve_pub_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wad_out_entries_default_reserve_pub_idx ON exchange.wad_out_entries_default USING btree (reserve_pub);
-
-
---
--- Name: wire_fee_by_end_date_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wire_fee_by_end_date_index ON exchange.wire_fee USING btree (end_date);
-
-
---
--- Name: wire_out_by_wire_target_h_payto_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wire_out_by_wire_target_h_payto_index ON ONLY exchange.wire_out USING btree (wire_target_h_payto);
-
-
---
--- Name: wire_out_default_wire_target_h_payto_idx; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX wire_out_default_wire_target_h_payto_idx ON exchange.wire_out_default USING btree (wire_target_h_payto);
-
-
---
--- Name: work_shards_by_job_name_completed_last_attempt_index; Type: INDEX; Schema: exchange; Owner: -
---
-
-CREATE INDEX work_shards_by_job_name_completed_last_attempt_index ON exchange.work_shards USING btree (job_name, completed, last_attempt);
-
-
---
--- Name: merchant_contract_terms_by_expiration; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_expiration ON merchant.merchant_contract_terms USING btree (paid, pay_deadline);
-
-
---
--- Name: INDEX merchant_contract_terms_by_expiration; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON INDEX merchant.merchant_contract_terms_by_expiration IS 'for unlock_contracts';
-
-
---
--- Name: merchant_contract_terms_by_merchant_and_expiration; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_merchant_and_expiration ON merchant.merchant_contract_terms USING btree (merchant_serial, pay_deadline);
-
-
---
--- Name: INDEX merchant_contract_terms_by_merchant_and_expiration; Type: COMMENT; Schema: merchant; Owner: -
---
-
-COMMENT ON INDEX merchant.merchant_contract_terms_by_merchant_and_expiration IS 'for delete_contract_terms';
-
-
---
--- Name: merchant_contract_terms_by_merchant_and_payment; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_merchant_and_payment ON merchant.merchant_contract_terms USING btree (merchant_serial, paid);
-
-
---
--- Name: merchant_contract_terms_by_merchant_session_and_fulfillment; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_merchant_session_and_fulfillment ON merchant.merchant_contract_terms USING btree (merchant_serial, fulfillment_url, session_id);
-
-
---
--- Name: merchant_inventory_locks_by_expiration; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_inventory_locks_by_expiration ON merchant.merchant_inventory_locks USING btree (expiration);
-
-
---
--- Name: merchant_inventory_locks_by_uuid; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_inventory_locks_by_uuid ON merchant.merchant_inventory_locks USING btree (lock_uuid);
-
-
---
--- Name: merchant_orders_by_creation_time; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_orders_by_creation_time ON merchant.merchant_orders USING btree (creation_time);
-
-
---
--- Name: merchant_orders_by_expiration; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_orders_by_expiration ON merchant.merchant_orders USING btree (pay_deadline);
-
-
---
--- Name: merchant_orders_locks_by_order_and_product; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_orders_locks_by_order_and_product ON merchant.merchant_order_locks USING btree (order_serial, product_serial);
-
-
---
--- Name: merchant_refunds_by_coin_and_order; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_refunds_by_coin_and_order ON merchant.merchant_refunds USING btree (coin_pub, order_serial);
-
-
---
--- Name: merchant_tip_reserves_by_exchange_balance; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_tip_reserves_by_exchange_balance ON merchant.merchant_tip_reserves USING btree (exchange_initial_balance_val, exchange_initial_balance_frac);
-
-
---
--- Name: merchant_tip_reserves_by_merchant_serial_and_creation_time; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_tip_reserves_by_merchant_serial_and_creation_time ON merchant.merchant_tip_reserves USING btree (merchant_serial, creation_time);
-
-
---
--- Name: merchant_tip_reserves_by_reserve_pub_and_merchant_serial; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_tip_reserves_by_reserve_pub_and_merchant_serial ON merchant.merchant_tip_reserves USING btree (reserve_pub, merchant_serial, creation_time);
-
-
---
--- Name: merchant_tips_by_pickup_and_expiration; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_tips_by_pickup_and_expiration ON merchant.merchant_tips USING btree (was_picked_up, expiration);
-
-
---
--- Name: merchant_transfers_by_credit; Type: INDEX; Schema: merchant; Owner: -
---
-
-CREATE INDEX merchant_transfers_by_credit ON merchant.merchant_transfer_to_coin USING btree (credit_serial);
-
-
---
--- Name: account_merges_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.account_merges_pkey ATTACH PARTITION exchange.account_merges_default_pkey;
-
-
---
--- Name: account_merges_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.account_merges_by_reserve_pub ATTACH PARTITION exchange.account_merges_default_reserve_pub_idx;
-
-
---
--- Name: aggregation_tracking_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.aggregation_tracking_pkey ATTACH PARTITION exchange.aggregation_tracking_default_pkey;
-
-
---
--- Name: aggregation_tracking_default_wtid_raw_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.aggregation_tracking_by_wtid_raw_index ATTACH PARTITION exchange.aggregation_tracking_default_wtid_raw_idx;
-
-
---
--- Name: close_requests_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.close_requests_pkey ATTACH PARTITION exchange.close_requests_default_pkey;
-
-
---
--- Name: contracts_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.contracts_pkey ATTACH PARTITION exchange.contracts_default_pkey;
-
-
---
--- Name: cs_nonce_locks_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.cs_nonce_locks_pkey ATTACH PARTITION exchange.cs_nonce_locks_default_pkey;
-
-
---
--- Name: deposits_by_ready_default_wire_deadline_shard_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.deposits_by_ready_main_index ATTACH PARTITION exchange.deposits_by_ready_default_wire_deadline_shard_coin_pub_idx;
-
-
---
--- Name: deposits_default_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.deposits_by_coin_pub_index ATTACH PARTITION exchange.deposits_default_coin_pub_idx;
-
-
---
--- Name: deposits_for_matching_default_refund_deadline_merchant_pub__idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.deposits_for_matching_main_index ATTACH PARTITION exchange.deposits_for_matching_default_refund_deadline_merchant_pub__idx;
-
-
---
--- Name: extension_details_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.extension_details_pkey ATTACH PARTITION exchange.extension_details_default_pkey;
-
-
---
--- Name: history_requests_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.history_requests_pkey ATTACH PARTITION exchange.history_requests_default_pkey;
-
-
---
--- Name: known_coins_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.known_coins_pkey ATTACH PARTITION exchange.known_coins_default_pkey;
-
-
---
--- Name: legitimization_processes_default_h_payto_provider_section_key; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.legitimization_processes_h_payto_provider_section_key ATTACH PARTITION exchange.legitimization_processes_default_h_payto_provider_section_key;
-
-
---
--- Name: legitimization_requirements_default_h_payto_required_checks_key; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.legitimization_requirements_h_payto_required_checks_key ATTACH PARTITION exchange.legitimization_requirements_default_h_payto_required_checks_key;
-
-
---
--- Name: prewire_default_failed_finished_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.prewire_by_failed_finished_index ATTACH PARTITION exchange.prewire_default_failed_finished_idx;
-
-
---
--- Name: prewire_default_finished_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.prewire_by_finished_index ATTACH PARTITION exchange.prewire_default_finished_idx;
-
-
---
--- Name: prewire_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.prewire_pkey ATTACH PARTITION exchange.prewire_default_pkey;
-
-
---
--- Name: purse_deposits_default_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_deposits_by_coin_pub ATTACH PARTITION exchange.purse_deposits_default_coin_pub_idx;
-
-
---
--- Name: purse_deposits_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_deposits_pkey ATTACH PARTITION exchange.purse_deposits_default_pkey;
-
-
---
--- Name: purse_merges_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_merges_pkey ATTACH PARTITION exchange.purse_merges_default_pkey;
-
-
---
--- Name: purse_merges_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_merges_reserve_pub ATTACH PARTITION exchange.purse_merges_default_reserve_pub_idx;
-
-
---
--- Name: purse_refunds_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_refunds_pkey ATTACH PARTITION exchange.purse_refunds_default_pkey;
-
-
---
--- Name: purse_requests_default_merge_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_requests_merge_pub ATTACH PARTITION exchange.purse_requests_default_merge_pub_idx;
-
-
---
--- Name: purse_requests_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_requests_pkey ATTACH PARTITION exchange.purse_requests_default_pkey;
-
-
---
--- Name: purse_requests_default_purse_expiration_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.purse_requests_purse_expiration ATTACH PARTITION exchange.purse_requests_default_purse_expiration_idx;
-
-
---
--- Name: recoup_by_reserve_default_reserve_out_serial_id_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.recoup_by_reserve_main_index ATTACH PARTITION exchange.recoup_by_reserve_default_reserve_out_serial_id_idx;
-
-
---
--- Name: recoup_default_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.recoup_by_coin_pub_index ATTACH PARTITION exchange.recoup_default_coin_pub_idx;
-
-
---
--- Name: recoup_refresh_default_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.recoup_refresh_by_coin_pub_index ATTACH PARTITION exchange.recoup_refresh_default_coin_pub_idx;
-
-
---
--- Name: recoup_refresh_default_rrc_serial_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.recoup_refresh_by_rrc_serial_index ATTACH PARTITION exchange.recoup_refresh_default_rrc_serial_idx;
-
-
---
--- Name: refresh_commitments_default_old_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.refresh_commitments_by_old_coin_pub_index ATTACH PARTITION exchange.refresh_commitments_default_old_coin_pub_idx;
-
-
---
--- Name: refresh_commitments_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.refresh_commitments_pkey ATTACH PARTITION exchange.refresh_commitments_default_pkey;
-
-
---
--- Name: refresh_revealed_coins_default_melt_serial_id_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.refresh_revealed_coins_coins_by_melt_serial_id_index ATTACH PARTITION exchange.refresh_revealed_coins_default_melt_serial_id_idx;
-
-
---
--- Name: refresh_transfer_keys_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.refresh_transfer_keys_pkey ATTACH PARTITION exchange.refresh_transfer_keys_default_pkey;
-
-
---
--- Name: refunds_default_coin_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.refunds_by_coin_pub_index ATTACH PARTITION exchange.refunds_default_coin_pub_idx;
-
-
---
--- Name: reserves_close_default_close_uuid_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_close_by_close_uuid_index ATTACH PARTITION exchange.reserves_close_default_close_uuid_idx;
-
-
---
--- Name: reserves_close_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_close_by_reserve_pub_index ATTACH PARTITION exchange.reserves_close_default_reserve_pub_idx;
-
-
---
--- Name: reserves_default_expiration_date_current_balance_val_curren_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_by_expiration_index ATTACH PARTITION exchange.reserves_default_expiration_date_current_balance_val_curren_idx;
-
-
---
--- Name: reserves_default_gc_date_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_by_gc_date_index ATTACH PARTITION exchange.reserves_default_gc_date_idx;
-
-
---
--- Name: reserves_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_pkey ATTACH PARTITION exchange.reserves_default_pkey;
-
-
---
--- Name: reserves_default_reserve_uuid_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_by_reserve_uuid_index ATTACH PARTITION exchange.reserves_default_reserve_uuid_idx;
-
-
---
--- Name: reserves_in_default_exchange_account_section_execution_date_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_in_by_exch_accnt_section_execution_date_idx ATTACH PARTITION exchange.reserves_in_default_exchange_account_section_execution_date_idx;
-
-
---
--- Name: reserves_in_default_exchange_account_section_reserve_in_ser_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_in_by_exch_accnt_reserve_in_serial_id_idx ATTACH PARTITION exchange.reserves_in_default_exchange_account_section_reserve_in_ser_idx;
-
-
---
--- Name: reserves_in_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_in_pkey ATTACH PARTITION exchange.reserves_in_default_pkey;
-
-
---
--- Name: reserves_in_default_reserve_in_serial_id_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_in_by_reserve_in_serial_id_index ATTACH PARTITION exchange.reserves_in_default_reserve_in_serial_id_idx;
-
-
---
--- Name: reserves_out_by_reserve_default_reserve_uuid_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_out_by_reserve_main_index ATTACH PARTITION exchange.reserves_out_by_reserve_default_reserve_uuid_idx;
-
-
---
--- Name: reserves_out_default_h_blind_ev_key; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_out_h_blind_ev_key ATTACH PARTITION exchange.reserves_out_default_h_blind_ev_key;
-
-
---
--- Name: reserves_out_default_reserve_out_serial_id_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_out_by_reserve_out_serial_id_index ATTACH PARTITION exchange.reserves_out_default_reserve_out_serial_id_idx;
-
-
---
--- Name: reserves_out_default_reserve_uuid_execution_date_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.reserves_out_by_reserve_uuid_and_execution_date_index ATTACH PARTITION exchange.reserves_out_default_reserve_uuid_execution_date_idx;
-
-
---
--- Name: wad_in_entries_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wad_in_entries_pkey ATTACH PARTITION exchange.wad_in_entries_default_pkey;
-
-
---
--- Name: wad_in_entries_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wad_in_entries_reserve_pub ATTACH PARTITION exchange.wad_in_entries_default_reserve_pub_idx;
-
-
---
--- Name: wad_out_entries_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wad_out_entries_pkey ATTACH PARTITION exchange.wad_out_entries_default_pkey;
-
-
---
--- Name: wad_out_entries_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wad_out_entries_by_reserve_pub ATTACH PARTITION exchange.wad_out_entries_default_reserve_pub_idx;
-
-
---
--- Name: wads_in_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wads_in_pkey ATTACH PARTITION exchange.wads_in_default_pkey;
-
-
---
--- Name: wads_in_default_wad_id_origin_exchange_url_key; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wads_in_wad_id_origin_exchange_url_key ATTACH PARTITION exchange.wads_in_default_wad_id_origin_exchange_url_key;
-
-
---
--- Name: wads_out_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wads_out_pkey ATTACH PARTITION exchange.wads_out_default_pkey;
-
-
---
--- Name: wire_out_default_wire_target_h_payto_idx; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wire_out_by_wire_target_h_payto_index ATTACH PARTITION exchange.wire_out_default_wire_target_h_payto_idx;
-
-
---
--- Name: wire_out_default_wtid_raw_key; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wire_out_wtid_raw_key ATTACH PARTITION exchange.wire_out_default_wtid_raw_key;
-
-
---
--- Name: wire_targets_default_pkey; Type: INDEX ATTACH; Schema: exchange; Owner: -
---
-
-ALTER INDEX exchange.wire_targets_pkey ATTACH PARTITION exchange.wire_targets_default_pkey;
-
-
---
--- Name: deposits deposits_on_delete; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER deposits_on_delete AFTER DELETE ON exchange.deposits FOR EACH ROW EXECUTE FUNCTION exchange.deposits_delete_trigger();
-
-
---
--- Name: deposits deposits_on_insert; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER deposits_on_insert AFTER INSERT ON exchange.deposits FOR EACH ROW EXECUTE FUNCTION exchange.deposits_insert_trigger();
-
-
---
--- Name: deposits deposits_on_update; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER deposits_on_update AFTER UPDATE ON exchange.deposits FOR EACH ROW EXECUTE FUNCTION exchange.deposits_update_trigger();
-
-
---
--- Name: purse_requests purse_requests_on_insert; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER purse_requests_on_insert AFTER INSERT ON exchange.purse_requests FOR EACH ROW EXECUTE FUNCTION exchange.purse_requests_insert_trigger();
-
-
---
--- Name: TRIGGER purse_requests_on_insert ON purse_requests; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TRIGGER purse_requests_on_insert ON exchange.purse_requests IS 'Here we install an entry for the purse expiration.';
-
-
---
--- Name: purse_requests purse_requests_on_update; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER purse_requests_on_update BEFORE UPDATE ON exchange.purse_requests FOR EACH ROW EXECUTE FUNCTION exchange.purse_requests_on_update_trigger();
-
-
---
--- Name: TRIGGER purse_requests_on_update ON purse_requests; Type: COMMENT; Schema: exchange; Owner: -
---
-
-COMMENT ON TRIGGER purse_requests_on_update ON exchange.purse_requests IS 'This covers the case where a deposit is made into a purse, which inherently then changes the purse balance via an UPDATE. If the merge is already present and the balance matches the total, we trigger the router. Once the router sets the purse to finished, the trigger will remove the purse from the watchlist of the router.';
-
-
---
--- Name: recoup recoup_on_delete; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER recoup_on_delete AFTER DELETE ON exchange.recoup FOR EACH ROW EXECUTE FUNCTION exchange.recoup_delete_trigger();
-
-
---
--- Name: recoup recoup_on_insert; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER recoup_on_insert AFTER INSERT ON exchange.recoup FOR EACH ROW EXECUTE FUNCTION exchange.recoup_insert_trigger();
-
-
---
--- Name: reserves_out reserves_out_on_delete; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER reserves_out_on_delete AFTER DELETE ON exchange.reserves_out FOR EACH ROW EXECUTE FUNCTION exchange.reserves_out_by_reserve_delete_trigger();
-
-
---
--- Name: reserves_out reserves_out_on_insert; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER reserves_out_on_insert AFTER INSERT ON exchange.reserves_out FOR EACH ROW EXECUTE FUNCTION exchange.reserves_out_by_reserve_insert_trigger();
-
-
---
--- Name: wire_out wire_out_on_delete; Type: TRIGGER; Schema: exchange; Owner: -
---
-
-CREATE TRIGGER wire_out_on_delete AFTER DELETE ON exchange.wire_out FOR EACH ROW EXECUTE FUNCTION exchange.wire_out_delete_trigger();
-
-
---
--- Name: auditor_exchange_signkeys master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_exchange_signkeys
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_reserve master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_reserve
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_aggregation master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_aggregation
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_deposit_confirmation master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_deposit_confirmation
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_coin master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_progress_coin
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: wire_auditor_account_progress master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.wire_auditor_account_progress
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: wire_auditor_progress master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.wire_auditor_progress
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_reserves master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_reserves
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_reserve_balance master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_reserve_balance
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_wire_fee_balance master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_wire_fee_balance
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_balance_summary master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_balance_summary
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_historic_denomination_revenue master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_historic_denomination_revenue
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_historic_reserve_summary master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_historic_reserve_summary
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: deposit_confirmations master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.deposit_confirmations
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_predicted_result master_pub_ref; Type: FK CONSTRAINT; Schema: auditor; Owner: -
---
-
-ALTER TABLE ONLY auditor.auditor_predicted_result
- ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES auditor.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_auditor_uuid_fkey; Type: FK CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditor_denom_sigs
- ADD CONSTRAINT auditor_denom_sigs_auditor_uuid_fkey FOREIGN KEY (auditor_uuid) REFERENCES exchange.auditors(auditor_uuid) ON DELETE CASCADE;
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_denominations_serial_fkey; Type: FK CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.auditor_denom_sigs
- ADD CONSTRAINT auditor_denom_sigs_denominations_serial_fkey FOREIGN KEY (denominations_serial) REFERENCES exchange.denominations(denominations_serial) ON DELETE CASCADE;
-
-
---
--- Name: denomination_revocations denomination_revocations_denominations_serial_fkey; Type: FK CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.denomination_revocations
- ADD CONSTRAINT denomination_revocations_denominations_serial_fkey FOREIGN KEY (denominations_serial) REFERENCES exchange.denominations(denominations_serial) ON DELETE CASCADE;
-
-
---
--- Name: partner_accounts partner_accounts_partner_serial_id_fkey; Type: FK CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.partner_accounts
- ADD CONSTRAINT partner_accounts_partner_serial_id_fkey FOREIGN KEY (partner_serial_id) REFERENCES exchange.partners(partner_serial_id) ON DELETE CASCADE;
-
-
---
--- Name: signkey_revocations signkey_revocations_esk_serial_fkey; Type: FK CONSTRAINT; Schema: exchange; Owner: -
---
-
-ALTER TABLE ONLY exchange.signkey_revocations
- ADD CONSTRAINT signkey_revocations_esk_serial_fkey FOREIGN KEY (esk_serial) REFERENCES exchange.exchange_sign_keys(esk_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_accounts merchant_accounts_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_accounts
- ADD CONSTRAINT merchant_accounts_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_contract_terms merchant_contract_terms_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_contract_terms
- ADD CONSTRAINT merchant_contract_terms_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposit_to_transfer merchant_deposit_to_transfer_credit_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposit_to_transfer
- ADD CONSTRAINT merchant_deposit_to_transfer_credit_serial_fkey FOREIGN KEY (credit_serial) REFERENCES merchant.merchant_transfers(credit_serial);
-
-
---
--- Name: merchant_deposit_to_transfer merchant_deposit_to_transfer_deposit_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposit_to_transfer
- ADD CONSTRAINT merchant_deposit_to_transfer_deposit_serial_fkey FOREIGN KEY (deposit_serial) REFERENCES merchant.merchant_deposits(deposit_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposit_to_transfer merchant_deposit_to_transfer_signkey_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposit_to_transfer
- ADD CONSTRAINT merchant_deposit_to_transfer_signkey_serial_fkey FOREIGN KEY (signkey_serial) REFERENCES merchant.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposits merchant_deposits_account_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposits
- ADD CONSTRAINT merchant_deposits_account_serial_fkey FOREIGN KEY (account_serial) REFERENCES merchant.merchant_accounts(account_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposits merchant_deposits_order_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposits
- ADD CONSTRAINT merchant_deposits_order_serial_fkey FOREIGN KEY (order_serial) REFERENCES merchant.merchant_contract_terms(order_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposits merchant_deposits_signkey_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_deposits
- ADD CONSTRAINT merchant_deposits_signkey_serial_fkey FOREIGN KEY (signkey_serial) REFERENCES merchant.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_inventory_locks merchant_inventory_locks_product_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_inventory_locks
- ADD CONSTRAINT merchant_inventory_locks_product_serial_fkey FOREIGN KEY (product_serial) REFERENCES merchant.merchant_inventory(product_serial);
-
-
---
--- Name: merchant_inventory merchant_inventory_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_inventory
- ADD CONSTRAINT merchant_inventory_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_keys merchant_keys_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_keys
- ADD CONSTRAINT merchant_keys_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_kyc merchant_kyc_account_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_kyc
- ADD CONSTRAINT merchant_kyc_account_serial_fkey FOREIGN KEY (account_serial) REFERENCES merchant.merchant_accounts(account_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_order_locks merchant_order_locks_order_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_order_locks
- ADD CONSTRAINT merchant_order_locks_order_serial_fkey FOREIGN KEY (order_serial) REFERENCES merchant.merchant_orders(order_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_order_locks merchant_order_locks_product_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_order_locks
- ADD CONSTRAINT merchant_order_locks_product_serial_fkey FOREIGN KEY (product_serial) REFERENCES merchant.merchant_inventory(product_serial);
-
-
---
--- Name: merchant_orders merchant_orders_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_orders
- ADD CONSTRAINT merchant_orders_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_refund_proofs merchant_refund_proofs_refund_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refund_proofs
- ADD CONSTRAINT merchant_refund_proofs_refund_serial_fkey FOREIGN KEY (refund_serial) REFERENCES merchant.merchant_refunds(refund_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_refund_proofs merchant_refund_proofs_signkey_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refund_proofs
- ADD CONSTRAINT merchant_refund_proofs_signkey_serial_fkey FOREIGN KEY (signkey_serial) REFERENCES merchant.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_refunds merchant_refunds_order_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_refunds
- ADD CONSTRAINT merchant_refunds_order_serial_fkey FOREIGN KEY (order_serial) REFERENCES merchant.merchant_contract_terms(order_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tip_pickup_signatures merchant_tip_pickup_signatures_pickup_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_pickup_signatures
- ADD CONSTRAINT merchant_tip_pickup_signatures_pickup_serial_fkey FOREIGN KEY (pickup_serial) REFERENCES merchant.merchant_tip_pickups(pickup_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tip_pickups merchant_tip_pickups_tip_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_pickups
- ADD CONSTRAINT merchant_tip_pickups_tip_serial_fkey FOREIGN KEY (tip_serial) REFERENCES merchant.merchant_tips(tip_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tip_reserve_keys merchant_tip_reserve_keys_reserve_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserve_keys
- ADD CONSTRAINT merchant_tip_reserve_keys_reserve_serial_fkey FOREIGN KEY (reserve_serial) REFERENCES merchant.merchant_tip_reserves(reserve_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tip_reserves merchant_tip_reserves_merchant_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tip_reserves
- ADD CONSTRAINT merchant_tip_reserves_merchant_serial_fkey FOREIGN KEY (merchant_serial) REFERENCES merchant.merchant_instances(merchant_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tips merchant_tips_reserve_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_tips
- ADD CONSTRAINT merchant_tips_reserve_serial_fkey FOREIGN KEY (reserve_serial) REFERENCES merchant.merchant_tip_reserves(reserve_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfer_signatures merchant_transfer_signatures_credit_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_signatures
- ADD CONSTRAINT merchant_transfer_signatures_credit_serial_fkey FOREIGN KEY (credit_serial) REFERENCES merchant.merchant_transfers(credit_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfer_signatures merchant_transfer_signatures_signkey_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_signatures
- ADD CONSTRAINT merchant_transfer_signatures_signkey_serial_fkey FOREIGN KEY (signkey_serial) REFERENCES merchant.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfer_to_coin merchant_transfer_to_coin_credit_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_to_coin
- ADD CONSTRAINT merchant_transfer_to_coin_credit_serial_fkey FOREIGN KEY (credit_serial) REFERENCES merchant.merchant_transfers(credit_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfer_to_coin merchant_transfer_to_coin_deposit_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfer_to_coin
- ADD CONSTRAINT merchant_transfer_to_coin_deposit_serial_fkey FOREIGN KEY (deposit_serial) REFERENCES merchant.merchant_deposits(deposit_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfers merchant_transfers_account_serial_fkey; Type: FK CONSTRAINT; Schema: merchant; Owner: -
---
-
-ALTER TABLE ONLY merchant.merchant_transfers
- ADD CONSTRAINT merchant_transfers_account_serial_fkey FOREIGN KEY (account_serial) REFERENCES merchant.merchant_accounts(account_serial) ON DELETE CASCADE;
-
-
---
--- PostgreSQL database dump complete
---
-
diff --git a/src/auditor/test-auditor.sh b/src/auditor/test-auditor.sh
index 1e04bd194..352ba5938 100755
--- a/src/auditor/test-auditor.sh
+++ b/src/auditor/test-auditor.sh
@@ -66,40 +66,40 @@ trap cleanup EXIT
function launch_libeufin () {
export LIBEUFIN_NEXUS_DB_CONNECTION="jdbc:sqlite:$DB.sqlite3"
libeufin-nexus serve --port 8082 \
- 2> libeufin-nexus-stderr.log \
- > libeufin-nexus-stdout.log &
+ 2> libeufin-nexus-stderr.log \
+ > libeufin-nexus-stdout.log &
echo $! > libeufin-nexus.pid
export LIBEUFIN_SANDBOX_DB_CONNECTION="jdbc:sqlite:$DB.sqlite3"
export LIBEUFIN_SANDBOX_ADMIN_PASSWORD=secret
libeufin-sandbox serve --port 18082 \
- > libeufin-sandbox-stdout.log \
- 2> libeufin-sandbox-stderr.log &
+ > libeufin-sandbox-stdout.log \
+ 2> libeufin-sandbox-stderr.log &
echo $! > libeufin-sandbox.pid
}
# Downloads new transactions from the bank.
function nexus_fetch_transactions () {
- export LIBEUFIN_NEXUS_USERNAME=exchange
- export LIBEUFIN_NEXUS_PASSWORD=x
- export LIBEUFIN_NEXUS_URL=http://localhost:8082/
- libeufin-cli accounts fetch-transactions \
- --range-type since-last --level report exchange-nexus > /dev/null
- unset LIBEUFIN_NEXUS_USERNAME
- unset LIBEUFIN_NEXUS_PASSWORD
- unset LIBEUFIN_NEXUS_URL
+ export LIBEUFIN_NEXUS_USERNAME=exchange
+ export LIBEUFIN_NEXUS_PASSWORD=x
+ export LIBEUFIN_NEXUS_URL=http://localhost:8082/
+ libeufin-cli accounts fetch-transactions \
+ --range-type since-last --level report exchange-nexus > /dev/null
+ unset LIBEUFIN_NEXUS_USERNAME
+ unset LIBEUFIN_NEXUS_PASSWORD
+ unset LIBEUFIN_NEXUS_URL
}
# Instruct Nexus to all the prepared payments (= those
# POSTed to /transfer by the exchange).
function nexus_submit_to_sandbox () {
- export LIBEUFIN_NEXUS_USERNAME=exchange
- export LIBEUFIN_NEXUS_PASSWORD=x
- export LIBEUFIN_NEXUS_URL=http://localhost:8082/
- libeufin-cli accounts submit-payments exchange-nexus
- unset LIBEUFIN_NEXUS_USERNAME
- unset LIBEUFIN_NEXUS_PASSWORD
- unset LIBEUFIN_NEXUS_URL
+ export LIBEUFIN_NEXUS_USERNAME=exchange
+ export LIBEUFIN_NEXUS_PASSWORD=x
+ export LIBEUFIN_NEXUS_URL=http://localhost:8082/
+ libeufin-cli accounts submit-payments exchange-nexus
+ unset LIBEUFIN_NEXUS_USERNAME
+ unset LIBEUFIN_NEXUS_PASSWORD
+ unset LIBEUFIN_NEXUS_URL
}
# Operations to run before the actual audit
function pre_audit () {
@@ -144,13 +144,13 @@ function pre_audit () {
echo -n "Running exchange transfer ..."
taler-exchange-transfer -L INFO -t -c $CONF 2> transfer.log || exit_fail "FAIL"
echo " DONE"
- echo -n "Running Nexus payment submitter ..."
- nexus_submit_to_sandbox
- echo " DONE"
- # Make outgoing transactions appear in the TWG:
- echo -n "Download bank transactions ..."
- nexus_fetch_transactions
- echo " DONE"
+ echo -n "Running Nexus payment submitter ..."
+ nexus_submit_to_sandbox
+ echo " DONE"
+ # Make outgoing transactions appear in the TWG:
+ echo -n "Download bank transactions ..."
+ nexus_fetch_transactions
+ echo " DONE"
fi
}
@@ -236,9 +236,9 @@ function run_audit () {
echo -n "Running taler-exchange-offline drain "
taler-exchange-offline -L DEBUG -c "${CONF}" \
- drain TESTKUDOS:0.1 exchange-account-1 payto://iban/SANDBOXX/DE360679?receiver-name=Exchange+Drain \
- upload \
- 2> taler-exchange-offline-drain.log || exit_fail "offline draining failed"
+ drain TESTKUDOS:0.1 exchange-account-1 payto://iban/SANDBOXX/DE360679?receiver-name=Exchange+Drain \
+ upload \
+ 2> taler-exchange-offline-drain.log || exit_fail "offline draining failed"
kill -TERM $EPID
wait $EPID
echo -n "Running taler-exchange-drain ..."
@@ -278,120 +278,120 @@ full_reload()
function test_0() {
-echo "===========0: normal run with aggregator==========="
-run_audit aggregator
-echo "Checking output"
-# if an emergency was detected, that is a bug and we should fail
-echo -n "Test for emergencies... "
-jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run" || echo PASS
-echo -n "Test for deposit confirmation emergencies... "
-jq -e .deposit_confirmation_inconsistencies[0] < test-audit-deposits.json > /dev/null && exit_fail "Unexpected deposit confirmation inconsistency detected" || echo PASS
-echo -n "Test for emergencies by count... "
-jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency by count detected in ordinary run" || echo PASS
-
-echo -n "Test for wire inconsistencies... "
-jq -e .wire_out_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire out inconsistency detected in ordinary run"
-jq -e .reserve_in_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected reserve in inconsistency detected in ordinary run"
-jq -e .misattribution_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected misattribution inconsistency detected in ordinary run"
-jq -e .row_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
-jq -e .denomination_key_validity_withdraw_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected denomination key withdraw inconsistency detected in ordinary run"
-jq -e .row_minor_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
-jq -e .lag_details[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected lag detected in ordinary run"
-jq -e .wire_format_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run"
-
-
-# TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic)
-# TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic)
-
-echo PASS
-
-LOSS=`jq -r .total_bad_sig_loss < test-audit-aggregation.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong total bad sig loss from aggregation, got unexpected loss of $LOSS"
-fi
-LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong total bad sig loss from coins, got unexpected loss of $LOSS"
-fi
-LOSS=`jq -r .total_bad_sig_loss < test-audit-reserves.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong total bad sig loss from reserves, got unexpected loss of $LOSS"
-fi
+ echo "===========0: normal run with aggregator==========="
+ run_audit aggregator
+ echo "Checking output"
+ # if an emergency was detected, that is a bug and we should fail
+ echo -n "Test for emergencies... "
+ jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run" || echo PASS
+ echo -n "Test for deposit confirmation emergencies... "
+ jq -e .deposit_confirmation_inconsistencies[0] < test-audit-deposits.json > /dev/null && exit_fail "Unexpected deposit confirmation inconsistency detected" || echo PASS
+ echo -n "Test for emergencies by count... "
+ jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency by count detected in ordinary run" || echo PASS
+
+ echo -n "Test for wire inconsistencies... "
+ jq -e .wire_out_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire out inconsistency detected in ordinary run"
+ jq -e .reserve_in_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected reserve in inconsistency detected in ordinary run"
+ jq -e .misattribution_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected misattribution inconsistency detected in ordinary run"
+ jq -e .row_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
+ jq -e .denomination_key_validity_withdraw_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected denomination key withdraw inconsistency detected in ordinary run"
+ jq -e .row_minor_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
+ jq -e .lag_details[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected lag detected in ordinary run"
+ jq -e .wire_format_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run"
+
+
+ # TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic)
+ # TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic)
-echo -n "Test for wire amounts... "
-WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta plus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta minus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta plus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta minus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_misattribution_in < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total misattribution in wrong, got $WIRED"
-fi
-echo PASS
+ echo PASS
-echo -n "Checking for unexpected arithmetic differences "
-LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-aggregation.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from aggregations, got unexpected plus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-aggregation.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from aggregation, got unexpected minus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from coins, got unexpected plus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from coins, got unexpected minus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-reserves.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from reserves, got unexpected plus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-reserves.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from reserves, got unexpected minus of $LOSS"
-fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-aggregation.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total bad sig loss from aggregation, got unexpected loss of $LOSS"
+ fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total bad sig loss from coins, got unexpected loss of $LOSS"
+ fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-reserves.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total bad sig loss from reserves, got unexpected loss of $LOSS"
+ fi
-jq -e .amount_arithmetic_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from aggregations detected in ordinary run"
-jq -e .amount_arithmetic_inconsistencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from coins detected in ordinary run"
-jq -e .amount_arithmetic_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from reserves detected in ordinary run"
-echo PASS
+ echo -n "Test for wire amounts... "
+ WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta minus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta minus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_misattribution_in < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total misattribution in wrong, got $WIRED"
+ fi
+ echo PASS
-echo -n "Checking for unexpected wire out differences "
-jq -e .wire_out_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected wire out inconsistencies detected in ordinary run"
-echo PASS
+ echo -n "Checking for unexpected arithmetic differences "
+ LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-aggregation.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from aggregations, got unexpected plus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-aggregation.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from aggregation, got unexpected minus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from coins, got unexpected plus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from coins, got unexpected minus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-reserves.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from reserves, got unexpected plus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-reserves.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from reserves, got unexpected minus of $LOSS"
+ fi
-# cannot easily undo aggregator, hence full reload
-full_reload
+ jq -e .amount_arithmetic_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from aggregations detected in ordinary run"
+ jq -e .amount_arithmetic_inconsistencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from coins detected in ordinary run"
+ jq -e .amount_arithmetic_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from reserves detected in ordinary run"
+ echo PASS
+
+ echo -n "Checking for unexpected wire out differences "
+ jq -e .wire_out_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected wire out inconsistencies detected in ordinary run"
+ echo PASS
+
+ # cannot easily undo aggregator, hence full reload
+ full_reload
}
@@ -400,39 +400,37 @@ full_reload
# transfer lag!
function test_1() {
-echo "===========1: normal run==========="
-run_audit
-
-echo "Checking output"
-# if an emergency was detected, that is a bug and we should fail
-echo -n "Test for emergencies... "
-jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run" || echo PASS
-echo -n "Test for emergencies by count... "
-jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency by count detected in ordinary run" || echo PASS
-
-echo -n "Test for wire inconsistencies... "
-jq -e .wire_out_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire out inconsistency detected in ordinary run"
-jq -e .reserve_in_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected reserve in inconsistency detected in ordinary run"
-jq -e .misattribution_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected misattribution inconsistency detected in ordinary run"
-jq -e .row_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
-jq -e .row_minor_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
-jq -e .wire_format_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run"
-
-# TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic)
-# TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic)
-
-echo PASS
-
-echo -n "Check for lag detection... "
-
-# Check wire transfer lag reported (no aggregator!)
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
- jq -e .lag_details[0] < test-audit-wire.json > /dev/null || exit_fail "Lag not detected in run without aggregator at age $DELTA"
+ echo "===========1: normal run==========="
+ run_audit
+
+ echo "Checking output"
+ # if an emergency was detected, that is a bug and we should fail
+ echo -n "Test for emergencies... "
+ jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run" || echo PASS
+ echo -n "Test for emergencies by count... "
+ jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency by count detected in ordinary run" || echo PASS
+
+ echo -n "Test for wire inconsistencies... "
+ jq -e .wire_out_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire out inconsistency detected in ordinary run"
+ jq -e .reserve_in_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected reserve in inconsistency detected in ordinary run"
+ jq -e .misattribution_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected misattribution inconsistency detected in ordinary run"
+ jq -e .row_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
+ jq -e .row_minor_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
+ jq -e .wire_format_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run"
+
+ # TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic)
+ # TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic)
+
+ echo PASS
+
+ echo -n "Check for lag detection... "
+
+ # Check wire transfer lag reported (no aggregator!)
+ # NOTE: This test is EXPECTED to fail for ~1h after
+ # re-generating the test database as we do not
+ # report lag of less than 1h (see GRACE_PERIOD in
+ # taler-helper-auditor-wire.c)
+ jq -e .lag_details[0] < test-audit-wire.json > /dev/null || exit_fail "Lag not detected in run without aggregator"
LAG=`jq -r .total_amount_lag < test-audit-wire.json`
if test $LAG = "TESTKUDOS:0"
@@ -440,81 +438,78 @@ then
exit_fail "Expected total lag to be non-zero"
fi
echo "PASS"
-else
- echo "SKIP (database too new)"
-fi
-echo -n "Test for wire amounts... "
-WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta plus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta minus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta plus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta minus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_misattribution_in < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total misattribution in wrong, got $WIRED"
-fi
-# Database was unmodified, no need to undo
-echo "OK"
+ echo -n "Test for wire amounts... "
+ WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta minus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta minus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_misattribution_in < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total misattribution in wrong, got $WIRED"
+ fi
+ # Database was unmodified, no need to undo
+ echo "OK"
}
# Change amount of wire transfer reported by exchange
function test_2() {
-echo "===========2: reserves_in inconsistency ==========="
-echo "UPDATE exchange.reserves_in SET credit_val=5 WHERE reserve_in_serial_id=1" | psql -At $DB
+ echo "===========2: reserves_in inconsistency ==========="
+ echo "UPDATE exchange.reserves_in SET credit_val=5 WHERE reserve_in_serial_id=1" | psql -At $DB
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
-ROW=`jq .reserve_in_amount_inconsistencies[0].row < test-audit-wire.json`
-if test $ROW != 1
-then
- exit_fail "Row $ROW is wrong"
-fi
-WIRED=`jq -r .reserve_in_amount_inconsistencies[0].amount_wired < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:10"
-then
- exit_fail "Amount wrong"
-fi
-EXPECTED=`jq -r .reserve_in_amount_inconsistencies[0].amount_exchange_expected < test-audit-wire.json`
-if test $EXPECTED != "TESTKUDOS:5"
-then
- exit_fail "Expected amount wrong"
-fi
+ echo -n "Testing inconsistency detection... "
+ ROW=`jq .reserve_in_amount_inconsistencies[0].row < test-audit-wire.json`
+ if test $ROW != 1
+ then
+ exit_fail "Row $ROW is wrong"
+ fi
+ WIRED=`jq -r .reserve_in_amount_inconsistencies[0].amount_wired < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:10"
+ then
+ exit_fail "Amount wrong"
+ fi
+ EXPECTED=`jq -r .reserve_in_amount_inconsistencies[0].amount_exchange_expected < test-audit-wire.json`
+ if test $EXPECTED != "TESTKUDOS:5"
+ then
+ exit_fail "Expected amount wrong"
+ fi
-WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Wrong total wire_in_delta_minus, got $WIRED"
-fi
-DELTA=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
-if test $DELTA != "TESTKUDOS:5"
-then
- exit_fail "Expected total wire delta plus wrong, got $DELTA"
-fi
-echo PASS
+ WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total wire_in_delta_minus, got $WIRED"
+ fi
+ DELTA=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
+ if test $DELTA != "TESTKUDOS:5"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $DELTA"
+ fi
+ echo PASS
-# Undo database modification
-echo "UPDATE exchange.reserves_in SET credit_val=10 WHERE reserve_in_serial_id=1" | psql -Aqt $DB
+ # Undo database modification
+ echo "UPDATE exchange.reserves_in SET credit_val=10 WHERE reserve_in_serial_id=1" | psql -Aqt $DB
}
@@ -523,61 +518,61 @@ echo "UPDATE exchange.reserves_in SET credit_val=10 WHERE reserve_in_serial_id=1
# lower than what exchange claims to have received.
function test_3() {
-echo "===========3: reserves_in inconsistency==========="
-echo "UPDATE exchange.reserves_in SET credit_val=15 WHERE reserve_in_serial_id=1" | psql -Aqt $DB
+ echo "===========3: reserves_in inconsistency==========="
+ echo "UPDATE exchange.reserves_in SET credit_val=15 WHERE reserve_in_serial_id=1" | psql -Aqt $DB
-run_audit
+ run_audit
-EXPECTED=`jq -r .reserve_balance_summary_wrong_inconsistencies[0].auditor < test-audit-reserves.json`
-if test $EXPECTED != "TESTKUDOS:5.01"
-then
- exit_fail "Expected reserve balance summary amount wrong, got $EXPECTED (auditor)"
-fi
+ EXPECTED=`jq -r .reserve_balance_summary_wrong_inconsistencies[0].auditor < test-audit-reserves.json`
+ if test $EXPECTED != "TESTKUDOS:5.01"
+ then
+ exit_fail "Expected reserve balance summary amount wrong, got $EXPECTED (auditor)"
+ fi
-EXPECTED=`jq -r .reserve_balance_summary_wrong_inconsistencies[0].exchange < test-audit-reserves.json`
-if test $EXPECTED != "TESTKUDOS:0.01"
-then
- exit_fail "Expected reserve balance summary amount wrong, got $EXPECTED (exchange)"
-fi
+ EXPECTED=`jq -r .reserve_balance_summary_wrong_inconsistencies[0].exchange < test-audit-reserves.json`
+ if test $EXPECTED != "TESTKUDOS:0.01"
+ then
+ exit_fail "Expected reserve balance summary amount wrong, got $EXPECTED (exchange)"
+ fi
-WIRED=`jq -r .total_loss_balance_insufficient < test-audit-reserves.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Wrong total loss from insufficient balance, got $WIRED"
-fi
+ WIRED=`jq -r .total_loss_balance_insufficient < test-audit-reserves.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total loss from insufficient balance, got $WIRED"
+ fi
-ROW=`jq -e .reserve_in_amount_inconsistencies[0].row < test-audit-wire.json`
-if test $ROW != 1
-then
- exit_fail "Row wrong, got $ROW"
-fi
+ ROW=`jq -e .reserve_in_amount_inconsistencies[0].row < test-audit-wire.json`
+ if test $ROW != 1
+ then
+ exit_fail "Row wrong, got $ROW"
+ fi
-WIRED=`jq -r .reserve_in_amount_inconsistencies[0].amount_exchange_expected < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:15"
-then
- exit_fail "Wrong amount_exchange_expected, got $WIRED"
-fi
+ WIRED=`jq -r .reserve_in_amount_inconsistencies[0].amount_exchange_expected < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:15"
+ then
+ exit_fail "Wrong amount_exchange_expected, got $WIRED"
+ fi
-WIRED=`jq -r .reserve_in_amount_inconsistencies[0].amount_wired < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:10"
-then
- exit_fail "Wrong amount_wired, got $WIRED"
-fi
+ WIRED=`jq -r .reserve_in_amount_inconsistencies[0].amount_wired < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:10"
+ then
+ exit_fail "Wrong amount_wired, got $WIRED"
+ fi
-WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:5"
-then
- exit_fail "Wrong total wire_in_delta_minus, got $WIRED"
-fi
+ WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:5"
+ then
+ exit_fail "Wrong total wire_in_delta_minus, got $WIRED"
+ fi
-WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Wrong total wire_in_delta_plus, got $WIRED"
-fi
+ WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total wire_in_delta_plus, got $WIRED"
+ fi
-# Undo database modification
-echo "UPDATE exchange.reserves_in SET credit_val=10 WHERE reserve_in_serial_id=1" | psql -Aqt $DB
+ # Undo database modification
+ echo "UPDATE exchange.reserves_in SET credit_val=10 WHERE reserve_in_serial_id=1" | psql -Aqt $DB
}
@@ -586,46 +581,46 @@ echo "UPDATE exchange.reserves_in SET credit_val=10 WHERE reserve_in_serial_id=1
# lower than what exchange claims to have received.
function test_4() {
-echo "===========4: deposit wire target wrong================="
-# Original target bank account was 43, changing to 44
-SERIAL=`echo "SELECT deposit_serial_id FROM exchange.deposits WHERE amount_with_fee_val=3 AND amount_with_fee_frac=0 ORDER BY deposit_serial_id LIMIT 1" | psql $DB -Aqt`
-OLD_WIRE_ID=`echo "SELECT wire_target_h_payto FROM exchange.deposits WHERE deposit_serial_id=${SERIAL};" | psql $DB -Aqt`
-NEW_WIRE_ID=`echo "INSERT INTO exchange.wire_targets (payto_uri, wire_target_h_payto) VALUES ('payto://x-taler-bank/localhost/testuser-xxlargtp', '\x1e8f31936b3cee8f8afd3aac9e38b5db42d45b721ffc4eb1e5b9ddaf1565660b');" | psql $DB -Aqt`
-echo "UPDATE exchange.deposits SET wire_target_h_payto='\x1e8f31936b3cee8f8afd3aac9e38b5db42d45b721ffc4eb1e5b9ddaf1565660b' WHERE deposit_serial_id=${SERIAL}" | psql -Aqt $DB
+ echo "===========4: deposit wire target wrong================="
+ # Original target bank account was 43, changing to 44
+ SERIAL=`echo "SELECT deposit_serial_id FROM exchange.deposits WHERE amount_with_fee_val=3 AND amount_with_fee_frac=0 ORDER BY deposit_serial_id LIMIT 1" | psql $DB -Aqt`
+ OLD_WIRE_ID=`echo "SELECT wire_target_h_payto FROM exchange.deposits WHERE deposit_serial_id=${SERIAL};" | psql $DB -Aqt`
+ NEW_WIRE_ID=`echo "INSERT INTO exchange.wire_targets (payto_uri, wire_target_h_payto) VALUES ('payto://x-taler-bank/localhost/testuser-xxlargtp', '\x1e8f31936b3cee8f8afd3aac9e38b5db42d45b721ffc4eb1e5b9ddaf1565660b');" | psql $DB -Aqt`
+ echo "UPDATE exchange.deposits SET wire_target_h_payto='\x1e8f31936b3cee8f8afd3aac9e38b5db42d45b721ffc4eb1e5b9ddaf1565660b' WHERE deposit_serial_id=${SERIAL}" | psql -Aqt $DB
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
+ echo -n "Testing inconsistency detection... "
-jq -e .bad_sig_losses[0] < test-audit-coins.json > /dev/null || exit_fail "Bad signature not detected"
+ jq -e .bad_sig_losses[0] < test-audit-coins.json > /dev/null || exit_fail "Bad signature not detected"
-ROW=`jq -e .bad_sig_losses[0].row < test-audit-coins.json`
-if test $ROW != ${SERIAL}
-then
- exit_fail "Row wrong, got $ROW"
-fi
+ ROW=`jq -e .bad_sig_losses[0].row < test-audit-coins.json`
+ if test $ROW != ${SERIAL}
+ then
+ exit_fail "Row wrong, got $ROW"
+ fi
-LOSS=`jq -r .bad_sig_losses[0].loss < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:3"
-then
- exit_fail "Wrong deposit bad signature loss, got $LOSS"
-fi
+ LOSS=`jq -r .bad_sig_losses[0].loss < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:3"
+ then
+ exit_fail "Wrong deposit bad signature loss, got $LOSS"
+ fi
-OP=`jq -r .bad_sig_losses[0].operation < test-audit-coins.json`
-if test $OP != "deposit"
-then
- exit_fail "Wrong operation, got $OP"
-fi
+ OP=`jq -r .bad_sig_losses[0].operation < test-audit-coins.json`
+ if test $OP != "deposit"
+ then
+ exit_fail "Wrong operation, got $OP"
+ fi
-LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:3"
-then
- exit_fail "Wrong total bad sig loss, got $LOSS"
-fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:3"
+ then
+ exit_fail "Wrong total bad sig loss, got $LOSS"
+ fi
-echo PASS
-# Undo:
-echo "UPDATE exchange.deposits SET wire_target_h_payto='$OLD_WIRE_ID' WHERE deposit_serial_id=${SERIAL}" | psql -Aqt $DB
+ echo PASS
+ # Undo:
+ echo "UPDATE exchange.deposits SET wire_target_h_payto='$OLD_WIRE_ID' WHERE deposit_serial_id=${SERIAL}" | psql -Aqt $DB
}
@@ -634,42 +629,42 @@ echo "UPDATE exchange.deposits SET wire_target_h_payto='$OLD_WIRE_ID' WHERE depo
# Test where h_contract_terms in the deposit table is wrong
# (=> bad signature)
function test_5() {
-echo "===========5: deposit contract hash wrong================="
-# Modify h_wire hash, so it is inconsistent with 'wire'
-SERIAL=`echo "SELECT deposit_serial_id FROM exchange.deposits WHERE amount_with_fee_val=3 AND amount_with_fee_frac=0 ORDER BY deposit_serial_id LIMIT 1" | psql $DB -Aqt`
-OLD_H=`echo "SELECT h_contract_terms FROM exchange.deposits WHERE deposit_serial_id=$SERIAL;" | psql $DB -Aqt`
-echo "UPDATE exchange.deposits SET h_contract_terms='\x12bb676444955c98789f219148aa31899d8c354a63330624d3d143222cf3bb8b8e16f69accd5a8773127059b804c1955696bf551dd7be62719870613332aa8d5' WHERE deposit_serial_id=$SERIAL" | psql -Aqt $DB
+ echo "===========5: deposit contract hash wrong================="
+ # Modify h_wire hash, so it is inconsistent with 'wire'
+ SERIAL=`echo "SELECT deposit_serial_id FROM exchange.deposits WHERE amount_with_fee_val=3 AND amount_with_fee_frac=0 ORDER BY deposit_serial_id LIMIT 1" | psql $DB -Aqt`
+ OLD_H=`echo "SELECT h_contract_terms FROM exchange.deposits WHERE deposit_serial_id=$SERIAL;" | psql $DB -Aqt`
+ echo "UPDATE exchange.deposits SET h_contract_terms='\x12bb676444955c98789f219148aa31899d8c354a63330624d3d143222cf3bb8b8e16f69accd5a8773127059b804c1955696bf551dd7be62719870613332aa8d5' WHERE deposit_serial_id=$SERIAL" | psql -Aqt $DB
-run_audit
+ run_audit
-echo -n "Checking bad signature detection... "
-ROW=`jq -e .bad_sig_losses[0].row < test-audit-coins.json`
-if test $ROW != $SERIAL
-then
- exit_fail "Row wrong, got $ROW"
-fi
+ echo -n "Checking bad signature detection... "
+ ROW=`jq -e .bad_sig_losses[0].row < test-audit-coins.json`
+ if test $ROW != $SERIAL
+ then
+ exit_fail "Row wrong, got $ROW"
+ fi
-LOSS=`jq -r .bad_sig_losses[0].loss < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:3"
-then
- exit_fail "Wrong deposit bad signature loss, got $LOSS"
-fi
+ LOSS=`jq -r .bad_sig_losses[0].loss < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:3"
+ then
+ exit_fail "Wrong deposit bad signature loss, got $LOSS"
+ fi
-OP=`jq -r .bad_sig_losses[0].operation < test-audit-coins.json`
-if test $OP != "deposit"
-then
- exit_fail "Wrong operation, got $OP"
-fi
+ OP=`jq -r .bad_sig_losses[0].operation < test-audit-coins.json`
+ if test $OP != "deposit"
+ then
+ exit_fail "Wrong operation, got $OP"
+ fi
-LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:3"
-then
- exit_fail "Wrong total bad sig loss, got $LOSS"
-fi
-echo PASS
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:3"
+ then
+ exit_fail "Wrong total bad sig loss, got $LOSS"
+ fi
+ echo PASS
-# Undo:
-echo "UPDATE exchange.deposits SET h_contract_terms='${OLD_H}' WHERE deposit_serial_id=$SERIAL" | psql -Aqt $DB
+ # Undo:
+ echo "UPDATE exchange.deposits SET h_contract_terms='${OLD_H}' WHERE deposit_serial_id=$SERIAL" | psql -Aqt $DB
}
@@ -677,40 +672,40 @@ echo "UPDATE exchange.deposits SET h_contract_terms='${OLD_H}' WHERE deposit_ser
# Test where denom_sig in known_coins table is wrong
# (=> bad signature)
function test_6() {
-echo "===========6: known_coins signature wrong================="
-# Modify denom_sig, so it is wrong
-OLD_SIG=`echo 'SELECT denom_sig FROM exchange.known_coins LIMIT 1;' | psql $DB -Aqt`
-COIN_PUB=`echo "SELECT coin_pub FROM exchange.known_coins WHERE denom_sig='$OLD_SIG';" | psql $DB -Aqt`
-echo "UPDATE exchange.known_coins SET denom_sig='\x0000000100000000287369672d76616c200a2028727361200a2020287320233542383731423743393036444643303442424430453039353246413642464132463537303139374131313437353746324632323332394644443146324643333445393939413336363430334233413133324444464239413833353833464536354442374335434445304441453035374438363336434541423834463843323843344446304144363030343430413038353435363039373833434431333239393736423642433437313041324632414132414435413833303432434346314139464635394244434346374436323238344143354544364131373739463430353032323241373838423837363535453434423145443831364244353638303232413123290a2020290a20290b' WHERE coin_pub='$COIN_PUB'" | psql -Aqt $DB
+ echo "===========6: known_coins signature wrong================="
+ # Modify denom_sig, so it is wrong
+ OLD_SIG=`echo 'SELECT denom_sig FROM exchange.known_coins LIMIT 1;' | psql $DB -Aqt`
+ COIN_PUB=`echo "SELECT coin_pub FROM exchange.known_coins WHERE denom_sig='$OLD_SIG';" | psql $DB -Aqt`
+ echo "UPDATE exchange.known_coins SET denom_sig='\x0000000100000000287369672d76616c200a2028727361200a2020287320233542383731423743393036444643303442424430453039353246413642464132463537303139374131313437353746324632323332394644443146324643333445393939413336363430334233413133324444464239413833353833464536354442374335434445304441453035374438363336434541423834463843323843344446304144363030343430413038353435363039373833434431333239393736423642433437313041324632414132414435413833303432434346314139464635394244434346374436323238344143354544364131373739463430353032323241373838423837363535453434423145443831364244353638303232413123290a2020290a20290b' WHERE coin_pub='$COIN_PUB'" | psql -Aqt $DB
-run_audit
+ run_audit
-ROW=`jq -e .bad_sig_losses[0].row < test-audit-coins.json`
-if test $ROW != "1"
-then
- exit_fail "Row wrong, got $ROW"
-fi
+ ROW=`jq -e .bad_sig_losses[0].row < test-audit-coins.json`
+ if test $ROW != "1"
+ then
+ exit_fail "Row wrong, got $ROW"
+ fi
-LOSS=`jq -r .bad_sig_losses[0].loss < test-audit-coins.json`
-if test $LOSS == "TESTKUDOS:0"
-then
- exit_fail "Wrong deposit bad signature loss, got $LOSS"
-fi
+ LOSS=`jq -r .bad_sig_losses[0].loss < test-audit-coins.json`
+ if test $LOSS == "TESTKUDOS:0"
+ then
+ exit_fail "Wrong deposit bad signature loss, got $LOSS"
+ fi
-OP=`jq -r .bad_sig_losses[0].operation < test-audit-coins.json`
-if test $OP != "melt"
-then
- exit_fail "Wrong operation, got $OP"
-fi
+ OP=`jq -r .bad_sig_losses[0].operation < test-audit-coins.json`
+ if test $OP != "melt"
+ then
+ exit_fail "Wrong operation, got $OP"
+ fi
-LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
-if test $LOSS == "TESTKUDOS:0"
-then
- exit_fail "Wrong total bad sig loss, got $LOSS"
-fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
+ if test $LOSS == "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total bad sig loss, got $LOSS"
+ fi
-# Undo
-echo "UPDATE exchange.known_coins SET denom_sig='$OLD_SIG' WHERE coin_pub='$COIN_PUB'" | psql -Aqt $DB
+ # Undo
+ echo "UPDATE exchange.known_coins SET denom_sig='$OLD_SIG' WHERE coin_pub='$COIN_PUB'" | psql -Aqt $DB
}
@@ -718,51 +713,51 @@ echo "UPDATE exchange.known_coins SET denom_sig='$OLD_SIG' WHERE coin_pub='$COIN
# Test where h_wire in the deposit table is wrong
function test_7() {
-echo "===========7: reserves_out signature wrong================="
-# Modify reserve_sig, so it is bogus
-HBE=`echo 'SELECT h_blind_ev FROM exchange.reserves_out LIMIT 1;' | psql $DB -Aqt`
-OLD_SIG=`echo "SELECT reserve_sig FROM exchange.reserves_out WHERE h_blind_ev='$HBE';" | psql $DB -Aqt`
-A_VAL=`echo "SELECT amount_with_fee_val FROM exchange.reserves_out WHERE h_blind_ev='$HBE';" | psql $DB -Aqt`
-A_FRAC=`echo "SELECT amount_with_fee_frac FROM exchange.reserves_out WHERE h_blind_ev='$HBE';" | psql $DB -Aqt`
-# Normalize, we only deal with cents in this test-case
-A_FRAC=`expr $A_FRAC / 1000000 || true`
-echo "UPDATE exchange.reserves_out SET reserve_sig='\x9ef381a84aff252646a157d88eded50f708b2c52b7120d5a232a5b628f9ced6d497e6652d986b581188fb014ca857fd5e765a8ccc4eb7e2ce9edcde39accaa4b' WHERE h_blind_ev='$HBE'" | psql -Aqt $DB
-
-run_audit
-
-OP=`jq -r .bad_sig_losses[0].operation < test-audit-reserves.json`
-if test $OP != "withdraw"
-then
- exit_fail "Wrong operation, got $OP"
-fi
+ echo "===========7: reserves_out signature wrong================="
+ # Modify reserve_sig, so it is bogus
+ HBE=`echo 'SELECT h_blind_ev FROM exchange.reserves_out LIMIT 1;' | psql $DB -Aqt`
+ OLD_SIG=`echo "SELECT reserve_sig FROM exchange.reserves_out WHERE h_blind_ev='$HBE';" | psql $DB -Aqt`
+ A_VAL=`echo "SELECT amount_with_fee_val FROM exchange.reserves_out WHERE h_blind_ev='$HBE';" | psql $DB -Aqt`
+ A_FRAC=`echo "SELECT amount_with_fee_frac FROM exchange.reserves_out WHERE h_blind_ev='$HBE';" | psql $DB -Aqt`
+ # Normalize, we only deal with cents in this test-case
+ A_FRAC=`expr $A_FRAC / 1000000 || true`
+ echo "UPDATE exchange.reserves_out SET reserve_sig='\x9ef381a84aff252646a157d88eded50f708b2c52b7120d5a232a5b628f9ced6d497e6652d986b581188fb014ca857fd5e765a8ccc4eb7e2ce9edcde39accaa4b' WHERE h_blind_ev='$HBE'" | psql -Aqt $DB
-LOSS=`jq -r .bad_sig_losses[0].loss < test-audit-reserves.json`
-LOSS_TOTAL=`jq -r .total_bad_sig_loss < test-audit-reserves.json`
-if test $LOSS != $LOSS_TOTAL
-then
- exit_fail "Expected loss $LOSS and total loss $LOSS_TOTAL do not match"
-fi
-if test $A_FRAC != 0
-then
- if [ $A_FRAC -lt 10 ]
+ run_audit
+
+ OP=`jq -r .bad_sig_losses[0].operation < test-audit-reserves.json`
+ if test $OP != "withdraw"
then
- A_PREV="0"
- else
- A_PREV=""
+ exit_fail "Wrong operation, got $OP"
fi
- if test $LOSS != "TESTKUDOS:$A_VAL.$A_PREV$A_FRAC"
+
+ LOSS=`jq -r .bad_sig_losses[0].loss < test-audit-reserves.json`
+ LOSS_TOTAL=`jq -r .total_bad_sig_loss < test-audit-reserves.json`
+ if test $LOSS != $LOSS_TOTAL
then
- exit_fail "Expected loss TESTKUDOS:$A_VAL.$A_PREV$A_FRAC but got $LOSS"
+ exit_fail "Expected loss $LOSS and total loss $LOSS_TOTAL do not match"
fi
-else
- if test $LOSS != "TESTKUDOS:$A_VAL"
+ if test $A_FRAC != 0
then
- exit_fail "Expected loss TESTKUDOS:$A_VAL but got $LOSS"
+ if [ $A_FRAC -lt 10 ]
+ then
+ A_PREV="0"
+ else
+ A_PREV=""
+ fi
+ if test $LOSS != "TESTKUDOS:$A_VAL.$A_PREV$A_FRAC"
+ then
+ exit_fail "Expected loss TESTKUDOS:$A_VAL.$A_PREV$A_FRAC but got $LOSS"
+ fi
+ else
+ if test $LOSS != "TESTKUDOS:$A_VAL"
+ then
+ exit_fail "Expected loss TESTKUDOS:$A_VAL but got $LOSS"
+ fi
fi
-fi
-# Undo:
-echo "UPDATE exchange.reserves_out SET reserve_sig='$OLD_SIG' WHERE h_blind_ev='$HBE'" | psql -Aqt $DB
+ # Undo:
+ echo "UPDATE exchange.reserves_out SET reserve_sig='$OLD_SIG' WHERE h_blind_ev='$HBE'" | psql -Aqt $DB
}
@@ -770,68 +765,68 @@ echo "UPDATE exchange.reserves_out SET reserve_sig='$OLD_SIG' WHERE h_blind_ev='
# Test wire transfer subject disagreement!
function test_8() {
-echo "===========8: wire-transfer-subject disagreement==========="
-OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
-OLD_WTID=`echo "SELECT reservePublicKey FROM TalerIncomingPayments WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3`
-NEW_WTID="CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG"
-echo "UPDATE TalerIncomingPayments SET reservePublicKey='$NEW_WTID' WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3
+ echo "===========8: wire-transfer-subject disagreement==========="
+ OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
+ OLD_WTID=`echo "SELECT reservePublicKey FROM TalerIncomingPayments WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3`
+ NEW_WTID="CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG"
+ echo "UPDATE TalerIncomingPayments SET reservePublicKey='$NEW_WTID' WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
-DIAG=`jq -r .reserve_in_amount_inconsistencies[0].diagnostic < test-audit-wire.json`
-if test "x$DIAG" != "xwire subject does not match"
-then
- exit_fail "Diagnostic wrong: $DIAG (0)"
-fi
-WTID=`jq -r .reserve_in_amount_inconsistencies[0].reserve_pub < test-audit-wire.json`
-if test x$WTID != x"$OLD_WTID" -a x$WTID != x"$NEW_WTID"
-then
- exit_fail "WTID reported wrong: $WTID"
-fi
-EX_A=`jq -r .reserve_in_amount_inconsistencies[0].amount_exchange_expected < test-audit-wire.json`
-if test x$WTID = x$OLD_WTID -a x$EX_A != x"TESTKUDOS:10"
-then
- exit_fail "Amount reported wrong: $EX_A"
-fi
-if test x$WTID = x$NEW_WTID -a x$EX_A != x"TESTKUDOS:0"
-then
- exit_fail "Amount reported wrong: $EX_A"
-fi
-DIAG=`jq -r .reserve_in_amount_inconsistencies[1].diagnostic < test-audit-wire.json`
-if test "x$DIAG" != "xwire subject does not match"
-then
- exit_fail "Diagnostic wrong: $DIAG (1)"
-fi
-WTID=`jq -r .reserve_in_amount_inconsistencies[1].reserve_pub < test-audit-wire.json`
-if test $WTID != "$OLD_WTID" -a $WTID != "$NEW_WTID"
-then
- exit_fail "WTID reported wrong: $WTID (wanted: $NEW_WTID or $OLD_WTID)"
-fi
-EX_A=`jq -r .reserve_in_amount_inconsistencies[1].amount_exchange_expected < test-audit-wire.json`
-if test $WTID = "$OLD_WTID" -a $EX_A != "TESTKUDOS:10"
-then
- exit_fail "Amount reported wrong: $EX_A"
-fi
-if test $WTID = "$NEW_WTID" -a $EX_A != "TESTKUDOS:0"
-then
- exit_fail "Amount reported wrong: $EX_A"
-fi
+ echo -n "Testing inconsistency detection... "
+ DIAG=`jq -r .reserve_in_amount_inconsistencies[0].diagnostic < test-audit-wire.json`
+ if test "x$DIAG" != "xwire subject does not match"
+ then
+ exit_fail "Diagnostic wrong: $DIAG (0)"
+ fi
+ WTID=`jq -r .reserve_in_amount_inconsistencies[0].reserve_pub < test-audit-wire.json`
+ if test x$WTID != x"$OLD_WTID" -a x$WTID != x"$NEW_WTID"
+ then
+ exit_fail "WTID reported wrong: $WTID"
+ fi
+ EX_A=`jq -r .reserve_in_amount_inconsistencies[0].amount_exchange_expected < test-audit-wire.json`
+ if test x$WTID = x$OLD_WTID -a x$EX_A != x"TESTKUDOS:10"
+ then
+ exit_fail "Amount reported wrong: $EX_A"
+ fi
+ if test x$WTID = x$NEW_WTID -a x$EX_A != x"TESTKUDOS:0"
+ then
+ exit_fail "Amount reported wrong: $EX_A"
+ fi
+ DIAG=`jq -r .reserve_in_amount_inconsistencies[1].diagnostic < test-audit-wire.json`
+ if test "x$DIAG" != "xwire subject does not match"
+ then
+ exit_fail "Diagnostic wrong: $DIAG (1)"
+ fi
+ WTID=`jq -r .reserve_in_amount_inconsistencies[1].reserve_pub < test-audit-wire.json`
+ if test $WTID != "$OLD_WTID" -a $WTID != "$NEW_WTID"
+ then
+ exit_fail "WTID reported wrong: $WTID (wanted: $NEW_WTID or $OLD_WTID)"
+ fi
+ EX_A=`jq -r .reserve_in_amount_inconsistencies[1].amount_exchange_expected < test-audit-wire.json`
+ if test $WTID = "$OLD_WTID" -a $EX_A != "TESTKUDOS:10"
+ then
+ exit_fail "Amount reported wrong: $EX_A"
+ fi
+ if test $WTID = "$NEW_WTID" -a $EX_A != "TESTKUDOS:0"
+ then
+ exit_fail "Amount reported wrong: $EX_A"
+ fi
-WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:10"
-then
- exit_fail "Wrong total wire_in_delta_minus, got $WIRED"
-fi
-DELTA=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
-if test $DELTA != "TESTKUDOS:10"
-then
- exit_fail "Expected total wire delta plus wrong, got $DELTA"
-fi
-echo PASS
+ WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:10"
+ then
+ exit_fail "Wrong total wire_in_delta_minus, got $WIRED"
+ fi
+ DELTA=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
+ if test $DELTA != "TESTKUDOS:10"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $DELTA"
+ fi
+ echo PASS
-# Undo database modification
-echo "UPDATE TalerIncomingPayments SET reservePublicKey='$OLD_WTID' WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3
+ # Undo database modification
+ echo "UPDATE TalerIncomingPayments SET reservePublicKey='$OLD_WTID' WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3
}
@@ -839,57 +834,57 @@ echo "UPDATE TalerIncomingPayments SET reservePublicKey='$OLD_WTID' WHERE paymen
# Test wire origin disagreement!
function test_9() {
-echo "===========9: wire-origin disagreement==========="
-OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
-OLD_ACC=`echo "SELECT incomingPaytoUri FROM TalerIncomingPayments WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3`
-echo "UPDATE TalerIncomingPayments SET incomingPaytoUri='payto://iban/SANDBOXX/DE144373?receiver-name=New+Exchange+Company' WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3
+ echo "===========9: wire-origin disagreement==========="
+ OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
+ OLD_ACC=`echo "SELECT incomingPaytoUri FROM TalerIncomingPayments WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3`
+ echo "UPDATE TalerIncomingPayments SET incomingPaytoUri='payto://iban/SANDBOXX/DE144373?receiver-name=New+Exchange+Company' WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
-AMOUNT=`jq -r .misattribution_in_inconsistencies[0].amount < test-audit-wire.json`
-if test "x$AMOUNT" != "xTESTKUDOS:10"
-then
- exit_fail "Reported amount wrong: $AMOUNT"
-fi
-AMOUNT=`jq -r .total_misattribution_in < test-audit-wire.json`
-if test "x$AMOUNT" != "xTESTKUDOS:10"
-then
- exit_fail "Reported total amount wrong: $AMOUNT"
-fi
-echo PASS
+ echo -n "Testing inconsistency detection... "
+ AMOUNT=`jq -r .misattribution_in_inconsistencies[0].amount < test-audit-wire.json`
+ if test "x$AMOUNT" != "xTESTKUDOS:10"
+ then
+ exit_fail "Reported amount wrong: $AMOUNT"
+ fi
+ AMOUNT=`jq -r .total_misattribution_in < test-audit-wire.json`
+ if test "x$AMOUNT" != "xTESTKUDOS:10"
+ then
+ exit_fail "Reported total amount wrong: $AMOUNT"
+ fi
+ echo PASS
-# Undo database modification
-echo "UPDATE TalerIncomingPayments SET incomingPaytoUri='$OLD_ACC' WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3
+ # Undo database modification
+ echo "UPDATE TalerIncomingPayments SET incomingPaytoUri='$OLD_ACC' WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3
}
# Test wire_in timestamp disagreement!
function test_10() {
-NOW_MS=`date +%s`000
-echo "===========10: wire-timestamp disagreement==========="
-OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
-OLD_DATE=`echo "SELECT timestampMs FROM TalerIncomingPayments WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3`
-echo "UPDATE TalerIncomingPayments SET timestampMs=$NOW_MS WHERE payment=$OLD_ID;" | sqlite3 $DB.sqlite3
+ NOW_MS=`date +%s`000
+ echo "===========10: wire-timestamp disagreement==========="
+ OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
+ OLD_DATE=`echo "SELECT timestampMs FROM TalerIncomingPayments WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3`
+ echo "UPDATE TalerIncomingPayments SET timestampMs=$NOW_MS WHERE payment=$OLD_ID;" | sqlite3 $DB.sqlite3
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
-DIAG=`jq -r .row_minor_inconsistencies[0].diagnostic < test-audit-wire.json`
-if test "x$DIAG" != "xexecution date mismatch"
-then
- exit_fail "Reported diagnostic wrong: $DIAG"
-fi
-TABLE=`jq -r .row_minor_inconsistencies[0].table < test-audit-wire.json`
-if test "x$TABLE" != "xreserves_in"
-then
- exit_fail "Reported table wrong: $TABLE"
-fi
-echo PASS
+ echo -n "Testing inconsistency detection... "
+ DIAG=`jq -r .row_minor_inconsistencies[0].diagnostic < test-audit-wire.json`
+ if test "x$DIAG" != "xexecution date mismatch"
+ then
+ exit_fail "Reported diagnostic wrong: $DIAG"
+ fi
+ TABLE=`jq -r .row_minor_inconsistencies[0].table < test-audit-wire.json`
+ if test "x$TABLE" != "xreserves_in"
+ then
+ exit_fail "Reported table wrong: $TABLE"
+ fi
+ echo PASS
-# Undo database modification
-echo "UPDATE TalerIncomingPayments SET timestampMs='$OLD_DATE' WHERE payment=$OLD_ID;" | sqlite3 $DB.sqlite3
+ # Undo database modification
+ echo "UPDATE TalerIncomingPayments SET timestampMs='$OLD_DATE' WHERE payment=$OLD_ID;" | sqlite3 $DB.sqlite3
}
@@ -898,91 +893,91 @@ echo "UPDATE TalerIncomingPayments SET timestampMs='$OLD_DATE' WHERE payment=$OL
# In case of changing the subject in the Nexus
# ingested table: '.batches[0].batchTransactions[0].details.unstructuredRemittanceInformation'
function test_11() {
-echo "===========11: spurious outgoing transfer ==========="
-OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
-OLD_TX=`echo "SELECT transactionJson FROM NexusBankTransactions WHERE id='$OLD_ID';" | sqlite3 $DB.sqlite3`
-# Change wire transfer to be FROM the exchange (#2) to elsewhere!
-# (Note: this change also causes a missing incoming wire transfer, but
-# this test is only concerned about the outgoing wire transfer
-# being detected as such, and we simply ignore the other
-# errors being reported.)
-OTHER_IBAN=`echo -e "SELECT iban FROM BankAccounts WHERE label='fortytwo'" | sqlite3 $DB.sqlite3`
-NEW_TX=$(echo "$OLD_TX" | jq .batches[0].batchTransactions[0].details.creditDebitIndicator='"DBIT"' | jq 'del(.batches[0].batchTransactions[0].details.debtor)' | jq 'del(.batches[0].batchTransactions[0].details.debtorAccount)' | jq 'del(.batches[0].batchTransactions[0].details.debtorAgent)' | jq '.batches[0].batchTransactions[0].details.creditor'='{"name": "Forty Two"}' | jq .batches[0].batchTransactions[0].details.creditorAccount='{"iban": "'$OTHER_IBAN'"}' | jq .batches[0].batchTransactions[0].details.creditorAgent='{"bic": "SANDBOXX"}' | jq .batches[0].batchTransactions[0].details.unstructuredRemittanceInformation='"CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG http://exchange.example.com/"')
-echo -e "UPDATE NexusBankTransactions SET transactionJson='"$NEW_TX"' WHERE id=$OLD_ID" | sqlite3 $DB.sqlite3
-# Now fake that the exchange prepared this payment (= it POSTed to /transfer)
-# This step is necessary, because the TWG table that accounts for outgoing
-# payments needs it. Worth noting here is the column 'rawConfirmation' that
-# points to the transaction from the main Nexus ledger; without that column set,
-# a prepared payment won't appear as actually outgoing.
-echo -e "INSERT INTO PaymentInitiations (bankAccount,preparationDate,submissionDate,sum,currency,endToEndId,paymentInformationId,instructionId,subject,creditorIban,creditorBic,creditorName,submitted,messageId,rawConfirmation) VALUES (1,1,1,10,'TESTKUDOS','NOTGIVEN','unused','unused','CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG http://exchange.example.com/','"$OTHER_IBAN"','SANDBOXX','Forty Two','unused',1,$OLD_ID)" | sqlite3 $DB.sqlite3
-# Now populate the TWG table that accounts for outgoing payments, in
-# order to let /history/outgoing return one result.
-echo -e "INSERT INTO TalerRequestedPayments (facade,payment,requestUid,amount,exchangeBaseUrl,wtid,creditAccount) VALUES (1,1,'unused','TESTKUDOS:10','http://exchange.example.com/','CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG','payto://iban/SANDBOXX/"$OTHER_IBAN"?receiver-name=Forty+Two')" | sqlite3 $DB.sqlite3
-
-run_audit
-
-echo -n "Testing inconsistency detection... "
-AMOUNT=`jq -r .wire_out_amount_inconsistencies[0].amount_wired < test-audit-wire.json`
-if test "x$AMOUNT" != "xTESTKUDOS:10"
-then
- exit_fail "Reported wired amount wrong: $AMOUNT"
-fi
-AMOUNT=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
-if test "x$AMOUNT" != "xTESTKUDOS:10"
-then
- exit_fail "Reported total plus amount wrong: $AMOUNT"
-fi
-AMOUNT=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
-if test "x$AMOUNT" != "xTESTKUDOS:0"
-then
- exit_fail "Reported total minus amount wrong: $AMOUNT"
-fi
-AMOUNT=`jq -r .wire_out_amount_inconsistencies[0].amount_justified < test-audit-wire.json`
-if test "x$AMOUNT" != "xTESTKUDOS:0"
-then
- exit_fail "Reported justified amount wrong: $AMOUNT"
-fi
-DIAG=`jq -r .wire_out_amount_inconsistencies[0].diagnostic < test-audit-wire.json`
-if test "x$DIAG" != "xjustification for wire transfer not found"
-then
- exit_fail "Reported diagnostic wrong: $DIAG"
-fi
-echo PASS
-
-# Undo database modification
-echo -e "UPDATE NexusBankTransactions SET transactionJson='"$OLD_TX"' WHERE id=$OLD_ID;" | sqlite3 $DB.sqlite3
-# No other prepared payment should exist at this point,
-# so OK to remove the number 1.
-echo -e "DELETE FROM PaymentInitiations WHERE id=1" | sqlite3 $DB.sqlite3
-echo -e "DELETE FROM TalerRequestedPayments WHERE id=1" | sqlite3 $DB.sqlite3
+ echo "===========11: spurious outgoing transfer ==========="
+ OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
+ OLD_TX=`echo "SELECT transactionJson FROM NexusBankTransactions WHERE id='$OLD_ID';" | sqlite3 $DB.sqlite3`
+ # Change wire transfer to be FROM the exchange (#2) to elsewhere!
+ # (Note: this change also causes a missing incoming wire transfer, but
+ # this test is only concerned about the outgoing wire transfer
+ # being detected as such, and we simply ignore the other
+ # errors being reported.)
+ OTHER_IBAN=`echo -e "SELECT iban FROM BankAccounts WHERE label='fortytwo'" | sqlite3 $DB.sqlite3`
+ NEW_TX=$(echo "$OLD_TX" | jq .batches[0].batchTransactions[0].details.creditDebitIndicator='"DBIT"' | jq 'del(.batches[0].batchTransactions[0].details.debtor)' | jq 'del(.batches[0].batchTransactions[0].details.debtorAccount)' | jq 'del(.batches[0].batchTransactions[0].details.debtorAgent)' | jq '.batches[0].batchTransactions[0].details.creditor'='{"name": "Forty Two"}' | jq .batches[0].batchTransactions[0].details.creditorAccount='{"iban": "'$OTHER_IBAN'"}' | jq .batches[0].batchTransactions[0].details.creditorAgent='{"bic": "SANDBOXX"}' | jq .batches[0].batchTransactions[0].details.unstructuredRemittanceInformation='"CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG http://exchange.example.com/"')
+ echo -e "UPDATE NexusBankTransactions SET transactionJson='"$NEW_TX"' WHERE id=$OLD_ID" | sqlite3 $DB.sqlite3
+ # Now fake that the exchange prepared this payment (= it POSTed to /transfer)
+ # This step is necessary, because the TWG table that accounts for outgoing
+ # payments needs it. Worth noting here is the column 'rawConfirmation' that
+ # points to the transaction from the main Nexus ledger; without that column set,
+ # a prepared payment won't appear as actually outgoing.
+ echo -e "INSERT INTO PaymentInitiations (bankAccount,preparationDate,submissionDate,sum,currency,endToEndId,paymentInformationId,instructionId,subject,creditorIban,creditorBic,creditorName,submitted,messageId,rawConfirmation) VALUES (1,1,1,10,'TESTKUDOS','NOTGIVEN','unused','unused','CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG http://exchange.example.com/','"$OTHER_IBAN"','SANDBOXX','Forty Two','unused',1,$OLD_ID)" | sqlite3 $DB.sqlite3
+ # Now populate the TWG table that accounts for outgoing payments, in
+ # order to let /history/outgoing return one result.
+ echo -e "INSERT INTO TalerRequestedPayments (facade,payment,requestUid,amount,exchangeBaseUrl,wtid,creditAccount) VALUES (1,1,'unused','TESTKUDOS:10','http://exchange.example.com/','CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG','payto://iban/SANDBOXX/"$OTHER_IBAN"?receiver-name=Forty+Two')" | sqlite3 $DB.sqlite3
+
+ run_audit
+
+ echo -n "Testing inconsistency detection... "
+ AMOUNT=`jq -r .wire_out_amount_inconsistencies[0].amount_wired < test-audit-wire.json`
+ if test "x$AMOUNT" != "xTESTKUDOS:10"
+ then
+ exit_fail "Reported wired amount wrong: $AMOUNT"
+ fi
+ AMOUNT=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
+ if test "x$AMOUNT" != "xTESTKUDOS:10"
+ then
+ exit_fail "Reported total plus amount wrong: $AMOUNT"
+ fi
+ AMOUNT=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
+ if test "x$AMOUNT" != "xTESTKUDOS:0"
+ then
+ exit_fail "Reported total minus amount wrong: $AMOUNT"
+ fi
+ AMOUNT=`jq -r .wire_out_amount_inconsistencies[0].amount_justified < test-audit-wire.json`
+ if test "x$AMOUNT" != "xTESTKUDOS:0"
+ then
+ exit_fail "Reported justified amount wrong: $AMOUNT"
+ fi
+ DIAG=`jq -r .wire_out_amount_inconsistencies[0].diagnostic < test-audit-wire.json`
+ if test "x$DIAG" != "xjustification for wire transfer not found"
+ then
+ exit_fail "Reported diagnostic wrong: $DIAG"
+ fi
+ echo PASS
+
+ # Undo database modification
+ echo -e "UPDATE NexusBankTransactions SET transactionJson='"$OLD_TX"' WHERE id=$OLD_ID;" | sqlite3 $DB.sqlite3
+ # No other prepared payment should exist at this point,
+ # so OK to remove the number 1.
+ echo -e "DELETE FROM PaymentInitiations WHERE id=1" | sqlite3 $DB.sqlite3
+ echo -e "DELETE FROM TalerRequestedPayments WHERE id=1" | sqlite3 $DB.sqlite3
}
# Test for hanging/pending refresh.
function test_12() {
-echo "===========12: incomplete refresh ==========="
-OLD_ACC=`echo "DELETE FROM exchange.refresh_revealed_coins;" | psql $DB -Aqt`
+ echo "===========12: incomplete refresh ==========="
+ OLD_ACC=`echo "DELETE FROM exchange.refresh_revealed_coins;" | psql $DB -Aqt`
-run_audit
+ run_audit
-echo -n "Testing hung refresh detection... "
+ echo -n "Testing hung refresh detection... "
-HANG=`jq -er .refresh_hanging[0].amount < test-audit-coins.json`
-TOTAL_HANG=`jq -er .total_refresh_hanging < test-audit-coins.json`
-if test x$HANG = TESTKUDOS:0
-then
- exit_fail "Hanging amount zero"
-fi
-if test x$TOTAL_HANG = TESTKUDOS:0
-then
- exit_fail "Total hanging amount zero"
-fi
+ HANG=`jq -er .refresh_hanging[0].amount < test-audit-coins.json`
+ TOTAL_HANG=`jq -er .total_refresh_hanging < test-audit-coins.json`
+ if test x$HANG = TESTKUDOS:0
+ then
+ exit_fail "Hanging amount zero"
+ fi
+ if test x$TOTAL_HANG = TESTKUDOS:0
+ then
+ exit_fail "Total hanging amount zero"
+ fi
-echo PASS
+ echo PASS
-# cannot easily undo DELETE, hence full reload
-full_reload
+ # cannot easily undo DELETE, hence full reload
+ full_reload
}
@@ -990,53 +985,45 @@ full_reload
# Test for wrong signature on refresh.
function test_13() {
-echo "===========13: wrong melt signature ==========="
-# Modify denom_sig, so it is wrong
-COIN_PUB=`echo "SELECT old_coin_pub FROM exchange.refresh_commitments LIMIT 1;" | psql $DB -Aqt`
-OLD_SIG=`echo "SELECT old_coin_sig FROM exchange.refresh_commitments WHERE old_coin_pub='$COIN_PUB';" | psql $DB -Aqt`
-NEW_SIG="\xba588af7c13c477dca1ac458f65cc484db8fba53b969b873f4353ecbd815e6b4c03f42c0cb63a2b609c2d726e612fd8e0c084906a41f409b6a23a08a83c89a02"
-echo "UPDATE exchange.refresh_commitments SET old_coin_sig='$NEW_SIG' WHERE old_coin_pub='$COIN_PUB'" | psql -Aqt $DB
+ echo "===========13: wrong melt signature ==========="
+ # Modify denom_sig, so it is wrong
+ COIN_PUB=`echo "SELECT old_coin_pub FROM exchange.refresh_commitments LIMIT 1;" | psql $DB -Aqt`
+ OLD_SIG=`echo "SELECT old_coin_sig FROM exchange.refresh_commitments WHERE old_coin_pub='$COIN_PUB';" | psql $DB -Aqt`
+ NEW_SIG="\xba588af7c13c477dca1ac458f65cc484db8fba53b969b873f4353ecbd815e6b4c03f42c0cb63a2b609c2d726e612fd8e0c084906a41f409b6a23a08a83c89a02"
+ echo "UPDATE exchange.refresh_commitments SET old_coin_sig='$NEW_SIG' WHERE old_coin_pub='$COIN_PUB'" | psql -Aqt $DB
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
+ echo -n "Testing inconsistency detection... "
-OP=`jq -er .bad_sig_losses[0].operation < test-audit-coins.json`
-if test x$OP != xmelt
-then
- exit_fail "Operation wrong, got $OP"
-fi
+ OP=`jq -er .bad_sig_losses[0].operation < test-audit-coins.json`
+ if test x$OP != xmelt
+ then
+ exit_fail "Operation wrong, got $OP"
+ fi
-LOSS=`jq -er .bad_sig_losses[0].loss < test-audit-coins.json`
-TOTAL_LOSS=`jq -er .total_bad_sig_loss < test-audit-coins.json`
-if test x$LOSS != x$TOTAL_LOSS
-then
- exit_fail "Loss inconsistent, got $LOSS and $TOTAL_LOSS"
-fi
-if test x$TOTAL_LOSS = TESTKUDOS:0
-then
- exit_fail "Loss zero"
-fi
+ LOSS=`jq -er .bad_sig_losses[0].loss < test-audit-coins.json`
+ TOTAL_LOSS=`jq -er .total_bad_sig_loss < test-audit-coins.json`
+ if test x$LOSS != x$TOTAL_LOSS
+ then
+ exit_fail "Loss inconsistent, got $LOSS and $TOTAL_LOSS"
+ fi
+ if test x$TOTAL_LOSS = TESTKUDOS:0
+ then
+ exit_fail "Loss zero"
+ fi
-echo PASS
+ echo PASS
-# cannot easily undo DELETE, hence full reload
-full_reload
+ # cannot easily undo DELETE, hence full reload
+ full_reload
}
# Test for wire fee disagreement
function test_14() {
-echo "===========14: wire-fee disagreement==========="
-
-# Check wire transfer lag reported (no aggregator!)
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-wire-auditor.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
+ echo "===========14: wire-fee disagreement==========="
# Wire fees are only checked/generated once there are
# actual outgoing wire transfers, so we need to run the
@@ -1061,49 +1048,38 @@ then
# cannot easily undo aggregator, hence full reload
full_reload
-
-else
- echo "Test skipped (database too new)"
-fi
-
}
# Test where salt in the deposit table is wrong
function test_15() {
-echo "===========15: deposit wire salt wrong================="
+ echo "===========15: deposit wire salt wrong================="
-# Modify wire_salt hash, so it is inconsistent
-SALT=`echo "SELECT wire_salt FROM exchange.deposits WHERE deposit_serial_id=1;" | psql -Aqt $DB`
-echo "UPDATE exchange.deposits SET wire_salt='\x1197cd7f7b0e13ab1905fedb36c536a2' WHERE deposit_serial_id=1;" | psql -Aqt $DB
+ # Modify wire_salt hash, so it is inconsistent
+ SALT=`echo "SELECT wire_salt FROM exchange.deposits WHERE deposit_serial_id=1;" | psql -Aqt $DB`
+ echo "UPDATE exchange.deposits SET wire_salt='\x1197cd7f7b0e13ab1905fedb36c536a2' WHERE deposit_serial_id=1;" | psql -Aqt $DB
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
-OP=`jq -r .bad_sig_losses[0].operation < test-audit-coins.json`
-if test "x$OP" != "xdeposit"
-then
- exit_fail "Reported operation wrong: $OP"
-fi
-echo PASS
+ echo -n "Testing inconsistency detection... "
+ OP=`jq -r .bad_sig_losses[0].operation < test-audit-coins.json`
+ if test "x$OP" != "xdeposit"
+ then
+ exit_fail "Reported operation wrong: $OP"
+ fi
+ echo PASS
-# Restore DB
-echo "UPDATE exchange.deposits SET wire_salt='$SALT' WHERE deposit_serial_id=1;" | psql -Aqt $DB
+ # Restore DB
+ echo "UPDATE exchange.deposits SET wire_salt='$SALT' WHERE deposit_serial_id=1;" | psql -Aqt $DB
}
# Test where wired amount (wire out) is wrong
function test_16() {
-echo "===========16: incorrect wire_out amount================="
-
-# Check wire transfer lag reported (no aggregator!)
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
+ echo "===========16: incorrect wire_out amount================="
+
+ # Check wire transfer lag reported (no aggregator!)
# First, we need to run the aggregator so we even
# have a wire_out to modify.
@@ -1115,20 +1091,20 @@ then
# (Only one payment out exist, so the logic below should select the outgoing
# wire transfer):
function test_16_db () {
- OLD_AMOUNT=`echo "SELECT amount FROM TalerRequestedPayments WHERE id='1';" | sqlite3 $DB.sqlite3`
- NEW_AMOUNT="TESTKUDOS:50"
- echo "UPDATE TalerRequestedPayments SET amount='${NEW_AMOUNT}' WHERE id='1';" | sqlite3 $DB.sqlite3
+ OLD_AMOUNT=`echo "SELECT amount FROM TalerRequestedPayments WHERE id='1';" | sqlite3 $DB.sqlite3`
+ NEW_AMOUNT="TESTKUDOS:50"
+ echo "UPDATE TalerRequestedPayments SET amount='${NEW_AMOUNT}' WHERE id='1';" | sqlite3 $DB.sqlite3
}
echo -n Trying to patch the SQLite database..
for try in `seq 1 10`; do
- if test_16_db 2>&1 > /dev/null; then
- break
- fi
- echo -n .
- if test $try = 10; then
- exit_fail "Could not modify the SQLite database"
- fi
- sleep 0.3
+ if test_16_db 2>&1 > /dev/null; then
+ break
+ fi
+ echo -n .
+ if test $try = 10; then
+ exit_fail "Could not modify the SQLite database"
+ fi
+ sleep 0.3
done
echo DONE
@@ -1191,25 +1167,13 @@ then
# cannot easily undo aggregator, hence full reload
full_reload
-else
- echo "Test skipped (database too new)"
-fi
-
}
-
# Test where wire-out timestamp is wrong
function test_17() {
-echo "===========17: incorrect wire_out timestamp================="
-# Check wire transfer lag reported (no aggregator!)
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
+ echo "===========17: incorrect wire_out timestamp================="
# First, we need to run the aggregator so we even
# have a wire_out to modify.
@@ -1221,24 +1185,24 @@ then
# (exchange paid only once, so the logic below should select the outgoing
# wire transfer).
function test_17_db () {
- OLD_ID=1
- OLD_PREP=`echo "SELECT payment FROM TalerRequestedPayments WHERE id='${OLD_ID}';" | sqlite3 $DB.sqlite3`
- OLD_DATE=`echo "SELECT preparationDate FROM PaymentInitiations WHERE id='${OLD_ID}';" | sqlite3 $DB.sqlite3`
- # Note: need - interval '1h' as "NOW()" may otherwise be exactly what is already in the DB
- # (due to rounding, if this machine is fast...)
- NOW_1HR=$(expr $(date +%s) - 3600)
- echo "UPDATE PaymentInitiations SET preparationDate='$NOW_1HR' WHERE id='${OLD_PREP}';" | sqlite3 $DB.sqlite3
+ OLD_ID=1
+ OLD_PREP=`echo "SELECT payment FROM TalerRequestedPayments WHERE id='${OLD_ID}';" | sqlite3 $DB.sqlite3`
+ OLD_DATE=`echo "SELECT preparationDate FROM PaymentInitiations WHERE id='${OLD_ID}';" | sqlite3 $DB.sqlite3`
+ # Note: need - interval '1h' as "NOW()" may otherwise be exactly what is already in the DB
+ # (due to rounding, if this machine is fast...)
+ NOW_1HR=$(expr $(date +%s) - 3600)
+ echo "UPDATE PaymentInitiations SET preparationDate='$NOW_1HR' WHERE id='${OLD_PREP}';" | sqlite3 $DB.sqlite3
}
echo -n Trying to patch the SQLite database..
for try in `seq 1 10`; do
- if test_17_db 2>&1 > /dev/null; then
- break
- fi
- echo -n .
- if test $try = 10; then
- exit_fail "Could not modify the SQLite database"
- fi
- sleep 0.3
+ if test_17_db 2>&1 > /dev/null; then
+ break
+ fi
+ echo -n .
+ if test $try = 10; then
+ exit_fail "Could not modify the SQLite database"
+ fi
+ sleep 0.3
done
echo DONE
audit_only
@@ -1260,11 +1224,6 @@ then
# cannot easily undo aggregator, hence full reload
full_reload
-
-else
- echo "Test skipped (database too new)"
-fi
-
}
@@ -1272,53 +1231,46 @@ fi
# Test where we trigger an emergency.
function test_18() {
-echo "===========18: emergency================="
+ echo "===========18: emergency================="
-echo "DELETE FROM exchange.reserves_out;" | psql -Aqt $DB
+ echo "DELETE FROM exchange.reserves_out;" | psql -Aqt $DB
-run_audit
+ run_audit
-echo -n "Testing emergency detection... "
+ echo -n "Testing emergency detection... "
-jq -e .reserve_balance_summary_wrong_inconsistencies[0] < test-audit-reserves.json > /dev/null || exit_fail "Reserve balance inconsistency not detected"
+ jq -e .reserve_balance_summary_wrong_inconsistencies[0] < test-audit-reserves.json > /dev/null || exit_fail "Reserve balance inconsistency not detected"
-jq -e .emergencies[0] < test-audit-coins.json > /dev/null || exit_fail "Emergency not detected"
-jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null || exit_fail "Emergency by count not detected"
-jq -e .amount_arithmetic_inconsistencies[0] < test-audit-coins.json > /dev/null || exit_fail "Escrow balance calculation impossibility not detected"
+ jq -e .emergencies[0] < test-audit-coins.json > /dev/null || exit_fail "Emergency not detected"
+ jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null || exit_fail "Emergency by count not detected"
+ jq -e .amount_arithmetic_inconsistencies[0] < test-audit-coins.json > /dev/null || exit_fail "Escrow balance calculation impossibility not detected"
-echo PASS
+ echo PASS
-echo -n "Testing loss calculation... "
+ echo -n "Testing loss calculation... "
-AMOUNT=`jq -r .emergencies_loss < test-audit-coins.json`
-if test "x$AMOUNT" == "xTESTKUDOS:0"
-then
- exit_fail "Reported amount wrong: $AMOUNT"
-fi
-AMOUNT=`jq -r .emergencies_loss_by_count < test-audit-coins.json`
-if test "x$AMOUNT" == "xTESTKUDOS:0"
-then
- exit_fail "Reported amount wrong: $AMOUNT"
-fi
+ AMOUNT=`jq -r .emergencies_loss < test-audit-coins.json`
+ if test "x$AMOUNT" == "xTESTKUDOS:0"
+ then
+ exit_fail "Reported amount wrong: $AMOUNT"
+ fi
+ AMOUNT=`jq -r .emergencies_loss_by_count < test-audit-coins.json`
+ if test "x$AMOUNT" == "xTESTKUDOS:0"
+ then
+ exit_fail "Reported amount wrong: $AMOUNT"
+ fi
-echo PASS
+ echo PASS
-# cannot easily undo broad DELETE operation, hence full reload
-full_reload
+ # cannot easily undo broad DELETE operation, hence full reload
+ full_reload
}
# Test where reserve closure was done properly
function test_19() {
-echo "===========19: reserve closure done properly ================="
-
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
+ echo "===========19: reserve closure done properly ================="
OLD_TIME=`echo "SELECT execution_date FROM exchange.reserves_in WHERE reserve_in_serial_id=1;" | psql $DB -Aqt`
OLD_VAL=`echo "SELECT credit_val FROM exchange.reserves_in WHERE reserve_in_serial_id=1;" | psql $DB -Aqt`
@@ -1347,56 +1299,44 @@ then
# cannot easily undo aggregator, hence full reload
full_reload
-
-else
- echo "Test skipped (database too new)"
-fi
}
# Test where reserve closure was not done properly
function test_20() {
-echo "===========20: reserve closure missing ================="
+ echo "===========20: reserve closure missing ================="
-OLD_TIME=`echo "SELECT execution_date FROM exchange.reserves_in WHERE reserve_in_serial_id=1;" | psql $DB -Aqt`
-OLD_VAL=`echo "SELECT credit_val FROM exchange.reserves_in WHERE reserve_in_serial_id=1;" | psql $DB -Aqt`
-RES_PUB=`echo "SELECT reserve_pub FROM exchange.reserves_in WHERE reserve_in_serial_id=1;" | psql $DB -Aqt`
-NEW_TIME=`expr $OLD_TIME - 3024000000000 || true` # 5 weeks
-NEW_CREDIT=`expr $OLD_VAL + 100 || true`
-echo "UPDATE exchange.reserves_in SET execution_date='${NEW_TIME}',credit_val=${NEW_CREDIT} WHERE reserve_in_serial_id=1;" | psql -Aqt $DB
-echo "UPDATE exchange.reserves SET current_balance_val=100+current_balance_val WHERE reserve_pub='${RES_PUB}';" | psql -Aqt $DB
+ OLD_TIME=`echo "SELECT execution_date FROM exchange.reserves_in WHERE reserve_in_serial_id=1;" | psql $DB -Aqt`
+ OLD_VAL=`echo "SELECT credit_val FROM exchange.reserves_in WHERE reserve_in_serial_id=1;" | psql $DB -Aqt`
+ RES_PUB=`echo "SELECT reserve_pub FROM exchange.reserves_in WHERE reserve_in_serial_id=1;" | psql $DB -Aqt`
+ NEW_TIME=`expr $OLD_TIME - 3024000000000 || true` # 5 weeks
+ NEW_CREDIT=`expr $OLD_VAL + 100 || true`
+ echo "UPDATE exchange.reserves_in SET execution_date='${NEW_TIME}',credit_val=${NEW_CREDIT} WHERE reserve_in_serial_id=1;" | psql -Aqt $DB
+ echo "UPDATE exchange.reserves SET current_balance_val=100+current_balance_val WHERE reserve_pub='${RES_PUB}';" | psql -Aqt $DB
-# This time, run without the aggregator so the reserve closure is skipped!
-run_audit
+ # This time, run without the aggregator so the reserve closure is skipped!
+ run_audit
-echo -n "Testing reserve closure missing detected... "
-jq -e .reserve_not_closed_inconsistencies[0] < test-audit-reserves.json > /dev/null || exit_fail "Reserve not closed inconsistency not detected"
-echo "PASS"
+ echo -n "Testing reserve closure missing detected... "
+ jq -e .reserve_not_closed_inconsistencies[0] < test-audit-reserves.json > /dev/null || exit_fail "Reserve not closed inconsistency not detected"
+ echo "PASS"
-AMOUNT=`jq -r .total_balance_reserve_not_closed < test-audit-reserves.json`
-if test "x$AMOUNT" == "xTESTKUDOS:0"
-then
- exit_fail "Reported total amount wrong: $AMOUNT"
-fi
+ AMOUNT=`jq -r .total_balance_reserve_not_closed < test-audit-reserves.json`
+ if test "x$AMOUNT" == "xTESTKUDOS:0"
+ then
+ exit_fail "Reported total amount wrong: $AMOUNT"
+ fi
-# Undo
-echo "UPDATE exchange.reserves_in SET execution_date='${OLD_TIME}',credit_val=${OLD_VAL} WHERE reserve_in_serial_id=1;" | psql -Aqt $DB
-echo "UPDATE exchange.reserves SET current_balance_val=current_balance_val-100 WHERE reserve_pub='${RES_PUB}';" | psql -Aqt $DB
+ # Undo
+ echo "UPDATE exchange.reserves_in SET execution_date='${OLD_TIME}',credit_val=${OLD_VAL} WHERE reserve_in_serial_id=1;" | psql -Aqt $DB
+ echo "UPDATE exchange.reserves SET current_balance_val=current_balance_val-100 WHERE reserve_pub='${RES_PUB}';" | psql -Aqt $DB
}
# Test reserve closure reported but wire transfer missing detection
function test_21() {
-echo "===========21: reserve closure missreported ================="
-
-# Check wire transfer lag reported (no aggregator!)
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
+ echo "===========21: reserve closure missreported ================="
OLD_TIME=`echo "SELECT execution_date FROM exchange.reserves_in WHERE reserve_in_serial_id=1;" | psql $DB -Aqt`
OLD_VAL=`echo "SELECT credit_val FROM exchange.reserves_in WHERE reserve_in_serial_id=1;" | psql $DB -Aqt`
@@ -1437,35 +1377,32 @@ then
# cannot easily undo aggregator, hence full reload
full_reload
-else
- echo "Test skipped (database too new)"
-fi
}
# Test use of withdraw-expired denomination key
function test_22() {
-echo "===========22: denomination key expired ================="
+ echo "===========22: denomination key expired ================="
-S_DENOM=`echo 'SELECT denominations_serial FROM exchange.reserves_out LIMIT 1;' | psql $DB -Aqt`
+ S_DENOM=`echo 'SELECT denominations_serial FROM exchange.reserves_out LIMIT 1;' | psql $DB -Aqt`
-OLD_START=`echo "SELECT valid_from FROM exchange.denominations WHERE denominations_serial='${S_DENOM}';" | psql $DB -Aqt`
-OLD_WEXP=`echo "SELECT expire_withdraw FROM exchange.denominations WHERE denominations_serial='${S_DENOM}';" | psql $DB -Aqt`
-# Basically expires 'immediately', so that the withdraw must have been 'invalid'
-NEW_WEXP=$OLD_START
+ OLD_START=`echo "SELECT valid_from FROM exchange.denominations WHERE denominations_serial='${S_DENOM}';" | psql $DB -Aqt`
+ OLD_WEXP=`echo "SELECT expire_withdraw FROM exchange.denominations WHERE denominations_serial='${S_DENOM}';" | psql $DB -Aqt`
+ # Basically expires 'immediately', so that the withdraw must have been 'invalid'
+ NEW_WEXP=$OLD_START
-echo "UPDATE exchange.denominations SET expire_withdraw=${NEW_WEXP} WHERE denominations_serial='${S_DENOM}';" | psql -Aqt $DB
+ echo "UPDATE exchange.denominations SET expire_withdraw=${NEW_WEXP} WHERE denominations_serial='${S_DENOM}';" | psql -Aqt $DB
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
-jq -e .denomination_key_validity_withdraw_inconsistencies[0] < test-audit-reserves.json > /dev/null || exit_fail "Denomination key withdraw inconsistency for $S_DENOM not detected"
+ echo -n "Testing inconsistency detection... "
+ jq -e .denomination_key_validity_withdraw_inconsistencies[0] < test-audit-reserves.json > /dev/null || exit_fail "Denomination key withdraw inconsistency for $S_DENOM not detected"
-echo PASS
+ echo PASS
-# Undo modification
-echo "UPDATE exchange.denominations SET expire_withdraw=${OLD_WEXP} WHERE denominations_serial='${S_DENOM}';" | psql -Aqt $DB
+ # Undo modification
+ echo "UPDATE exchange.denominations SET expire_withdraw=${OLD_WEXP} WHERE denominations_serial='${S_DENOM}';" | psql -Aqt $DB
}
@@ -1473,15 +1410,7 @@ echo "UPDATE exchange.denominations SET expire_withdraw=${OLD_WEXP} WHERE denomi
# Test calculation of wire-out amounts
function test_23() {
-echo "===========23: wire out calculations ================="
-
-# Check wire transfer lag reported (no aggregator!)
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
+ echo "===========23: wire out calculations ================="
# Need to first run the aggregator so the transfer is marked as done exists
pre_audit aggregator
@@ -1543,12 +1472,8 @@ then
fi
echo PASS
-
# cannot easily undo aggregator, hence full reload
full_reload
-else
- echo "Test skipped (database too new)"
-fi
}
@@ -1556,52 +1481,45 @@ fi
# Test for missing deposits in exchange database.
function test_24() {
-echo "===========24: deposits missing ==========="
-# Modify denom_sig, so it is wrong
-CNT=`echo "SELECT COUNT(*) FROM exchange.deposit_confirmations;" | psql -Aqt $DB`
-if test x$CNT = x0
-then
- echo "Skipping deposits missing test: no deposit confirmations in database!"
-else
- echo "DELETE FROM exchange.deposits;" | psql -Aqt $DB
- echo "DELETE FROM exchange.deposits WHERE deposit_serial_id=1;" | psql -Aqt $DB
+ echo "===========24: deposits missing ==========="
+ # Modify denom_sig, so it is wrong
+ CNT=`echo "SELECT COUNT(*) FROM exchange.deposit_confirmations;" | psql -Aqt $DB`
+ if test x$CNT = x0
+ then
+ echo "Skipping deposits missing test: no deposit confirmations in database!"
+ else
+ echo "DELETE FROM exchange.deposits;" | psql -Aqt $DB
+ echo "DELETE FROM exchange.deposits WHERE deposit_serial_id=1;" | psql -Aqt $DB
- run_audit
+ run_audit
- echo -n "Testing inconsistency detection... "
+ echo -n "Testing inconsistency detection... "
- jq -e .deposit_confirmation_inconsistencies[0] < test-audit-deposits.json > /dev/null || exit_fail "Deposit confirmation inconsistency NOT detected"
+ jq -e .deposit_confirmation_inconsistencies[0] < test-audit-deposits.json > /dev/null || exit_fail "Deposit confirmation inconsistency NOT detected"
- AMOUNT=`jq -er .missing_deposit_confirmation_total < test-audit-deposits.json`
- if test x$AMOUNT = xTESTKUDOS:0
- then
- exit_fail "Expected non-zero total missing deposit confirmation amount"
- fi
- COUNT=`jq -er .missing_deposit_confirmation_count < test-audit-deposits.json`
- if test x$AMOUNT = x0
- then
- exit_fail "Expected non-zero total missing deposit confirmation count"
- fi
+ AMOUNT=`jq -er .missing_deposit_confirmation_total < test-audit-deposits.json`
+ if test x$AMOUNT = xTESTKUDOS:0
+ then
+ exit_fail "Expected non-zero total missing deposit confirmation amount"
+ fi
+ COUNT=`jq -er .missing_deposit_confirmation_count < test-audit-deposits.json`
+ if test x$AMOUNT = x0
+ then
+ exit_fail "Expected non-zero total missing deposit confirmation count"
+ fi
- echo PASS
+ echo PASS
- # cannot easily undo DELETE, hence full reload
- full_reload
-fi
+ # cannot easily undo DELETE, hence full reload
+ full_reload
+ fi
}
# Test for inconsistent coin history.
function test_25() {
-echo "=========25: inconsistent coin history========="
-
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
+ echo "=========25: inconsistent coin history========="
# Drop refund, so coin history is bogus.
echo "DELETE FROM exchange.refunds WHERE refund_serial_id=1;" | psql -Aqt $DB
@@ -1632,70 +1550,59 @@ then
# cannot easily undo DELETE, hence full reload
full_reload
-else
- echo "Test skipped (database too new)"
-fi
}
# Test for deposit wire target malformed
function test_26() {
-echo "===========26: deposit wire target malformed ================="
-# Expects 'payto_uri', not 'url' (also breaks signature, but we cannot even check that).
-SERIAL=`echo "SELECT deposit_serial_id FROM exchange.deposits WHERE amount_with_fee_val=3 AND amount_with_fee_frac=0 ORDER BY deposit_serial_id LIMIT 1" | psql $DB -Aqt`
-OLD_WIRE_ID=`echo "SELECT wire_target_h_payto FROM exchange.deposits WHERE deposit_serial_id=${SERIAL};" | psql $DB -Aqt`
-NEW_WIRE_ID=`echo "INSERT INTO exchange.wire_targets (payto_uri, wire_target_h_payto) VALUES ('payto://x-taler-bank/localhost/testuser-xxlargtp', '\x1e8f31936b3cee8f8afd3aac9e38b5db42d45b721ffc4eb1e5b9ddaf1565660b');" | psql $DB -Aqt`
-echo OLD_WIRE_ID=$OLD_WIRE_ID
-echo NEW_WIRE_ID=$NEW_WIRE_ID
-echo "UPDATE exchange.deposits SET wire_target_h_payto='\x1e8f31936b3cee8f8afd3aac9e38b5db42d45b721ffc4eb1e5b9ddaf1565660b' WHERE deposit_serial_id=${SERIAL}" | psql -Aqt $DB
+ echo "===========26: deposit wire target malformed ================="
+ # Expects 'payto_uri', not 'url' (also breaks signature, but we cannot even check that).
+ SERIAL=`echo "SELECT deposit_serial_id FROM exchange.deposits WHERE amount_with_fee_val=3 AND amount_with_fee_frac=0 ORDER BY deposit_serial_id LIMIT 1" | psql $DB -Aqt`
+ OLD_WIRE_ID=`echo "SELECT wire_target_h_payto FROM exchange.deposits WHERE deposit_serial_id=${SERIAL};" | psql $DB -Aqt`
+ NEW_WIRE_ID=`echo "INSERT INTO exchange.wire_targets (payto_uri, wire_target_h_payto) VALUES ('payto://x-taler-bank/localhost/testuser-xxlargtp', '\x1e8f31936b3cee8f8afd3aac9e38b5db42d45b721ffc4eb1e5b9ddaf1565660b');" | psql $DB -Aqt`
+ echo OLD_WIRE_ID=$OLD_WIRE_ID
+ echo NEW_WIRE_ID=$NEW_WIRE_ID
+ echo "UPDATE exchange.deposits SET wire_target_h_payto='\x1e8f31936b3cee8f8afd3aac9e38b5db42d45b721ffc4eb1e5b9ddaf1565660b' WHERE deposit_serial_id=${SERIAL}" | psql -Aqt $DB
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
+ echo -n "Testing inconsistency detection... "
-jq -e .bad_sig_losses[0] < test-audit-coins.json > /dev/null || exit_fail "Bad signature not detected"
+ jq -e .bad_sig_losses[0] < test-audit-coins.json > /dev/null || exit_fail "Bad signature not detected"
-ROW=`jq -e .bad_sig_losses[0].row < test-audit-coins.json`
-if test $ROW != ${SERIAL}
-then
- exit_fail "Row wrong, got $ROW"
-fi
+ ROW=`jq -e .bad_sig_losses[0].row < test-audit-coins.json`
+ if test $ROW != ${SERIAL}
+ then
+ exit_fail "Row wrong, got $ROW"
+ fi
-LOSS=`jq -r .bad_sig_losses[0].loss < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:3"
-then
- exit_fail "Wrong deposit bad signature loss, got $LOSS"
-fi
+ LOSS=`jq -r .bad_sig_losses[0].loss < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:3"
+ then
+ exit_fail "Wrong deposit bad signature loss, got $LOSS"
+ fi
-OP=`jq -r .bad_sig_losses[0].operation < test-audit-coins.json`
-if test $OP != "deposit"
-then
- exit_fail "Wrong operation, got $OP"
-fi
+ OP=`jq -r .bad_sig_losses[0].operation < test-audit-coins.json`
+ if test $OP != "deposit"
+ then
+ exit_fail "Wrong operation, got $OP"
+ fi
-LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:3"
-then
- exit_fail "Wrong total bad sig loss, got $LOSS"
-fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:3"
+ then
+ exit_fail "Wrong total bad sig loss, got $LOSS"
+ fi
-echo PASS
-# Undo:
-echo "UPDATE exchange.deposits SET wire_target_h_payto='$OLD_WIRE_ID' WHERE deposit_serial_id=${SERIAL}" | psql -Aqt $DB
+ echo PASS
+ # Undo:
+ echo "UPDATE exchange.deposits SET wire_target_h_payto='$OLD_WIRE_ID' WHERE deposit_serial_id=${SERIAL}" | psql -Aqt $DB
}
# Test for duplicate wire transfer subject
function test_27() {
-echo "===========27: duplicate WTID detection ================="
-
-# Check wire transfer lag reported (no aggregator!)
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
+ echo "===========27: duplicate WTID detection ================="
pre_audit aggregator
@@ -1726,10 +1633,6 @@ then
# cannot easily undo aggregator, hence full reload
full_reload
-else
- echo "Test skipped (database too new)"
-fi
-
}
@@ -1738,12 +1641,6 @@ fi
# Test where denom_sig in known_coins table is wrong
# (=> bad signature) AND the coin is used in aggregation
function test_28() {
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
echo "===========28: known_coins signature wrong================="
# Modify denom_sig, so it is wrong
@@ -1780,10 +1677,6 @@ then
echo "OK"
# cannot easily undo aggregator, hence full reload
full_reload
-
-else
- echo "Test skipped (database too new)"
-fi
}
@@ -1791,27 +1684,27 @@ fi
# Test where fees known to the auditor differ from those
# accounted for by the exchange
function test_29() {
-echo "===========29: withdraw fee inconsistency ================="
+ echo "===========29: withdraw fee inconsistency ================="
-echo "UPDATE exchange.denominations SET fee_withdraw_frac=5000000 WHERE coin_val=1;" | psql -Aqt $DB
+ echo "UPDATE exchange.denominations SET fee_withdraw_frac=5000000 WHERE coin_val=1;" | psql -Aqt $DB
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
-AMOUNT=`jq -r .total_balance_summary_delta_minus < test-audit-reserves.json`
-if test "x$AMOUNT" == "xTESTKUDOS:0"
-then
- exit_fail "Reported total amount wrong: $AMOUNT"
-fi
+ echo -n "Testing inconsistency detection... "
+ AMOUNT=`jq -r .total_balance_summary_delta_minus < test-audit-reserves.json`
+ if test "x$AMOUNT" == "xTESTKUDOS:0"
+ then
+ exit_fail "Reported total amount wrong: $AMOUNT"
+ fi
-PROFIT=`jq -r .amount_arithmetic_inconsistencies[0].profitable < test-audit-coins.json`
-if test "x$PROFIT" != "x-1"
-then
- exit_fail "Reported wrong profitability: $PROFIT"
-fi
-echo "OK"
-# Undo
-echo "UPDATE exchange.denominations SET fee_withdraw_frac=2000000 WHERE coin_val=1;" | psql -Aqt $DB
+ PROFIT=`jq -r .amount_arithmetic_inconsistencies[0].profitable < test-audit-coins.json`
+ if test "x$PROFIT" != "x-1"
+ then
+ exit_fail "Reported wrong profitability: $PROFIT"
+ fi
+ echo "OK"
+ # Undo
+ echo "UPDATE exchange.denominations SET fee_withdraw_frac=2000000 WHERE coin_val=1;" | psql -Aqt $DB
}
@@ -1819,28 +1712,28 @@ echo "UPDATE exchange.denominations SET fee_withdraw_frac=2000000 WHERE coin_val
# Test where fees known to the auditor differ from those
# accounted for by the exchange
function test_30() {
-echo "===========30: melt fee inconsistency ================="
+ echo "===========30: melt fee inconsistency ================="
-echo "UPDATE exchange.denominations SET fee_refresh_frac=5000000 WHERE coin_val=10;" | psql -Aqt $DB
+ echo "UPDATE exchange.denominations SET fee_refresh_frac=5000000 WHERE coin_val=10;" | psql -Aqt $DB
-run_audit
-echo -n "Testing inconsistency detection... "
-AMOUNT=`jq -r .bad_sig_losses[0].loss < test-audit-coins.json`
-if test "x$AMOUNT" == "xTESTKUDOS:0"
-then
- exit_fail "Reported total amount wrong: $AMOUNT"
-fi
+ run_audit
+ echo -n "Testing inconsistency detection... "
+ AMOUNT=`jq -r .bad_sig_losses[0].loss < test-audit-coins.json`
+ if test "x$AMOUNT" == "xTESTKUDOS:0"
+ then
+ exit_fail "Reported total amount wrong: $AMOUNT"
+ fi
-PROFIT=`jq -r .amount_arithmetic_inconsistencies[0].profitable < test-audit-coins.json`
-if test "x$PROFIT" != "x-1"
-then
- exit_fail "Reported profitability wrong: $PROFIT"
-fi
+ PROFIT=`jq -r .amount_arithmetic_inconsistencies[0].profitable < test-audit-coins.json`
+ if test "x$PROFIT" != "x-1"
+ then
+ exit_fail "Reported profitability wrong: $PROFIT"
+ fi
-jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run"
-echo "OK"
-# Undo
-echo "UPDATE exchange.denominations SET fee_refresh_frac=3000000 WHERE coin_val=10;" | psql -Aqt $DB
+ jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run"
+ echo "OK"
+ # Undo
+ echo "UPDATE exchange.denominations SET fee_refresh_frac=3000000 WHERE coin_val=10;" | psql -Aqt $DB
}
@@ -1849,13 +1742,6 @@ echo "UPDATE exchange.denominations SET fee_refresh_frac=3000000 WHERE coin_val=
# accounted for by the exchange
function test_31() {
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
-
echo "===========31: deposit fee inconsistency ================="
echo "UPDATE exchange.denominations SET fee_deposit_frac=5000000 WHERE coin_val=8;" | psql -Aqt $DB
@@ -1877,11 +1763,6 @@ then
echo "OK"
# Undo
echo "UPDATE exchange.denominations SET fee_deposit_frac=2000000 WHERE coin_val=8;" | psql -Aqt $DB
-
-else
- echo "Test skipped (database too new)"
-fi
-
}
@@ -1891,13 +1772,6 @@ fi
# (=> bad signature)
function test_32() {
-# NOTE: This test is EXPECTED to fail for ~1h after
-# re-generating the test database as we do not
-# report lag of less than 1h (see GRACE_PERIOD in
-# taler-helper-auditor-wire.c)
-if [ $DATABASE_AGE -gt 3600 ]
-then
-
echo "===========32: known_coins signature wrong w. aggregation================="
# Modify denom_sig, so it is wrong
OLD_SIG=`echo 'SELECT denom_sig FROM exchange.known_coins LIMIT 1;' | psql $DB -At`
@@ -1922,135 +1796,133 @@ then
echo "OK"
# Cannot undo aggregation, do full reload
full_reload
-
-fi
}
function test_33() {
-echo "===========33: normal run with aggregator and profit drain==========="
-run_audit aggregator drain
+ echo "===========33: normal run with aggregator and profit drain==========="
+ run_audit aggregator drain
-echo "Checking output"
-# if an emergency was detected, that is a bug and we should fail
-echo -n "Test for emergencies... "
-jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run" || echo PASS
-echo -n "Test for deposit confirmation emergencies... "
-jq -e .deposit_confirmation_inconsistencies[0] < test-audit-deposits.json > /dev/null && exit_fail "Unexpected deposit confirmation inconsistency detected" || echo PASS
-echo -n "Test for emergencies by count... "
-jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency by count detected in ordinary run" || echo PASS
+ echo "Checking output"
+ # if an emergency was detected, that is a bug and we should fail
+ echo -n "Test for emergencies... "
+ jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run" || echo PASS
+ echo -n "Test for deposit confirmation emergencies... "
+ jq -e .deposit_confirmation_inconsistencies[0] < test-audit-deposits.json > /dev/null && exit_fail "Unexpected deposit confirmation inconsistency detected" || echo PASS
+ echo -n "Test for emergencies by count... "
+ jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency by count detected in ordinary run" || echo PASS
-echo -n "Test for wire inconsistencies... "
-jq -e .wire_out_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire out inconsistency detected in ordinary run"
-jq -e .reserve_in_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected reserve in inconsistency detected in ordinary run"
-jq -e .misattribution_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected misattribution inconsistency detected in ordinary run"
-jq -e .row_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
-jq -e .denomination_key_validity_withdraw_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected denomination key withdraw inconsistency detected in ordinary run"
-jq -e .row_minor_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
-jq -e .lag_details[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected lag detected in ordinary run"
-jq -e .wire_format_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run"
+ echo -n "Test for wire inconsistencies... "
+ jq -e .wire_out_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire out inconsistency detected in ordinary run"
+ jq -e .reserve_in_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected reserve in inconsistency detected in ordinary run"
+ jq -e .misattribution_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected misattribution inconsistency detected in ordinary run"
+ jq -e .row_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
+ jq -e .denomination_key_validity_withdraw_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected denomination key withdraw inconsistency detected in ordinary run"
+ jq -e .row_minor_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
+ jq -e .lag_details[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected lag detected in ordinary run"
+ jq -e .wire_format_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run"
-# TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic)
-# TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic)
+ # TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic)
+ # TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic)
-echo PASS
+ echo PASS
-LOSS=`jq -r .total_bad_sig_loss < test-audit-aggregation.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong total bad sig loss from aggregation, got unexpected loss of $LOSS"
-fi
-LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong total bad sig loss from coins, got unexpected loss of $LOSS"
-fi
-LOSS=`jq -r .total_bad_sig_loss < test-audit-reserves.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong total bad sig loss from reserves, got unexpected loss of $LOSS"
-fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-aggregation.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total bad sig loss from aggregation, got unexpected loss of $LOSS"
+ fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total bad sig loss from coins, got unexpected loss of $LOSS"
+ fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-reserves.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total bad sig loss from reserves, got unexpected loss of $LOSS"
+ fi
-echo -n "Test for wire amounts... "
-WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta plus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta minus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta plus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta minus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_misattribution_in < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total misattribution in wrong, got $WIRED"
-fi
-echo PASS
+ echo -n "Test for wire amounts... "
+ WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta minus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta minus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_misattribution_in < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total misattribution in wrong, got $WIRED"
+ fi
+ echo PASS
-echo -n "Checking for unexpected arithmetic differences "
-LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-aggregation.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from aggregations, got unexpected plus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-aggregation.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from aggregation, got unexpected minus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from coins, got unexpected plus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from coins, got unexpected minus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-reserves.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from reserves, got unexpected plus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-reserves.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from reserves, got unexpected minus of $LOSS"
-fi
+ echo -n "Checking for unexpected arithmetic differences "
+ LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-aggregation.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from aggregations, got unexpected plus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-aggregation.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from aggregation, got unexpected minus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from coins, got unexpected plus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from coins, got unexpected minus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-reserves.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from reserves, got unexpected plus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-reserves.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from reserves, got unexpected minus of $LOSS"
+ fi
-DRAINED=`jq -r .total_drained < test-audit-wire.json`
-if test $DRAINED != "TESTKUDOS:0.1"
-then
- exit_fail "Wrong amount drained, got unexpected drain of $DRAINED"
-fi
+ DRAINED=`jq -r .total_drained < test-audit-wire.json`
+ if test $DRAINED != "TESTKUDOS:0.1"
+ then
+ exit_fail "Wrong amount drained, got unexpected drain of $DRAINED"
+ fi
-jq -e .amount_arithmetic_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from aggregations detected in ordinary run"
-jq -e .amount_arithmetic_inconsistencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from coins detected in ordinary run"
-jq -e .amount_arithmetic_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from reserves detected in ordinary run"
-echo PASS
+ jq -e .amount_arithmetic_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from aggregations detected in ordinary run"
+ jq -e .amount_arithmetic_inconsistencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from coins detected in ordinary run"
+ jq -e .amount_arithmetic_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from reserves detected in ordinary run"
+ echo PASS
-echo -n "Checking for unexpected wire out differences "
-jq -e .wire_out_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected wire out inconsistencies detected in ordinary run"
-echo PASS
+ echo -n "Checking for unexpected wire out differences "
+ jq -e .wire_out_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected wire out inconsistencies detected in ordinary run"
+ echo PASS
-# cannot easily undo aggregator, hence full reload
-full_reload
+ # cannot easily undo aggregator, hence full reload
+ full_reload
}
@@ -2068,14 +1940,6 @@ check_with_database()
# Setup database-specific globals
MASTER_PUB=`cat ${BASEDB}.mpub`
- # Determine database age
- echo "Calculating database age based on ${BASEDB}.age"
- AGE=`cat ${BASEDB}.age`
- NOW=`date +%s`
- # NOTE: expr "fails" if the result is zero.
- DATABASE_AGE=`expr ${NOW} - ${AGE} || true`
- echo "Database age is ${DATABASE_AGE} seconds"
-
# Load database
full_reload
@@ -2110,6 +1974,8 @@ CONF=${DB}.conf
# test required commands exist
echo "Testing for jq"
jq -h > /dev/null || exit_skip "jq required"
+echo "Testing for faketime"
+faketime -h > /dev/null || exit_skip "faketime required"
# NOTE: really check for all three libeufin commands?
echo "Testing for libeufin"
libeufin-cli --help >/dev/null </dev/null || exit_skip "libeufin required"
@@ -2117,41 +1983,23 @@ echo "Testing for pdflatex"
which pdflatex > /dev/null </dev/null || exit_skip "pdflatex required"
# check if we should regenerate the database
-if test -n "${1:-}"
-then
- echo "Custom run, will only run on existing DB."
-else
- echo -n "Testing for taler-wallet-cli"
- if taler-wallet-cli -h >/dev/null </dev/null 2>/dev/null
+echo "Testing for taler-wallet-cli"
+taler-wallet-cli -h >/dev/null </dev/null 2>/dev/null || exit_skip "taler-wallet-cli required"
+MYDIR=`mktemp -d /tmp/taler-auditor-basedbXXXXXX`
+echo "Generating fresh database at $MYDIR"
+if faketime -f '-1 d' ./generate-auditor-basedb.sh $MYDIR/basedb
+then
+ check_with_database $MYDIR/basedb
+ if test x$fail != x0
then
- MYDIR=`mktemp -d /tmp/taler-auditor-basedbXXXXXX`
- echo " FOUND. Generating fresh database at $MYDIR"
- pwd
- if ./generate-auditor-basedb.sh $MYDIR/basedb
- then
- check_with_database $MYDIR/basedb
- if test x$fail != x0
- then
- exit $fail
- else
- echo "Cleaning up $MYDIR..."
- rm -rf $MYDIR || echo "Removing $MYDIR failed"
- fi
- else
- echo "Generation failed, running only on existing DB"
- fi
+ exit $fail
else
- echo " NOT FOUND, running only on existing DB"
+ echo "Cleaning up $MYDIR..."
+ rm -rf $MYDIR || echo "Removing $MYDIR failed"
fi
-fi
-
-# run tests with pre-build database, if one is available
-if test -r auditor-basedb.mpub
-then
- check_with_database "auditor-basedb"
else
- echo "Lacking auditor-basedb.mpub, skipping test"
- fail=77
+ echo "Generation failed"
+ exit 1
fi
-exit $fail
+exit 0
diff --git a/src/auditor/test-revocation.sh b/src/auditor/test-revocation.sh
index 5aea5c788..f0224ca67 100755
--- a/src/auditor/test-revocation.sh
+++ b/src/auditor/test-revocation.sh
@@ -54,13 +54,13 @@ function cleanup()
# So far only Sandbox gave exit issues / delays ..
count=0
while ps xo pid | grep `cat libeufin-sandbox.pid`; do
- if test $count = 5; then
- echo "Sandbox unkillable, failing now .."
- exit 1
- fi
- echo "Sandbox didn't exit yet.."
- sleep 1;
- count=`expr $count + 1`
+ if test $count = 5; then
+ echo "Sandbox unkillable, failing now .."
+ exit 1
+ fi
+ echo "Sandbox didn't exit yet.."
+ sleep 1;
+ count=`expr $count + 1`
done
}
@@ -69,26 +69,26 @@ trap cleanup EXIT
# Downloads new transactions from the bank.
function nexus_fetch_transactions () {
- export LIBEUFIN_NEXUS_USERNAME=exchange
- export LIBEUFIN_NEXUS_PASSWORD=x
- export LIBEUFIN_NEXUS_URL=http://localhost:8082/
- libeufin-cli accounts fetch-transactions \
- --range-type since-last --level report exchange-nexus > /dev/null
- unset LIBEUFIN_NEXUS_USERNAME
- unset LIBEUFIN_NEXUS_PASSWORD
- unset LIBEUFIN_NEXUS_URL
+ export LIBEUFIN_NEXUS_USERNAME=exchange
+ export LIBEUFIN_NEXUS_PASSWORD=x
+ export LIBEUFIN_NEXUS_URL=http://localhost:8082/
+ libeufin-cli accounts fetch-transactions \
+ --range-type since-last --level report exchange-nexus > /dev/null
+ unset LIBEUFIN_NEXUS_USERNAME
+ unset LIBEUFIN_NEXUS_PASSWORD
+ unset LIBEUFIN_NEXUS_URL
}
# Instruct Nexus to all the prepared payments (= those
# POSTed to /transfer by the exchange).
function nexus_submit_to_sandbox () {
- export LIBEUFIN_NEXUS_USERNAME=exchange
- export LIBEUFIN_NEXUS_PASSWORD=x
- export LIBEUFIN_NEXUS_URL=http://localhost:8082/
- libeufin-cli accounts submit-payments exchange-nexus
- unset LIBEUFIN_NEXUS_USERNAME
- unset LIBEUFIN_NEXUS_PASSWORD
- unset LIBEUFIN_NEXUS_URL
+ export LIBEUFIN_NEXUS_USERNAME=exchange
+ export LIBEUFIN_NEXUS_PASSWORD=x
+ export LIBEUFIN_NEXUS_URL=http://localhost:8082/
+ libeufin-cli accounts submit-payments exchange-nexus
+ unset LIBEUFIN_NEXUS_USERNAME
+ unset LIBEUFIN_NEXUS_PASSWORD
+ unset LIBEUFIN_NEXUS_URL
}
function get_payto_uri() {
@@ -101,14 +101,14 @@ function get_payto_uri() {
function launch_libeufin () {
export LIBEUFIN_NEXUS_DB_CONNECTION="jdbc:sqlite:$DB.sqlite3"
libeufin-nexus serve --port 8082 \
- 2> libeufin-nexus-stderr.log \
- > libeufin-nexus-stdout.log &
+ 2> libeufin-nexus-stderr.log \
+ > libeufin-nexus-stdout.log &
echo $! > libeufin-nexus.pid
export LIBEUFIN_SANDBOX_DB_CONNECTION="jdbc:sqlite:$DB.sqlite3"
export LIBEUFIN_SANDBOX_ADMIN_PASSWORD=secret
libeufin-sandbox serve --port 18082 \
- > libeufin-sandbox-stdout.log \
- 2> libeufin-sandbox-stderr.log &
+ > libeufin-sandbox-stdout.log \
+ 2> libeufin-sandbox-stderr.log &
echo $! > libeufin-sandbox.pid
}
@@ -146,7 +146,7 @@ function pre_audit () {
if test ${1:-no} = "aggregator"
then
export CONF
- echo -n "Running exchange aggregator ... (config: $CONF)"
+ echo -n "Running exchange aggregator ... (config: $CONF)"
taler-exchange-aggregator -L INFO -t -c $CONF -y 2> aggregator.log || exit_fail "FAIL"
echo " DONE"
echo -n "Running exchange closer ..."
@@ -155,13 +155,13 @@ function pre_audit () {
echo -n "Running exchange transfer ..."
taler-exchange-transfer -L INFO -t -c $CONF 2> transfer.log || exit_fail "FAIL"
echo " DONE"
- echo -n "Running Nexus payment submitter ..."
- nexus_submit_to_sandbox
- echo " DONE"
- # Make outgoing transactions appear in the TWG:
- echo -n "Download bank transactions ..."
- nexus_fetch_transactions
- echo " DONE"
+ echo -n "Running Nexus payment submitter ..."
+ nexus_submit_to_sandbox
+ echo " DONE"
+ # Make outgoing transactions appear in the TWG:
+ echo -n "Download bank transactions ..."
+ nexus_fetch_transactions
+ echo " DONE"
fi
}
@@ -240,132 +240,132 @@ full_reload()
# IBAN, that can only be written in CONF after libeufin is
# setup.
taler-config -c $CONF -s exchange-account-1 -o PAYTO_URI &> /dev/null || (
- echo -n "Specifying exchange payto URI in the configuration ($CONF) (grab IBAN from $DB.sqlite3)...";
- EXCHANGE_IBAN=`echo "SELECT iban FROM BankAccounts WHERE label='exchange'" | sqlite3 $DB.sqlite3`;
- taler-config -c $CONF -s exchange-account-1 -o PAYTO_URI \
- -V "payto://iban/SANDBOXX/$EXCHANGE_IBAN?receiver-name=Exchange+Company"
- echo " DONE"
+ echo -n "Specifying exchange payto URI in the configuration ($CONF) (grab IBAN from $DB.sqlite3)...";
+ EXCHANGE_IBAN=`echo "SELECT iban FROM BankAccounts WHERE label='exchange'" | sqlite3 $DB.sqlite3`;
+ taler-config -c $CONF -s exchange-account-1 -o PAYTO_URI \
+ -V "payto://iban/SANDBOXX/$EXCHANGE_IBAN?receiver-name=Exchange+Company"
+ echo " DONE"
)
}
function test_0() {
-echo "===========0: normal run with aggregator==========="
-run_audit aggregator
+ echo "===========0: normal run with aggregator==========="
+ run_audit aggregator
-echo "Checking output"
-# if an emergency was detected, that is a bug and we should fail
-echo -n "Test for emergencies... "
-jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run" || echo PASS
-echo -n "Test for deposit confirmation emergencies... "
-jq -e .deposit_confirmation_inconsistencies[0] < test-audit-deposits.json > /dev/null && exit_fail "Unexpected deposit confirmation inconsistency detected" || echo PASS
-echo -n "Test for emergencies by count... "
-jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency by count detected in ordinary run" || echo PASS
+ echo "Checking output"
+ # if an emergency was detected, that is a bug and we should fail
+ echo -n "Test for emergencies... "
+ jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run" || echo PASS
+ echo -n "Test for deposit confirmation emergencies... "
+ jq -e .deposit_confirmation_inconsistencies[0] < test-audit-deposits.json > /dev/null && exit_fail "Unexpected deposit confirmation inconsistency detected" || echo PASS
+ echo -n "Test for emergencies by count... "
+ jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency by count detected in ordinary run" || echo PASS
-echo -n "Test for wire inconsistencies... "
-jq -e .wire_out_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire out inconsistency detected in ordinary run"
-jq -e .reserve_in_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected reserve in inconsistency detected in ordinary run"
-jq -e .misattribution_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected misattribution inconsistency detected in ordinary run"
-jq -e .row_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
-jq -e .denomination_key_validity_withdraw_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected denomination key withdraw inconsistency detected in ordinary run"
-jq -e .row_minor_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
-jq -e .lag_details[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected lag detected in ordinary run"
-jq -e .wire_format_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run"
+ echo -n "Test for wire inconsistencies... "
+ jq -e .wire_out_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire out inconsistency detected in ordinary run"
+ jq -e .reserve_in_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected reserve in inconsistency detected in ordinary run"
+ jq -e .misattribution_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected misattribution inconsistency detected in ordinary run"
+ jq -e .row_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
+ jq -e .denomination_key_validity_withdraw_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected denomination key withdraw inconsistency detected in ordinary run"
+ jq -e .row_minor_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
+ jq -e .lag_details[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected lag detected in ordinary run"
+ jq -e .wire_format_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run"
-# TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic)
-# TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic)
+ # TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic)
+ # TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic)
-echo PASS
+ echo PASS
-LOSS=`jq -r .total_bad_sig_loss < test-audit-aggregation.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong total bad sig loss from aggregation, got unexpected loss of $LOSS"
-fi
-LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong total bad sig loss from coins, got unexpected loss of $LOSS"
-fi
-LOSS=`jq -r .total_bad_sig_loss < test-audit-reserves.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong total bad sig loss from reserves, got unexpected loss of $LOSS"
-fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-aggregation.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total bad sig loss from aggregation, got unexpected loss of $LOSS"
+ fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total bad sig loss from coins, got unexpected loss of $LOSS"
+ fi
+ LOSS=`jq -r .total_bad_sig_loss < test-audit-reserves.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong total bad sig loss from reserves, got unexpected loss of $LOSS"
+ fi
-echo -n "Test for wire amounts... "
-WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta plus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta minus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta plus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta minus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_misattribution_in < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total misattribution in wrong, got $WIRED"
-fi
-echo PASS
+ echo -n "Test for wire amounts... "
+ WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta minus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta minus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_misattribution_in < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total misattribution in wrong, got $WIRED"
+ fi
+ echo PASS
-echo -n "Checking for unexpected arithmetic differences "
-LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-aggregation.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from aggregations, got unexpected plus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-aggregation.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from aggregation, got unexpected minus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from coins, got unexpected plus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-coins.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from coins, got unexpected minus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-reserves.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from reserves, got unexpected plus of $LOSS"
-fi
-LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-reserves.json`
-if test $LOSS != "TESTKUDOS:0"
-then
- exit_fail "Wrong arithmetic delta from reserves, got unexpected minus of $LOSS"
-fi
+ echo -n "Checking for unexpected arithmetic differences "
+ LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-aggregation.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from aggregations, got unexpected plus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-aggregation.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from aggregation, got unexpected minus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from coins, got unexpected plus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-coins.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from coins, got unexpected minus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_plus < test-audit-reserves.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from reserves, got unexpected plus of $LOSS"
+ fi
+ LOSS=`jq -r .total_arithmetic_delta_minus < test-audit-reserves.json`
+ if test $LOSS != "TESTKUDOS:0"
+ then
+ exit_fail "Wrong arithmetic delta from reserves, got unexpected minus of $LOSS"
+ fi
-jq -e .amount_arithmetic_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from aggregations detected in ordinary run"
-jq -e .amount_arithmetic_inconsistencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from coins detected in ordinary run"
-jq -e .amount_arithmetic_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from reserves detected in ordinary run"
-echo PASS
+ jq -e .amount_arithmetic_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from aggregations detected in ordinary run"
+ jq -e .amount_arithmetic_inconsistencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from coins detected in ordinary run"
+ jq -e .amount_arithmetic_inconsistencies[0] < test-audit-reserves.json > /dev/null && exit_fail "Unexpected arithmetic inconsistencies from reserves detected in ordinary run"
+ echo PASS
-echo -n "Checking for unexpected wire out differences "
-jq -e .wire_out_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected wire out inconsistencies detected in ordinary run"
-echo PASS
+ echo -n "Checking for unexpected wire out differences "
+ jq -e .wire_out_inconsistencies[0] < test-audit-aggregation.json > /dev/null && exit_fail "Unexpected wire out inconsistencies detected in ordinary run"
+ echo PASS
-# cannot easily undo aggregator, hence full reload
-full_reload
+ # cannot easily undo aggregator, hence full reload
+ full_reload
}
@@ -374,58 +374,58 @@ full_reload
# transfer lag!
function test_1() {
-echo "===========1: normal run==========="
-run_audit
+ echo "===========1: normal run==========="
+ run_audit
-echo "Checking output"
-# if an emergency was detected, that is a bug and we should fail
-echo -n "Test for emergencies... "
-jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run" || echo PASS
-echo -n "Test for emergencies by count... "
-jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency by count detected in ordinary run" || echo PASS
+ echo "Checking output"
+ # if an emergency was detected, that is a bug and we should fail
+ echo -n "Test for emergencies... "
+ jq -e .emergencies[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency detected in ordinary run" || echo PASS
+ echo -n "Test for emergencies by count... "
+ jq -e .emergencies_by_count[0] < test-audit-coins.json > /dev/null && exit_fail "Unexpected emergency by count detected in ordinary run" || echo PASS
-echo -n "Test for wire inconsistencies... "
-jq -e .wire_out_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire out inconsistency detected in ordinary run"
-jq -e .reserve_in_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected reserve in inconsistency detected in ordinary run"
-jq -e .misattribution_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected misattribution inconsistency detected in ordinary run"
-jq -e .row_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
-jq -e .row_minor_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
-jq -e .wire_format_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run"
+ echo -n "Test for wire inconsistencies... "
+ jq -e .wire_out_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire out inconsistency detected in ordinary run"
+ jq -e .reserve_in_amount_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected reserve in inconsistency detected in ordinary run"
+ jq -e .misattribution_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected misattribution inconsistency detected in ordinary run"
+ jq -e .row_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
+ jq -e .row_minor_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
+ jq -e .wire_format_inconsistencies[0] < test-audit-wire.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run"
-# TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic)
-# TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic)
+ # TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic)
+ # TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic)
-echo PASS
+ echo PASS
-echo -n "Test for wire amounts... "
-WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta plus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta minus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta plus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total wire delta minus wrong, got $WIRED"
-fi
-WIRED=`jq -r .total_misattribution_in < test-audit-wire.json`
-if test $WIRED != "TESTKUDOS:0"
-then
- exit_fail "Expected total misattribution in wrong, got $WIRED"
-fi
+ echo -n "Test for wire amounts... "
+ WIRED=`jq -r .total_wire_in_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_in_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta minus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_out_delta_plus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta plus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_wire_out_delta_minus < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total wire delta minus wrong, got $WIRED"
+ fi
+ WIRED=`jq -r .total_misattribution_in < test-audit-wire.json`
+ if test $WIRED != "TESTKUDOS:0"
+ then
+ exit_fail "Expected total misattribution in wrong, got $WIRED"
+ fi
-# Database was unmodified, no need to undo
-echo "OK"
+ # Database was unmodified, no need to undo
+ echo "OK"
}
@@ -433,38 +433,38 @@ echo "OK"
# Change recoup amount
function test_2() {
-echo "===========2: recoup amount inconsistency==========="
-echo "UPDATE exchange.recoup SET amount_val=5 WHERE recoup_uuid=1" | psql -Aqt $DB
+ echo "===========2: recoup amount inconsistency==========="
+ echo "UPDATE exchange.recoup SET amount_val=5 WHERE recoup_uuid=1" | psql -Aqt $DB
-run_audit
+ run_audit
-# Reserve balance is now wrong
-echo -n "Testing inconsistency detection... "
-AMOUNT=`jq -r .reserve_balance_summary_wrong_inconsistencies[0].auditor < test-audit-reserves.json`
-if test $AMOUNT != "TESTKUDOS:3"
-then
- exit_fail "Reserve auditor amount $AMOUNT is wrong"
-fi
-AMOUNT=`jq -r .reserve_balance_summary_wrong_inconsistencies[0].exchange < test-audit-reserves.json`
-if test $AMOUNT != "TESTKUDOS:0"
-then
- exit_fail "Reserve exchange amount $AMOUNT is wrong"
-fi
-# Coin spent exceeded coin's value
-AMOUNT=`jq -r .amount_arithmetic_inconsistencies[0].auditor < test-audit-coins.json`
-if test $AMOUNT != "TESTKUDOS:2"
-then
- exit_fail "Coin auditor amount $AMOUNT is wrong"
-fi
-AMOUNT=`jq -r .amount_arithmetic_inconsistencies[0].exchange < test-audit-coins.json`
-if test $AMOUNT != "TESTKUDOS:5"
-then
- exit_fail "Coin exchange amount $AMOUNT is wrong"
-fi
-echo OK
+ # Reserve balance is now wrong
+ echo -n "Testing inconsistency detection... "
+ AMOUNT=`jq -r .reserve_balance_summary_wrong_inconsistencies[0].auditor < test-audit-reserves.json`
+ if test $AMOUNT != "TESTKUDOS:3"
+ then
+ exit_fail "Reserve auditor amount $AMOUNT is wrong"
+ fi
+ AMOUNT=`jq -r .reserve_balance_summary_wrong_inconsistencies[0].exchange < test-audit-reserves.json`
+ if test $AMOUNT != "TESTKUDOS:0"
+ then
+ exit_fail "Reserve exchange amount $AMOUNT is wrong"
+ fi
+ # Coin spent exceeded coin's value
+ AMOUNT=`jq -r .amount_arithmetic_inconsistencies[0].auditor < test-audit-coins.json`
+ if test $AMOUNT != "TESTKUDOS:2"
+ then
+ exit_fail "Coin auditor amount $AMOUNT is wrong"
+ fi
+ AMOUNT=`jq -r .amount_arithmetic_inconsistencies[0].exchange < test-audit-coins.json`
+ if test $AMOUNT != "TESTKUDOS:5"
+ then
+ exit_fail "Coin exchange amount $AMOUNT is wrong"
+ fi
+ echo OK
-# Undo database modification
-echo "UPDATE exchange.recoup SET amount_val=2 WHERE recoup_uuid=1" | psql -Aqt $DB
+ # Undo database modification
+ echo "UPDATE exchange.recoup SET amount_val=2 WHERE recoup_uuid=1" | psql -Aqt $DB
}
@@ -472,27 +472,27 @@ echo "UPDATE exchange.recoup SET amount_val=2 WHERE recoup_uuid=1" | psql -Aqt $
# Change recoup-refresh amount
function test_3() {
-echo "===========3: recoup-refresh amount inconsistency==========="
-echo "UPDATE exchange.recoup_refresh SET amount_val=5 WHERE recoup_refresh_uuid=1" | psql -Aqt $DB
+ echo "===========3: recoup-refresh amount inconsistency==========="
+ echo "UPDATE exchange.recoup_refresh SET amount_val=5 WHERE recoup_refresh_uuid=1" | psql -Aqt $DB
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
-# Coin spent exceeded coin's value
-AMOUNT=`jq -r .total_arithmetic_delta_minus < test-audit-coins.json`
-if test $AMOUNT != "TESTKUDOS:5"
-then
- exit_fail "Arithmetic delta minus amount $AMOUNT is wrong"
-fi
-AMOUNT=`jq -r .total_arithmetic_delta_plus < test-audit-coins.json`
-if test $AMOUNT != "TESTKUDOS:0"
-then
- exit_fail "Arithmetic delta plus amount $AMOUNT is wrong"
-fi
-echo OK
+ echo -n "Testing inconsistency detection... "
+ # Coin spent exceeded coin's value
+ AMOUNT=`jq -r .total_arithmetic_delta_minus < test-audit-coins.json`
+ if test $AMOUNT != "TESTKUDOS:5"
+ then
+ exit_fail "Arithmetic delta minus amount $AMOUNT is wrong"
+ fi
+ AMOUNT=`jq -r .total_arithmetic_delta_plus < test-audit-coins.json`
+ if test $AMOUNT != "TESTKUDOS:0"
+ then
+ exit_fail "Arithmetic delta plus amount $AMOUNT is wrong"
+ fi
+ echo OK
-# Undo database modification
-echo "UPDATE exchange.recoup_refresh SET amount_val=0 WHERE recoup_refresh_uuid=1" | psql -Aqt $DB
+ # Undo database modification
+ echo "UPDATE exchange.recoup_refresh SET amount_val=0 WHERE recoup_refresh_uuid=1" | psql -Aqt $DB
}
@@ -500,28 +500,28 @@ echo "UPDATE exchange.recoup_refresh SET amount_val=0 WHERE recoup_refresh_uuid=
# Void recoup-refresh entry by 'unrevoking' denomination
function test_4() {
-echo "===========4: invalid recoup==========="
-echo "DELETE FROM exchange.denomination_revocations;" | psql -Aqt $DB
+ echo "===========4: invalid recoup==========="
+ echo "DELETE FROM exchange.denomination_revocations;" | psql -Aqt $DB
-run_audit
+ run_audit
-echo -n "Testing inconsistency detection... "
-# Coin spent exceeded coin's value
-jq -e .bad_sig_losses[0] < test-audit-coins.json > /dev/null || exit_fail "Bad recoup not detected"
-AMOUNT=`jq -r .total_bad_sig_losses < test-audit-coins.json`
-if test $AMOUNT == "TESTKUDOS:0"
-then
- exit_fail "Total bad sig losses are wrong"
-fi
-TAB=`jq -r .row_inconsistencies[0].table < test-audit-reserves.json`
-if test $TAB != "recoup"
-then
- exit_fail "Wrong table for row inconsistency, got $TAB"
-fi
-echo OK
+ echo -n "Testing inconsistency detection... "
+ # Coin spent exceeded coin's value
+ jq -e .bad_sig_losses[0] < test-audit-coins.json > /dev/null || exit_fail "Bad recoup not detected"
+ AMOUNT=`jq -r .total_bad_sig_losses < test-audit-coins.json`
+ if test $AMOUNT == "TESTKUDOS:0"
+ then
+ exit_fail "Total bad sig losses are wrong"
+ fi
+ TAB=`jq -r .row_inconsistencies[0].table < test-audit-reserves.json`
+ if test $TAB != "recoup"
+ then
+ exit_fail "Wrong table for row inconsistency, got $TAB"
+ fi
+ echo OK
-# Undo database modification (can't easily undo DELETE, so full reload)
-full_reload
+ # Undo database modification (can't easily undo DELETE, so full reload)
+ full_reload
}
@@ -542,14 +542,6 @@ check_with_database()
# Setup database-specific globals
MASTER_PUB=`cat ${BASEDB}.mpub`
- # Determine database age
- echo "Calculating database age based on ${BASEDB}.age"
- AGE=`cat ${BASEDB}.age`
- NOW=`date +%s`
- # NOTE: expr "fails" if the result is zero.
- DATABASE_AGE=`expr ${NOW} - ${AGE} || true`
- echo "Database age is ${DATABASE_AGE} seconds"
-
# Load database
full_reload
# Run test suite
@@ -581,45 +573,29 @@ CONF=revoke-basedb.conf
# test required commands exist
echo "Testing for jq"
jq -h > /dev/null || exit_skip "jq required"
+echo "Testing for faketime"
+faketime -h > /dev/null || exit_skip "faketime required"
echo "Testing for libeufin(-cli)"
libeufin-cli --help >/dev/null </dev/null || exit_skip "libeufin required"
echo "Testing for pdflatex"
which pdflatex > /dev/null </dev/null || exit_skip "pdflatex required"
-# check if we should regenerate the database
-if test -n "${1:-}"
+echo -n "Testing for taler-wallet-cli"
+taler-wallet-cli -h >/dev/null </dev/null 2>/dev/null || exit_skip "taler-wallet-cli required"
+MYDIR=`mktemp -d /tmp/taler-auditor-basedbXXXXXX`
+echo "Generating fresh database at $MYDIR"
+if faketime -f '-1 d' ./generate-revoke-basedb.sh $MYDIR/basedb
then
- echo "Custom run, will only run on existing DB."
-else
- echo -n "Testing for taler-wallet-cli"
- if taler-wallet-cli -h >/dev/null </dev/null 2>/dev/null
+ check_with_database $MYDIR/basedb
+ if test x$fail != x0
then
- MYDIR=`mktemp -d /tmp/taler-auditor-basedbXXXXXX`
- echo " FOUND. Generating fresh database at $MYDIR"
- if ./generate-revoke-basedb.sh $MYDIR/basedb
- then
- check_with_database $MYDIR/basedb
- if test x$fail != x0
- then
- exit $fail
- else
- echo "Cleaning up $MYDIR..."
- rm -rf $MYDIR || echo "Removing $MYDIR failed"
- fi
- else
- echo "Generation failed, running only on existing DB"
- fi
+ exit $fail
else
- echo " NOT FOUND, running only on existing DB"
+ echo "Cleaning up $MYDIR..."
+ rm -rf $MYDIR || echo "Removing $MYDIR failed"
fi
-fi
-
-# run tests with pre-build database, if one is available
-if test -r revoke-basedb.mpub
-then
- check_with_database "revoke-basedb"
else
- fail=77
+ echo "Generation failed"
fi
-exit $fail
+exit 0
diff --git a/src/auditor/test-sync.sh b/src/auditor/test-sync.sh
index 3ab6fa1e4..e0299f636 100755
--- a/src/auditor/test-sync.sh
+++ b/src/auditor/test-sync.sh
@@ -2,42 +2,95 @@
set -eu
-echo -n "Testing synchronization logic ..."
+# Exit, with status code "skip" (no 'real' failure)
+function exit_skip() {
+ echo $1
+ exit 77
+}
-dropdb talercheck-in 2> /dev/null || true
-dropdb talercheck-out 2> /dev/null || true
+# Exit, with error message (hard failure)
+function exit_fail() {
+ echo $1
+ exit 1
+}
-createdb talercheck-in || exit 77
-createdb talercheck-out || exit 77
-echo -n "."
+check_with_database()
+{
+ echo -n "Testing synchronization logic ..."
-taler-exchange-dbinit -c test-sync-out.conf
-echo -n "."
-psql talercheck-in < auditor-basedb.sql >/dev/null 2> /dev/null
+ dropdb talercheck-in 2> /dev/null || true
+ dropdb talercheck-out 2> /dev/null || true
-echo -n "."
-taler-auditor-sync -s test-sync-in.conf -d test-sync-out.conf -t
+ createdb talercheck-in || exit 77
+ createdb talercheck-out || exit 77
+ echo -n "."
-# cs_nonce_locks excluded: no point
-for table in denominations denomination_revocations wire_targets reserves reserves_in reserves_close reserves_out auditors auditor_denom_sigs exchange_sign_keys signkey_revocations extensions extension_details known_coins refresh_commitments refresh_revealed_coins refresh_transfer_keys deposits refunds wire_out aggregation_tracking wire_fee recoup recoup_refresh
-do
+ taler-exchange-dbinit -c test-sync-out.conf
echo -n "."
- CIN=`echo "SELECT COUNT(*) FROM exchange.$table" | psql talercheck-in -Aqt`
- COUT=`echo "SELECT COUNT(*) FROM exchange.$table" | psql talercheck-out -Aqt`
+ psql -Aqt talercheck-in -q -1 -f $1.sql >/dev/null || exit_skip "Failed to load database"
- if test ${CIN} != ${COUT}
- then
- dropdb talercheck-in
- dropdb talercheck-out
- echo "FAIL"
- echo "Record count mismatch: $CIN / $COUT in table $table"
- exit 1
- fi
-done
+ echo -n "."
+ taler-auditor-sync -s test-sync-in.conf -d test-sync-out.conf -t
+
+ # cs_nonce_locks excluded: no point
+ for table in denominations denomination_revocations wire_targets reserves reserves_in reserves_close reserves_out auditors auditor_denom_sigs exchange_sign_keys signkey_revocations extensions extension_details known_coins refresh_commitments refresh_revealed_coins refresh_transfer_keys deposits refunds wire_out aggregation_tracking wire_fee recoup recoup_refresh
+ do
+ echo -n "."
+ CIN=`echo "SELECT COUNT(*) FROM exchange.$table" | psql talercheck-in -Aqt`
+ COUT=`echo "SELECT COUNT(*) FROM exchange.$table" | psql talercheck-out -Aqt`
+
+ if test ${CIN} != ${COUT}
+ then
+ dropdb talercheck-in
+ dropdb talercheck-out
+ echo "FAIL"
+ exit_fail "Record count mismatch: $CIN / $COUT in table $table"
+ fi
+ done
+
+ echo -n ". "
+ dropdb talercheck-in
+ dropdb talercheck-out
-echo -n ". "
-dropdb talercheck-in
-dropdb talercheck-out
+ echo "PASS"
+}
-echo "PASS"
+
+
+# Postgres database to use
+DB=auditor-basedb
+
+# Configuration file to use
+CONF=${DB}.conf
+
+# test required commands exist
+echo "Testing for jq"
+jq -h > /dev/null || exit_skip "jq required"
+echo "Testing for faketime"
+faketime -h > /dev/null || exit_skip "faketime required"
+# NOTE: really check for all three libeufin commands?
+echo "Testing for libeufin"
+libeufin-cli --help >/dev/null </dev/null || exit_skip "libeufin required"
+echo "Testing for pdflatex"
+which pdflatex > /dev/null </dev/null || exit_skip "pdflatex required"
+
+# check if we should regenerate the database
+echo "Testing for taler-wallet-cli"
+taler-wallet-cli -h >/dev/null </dev/null 2>/dev/null || exit_skip "taler-wallet-cli required"
+MYDIR=`mktemp -d /tmp/taler-auditor-basedbXXXXXX`
+echo "Generating fresh database at $MYDIR"
+if faketime -f '-1 d' ./generate-auditor-basedb.sh $MYDIR/basedb
+then
+ check_with_database $MYDIR/basedb
+ if test x$fail != x0
+ then
+ exit $fail
+ else
+ echo "Cleaning up $MYDIR..."
+ rm -rf $MYDIR || echo "Removing $MYDIR failed"
+ fi
+else
+ echo "Generation failed"
+ exit 77
+fi
exit 0