From 7d193de25fbccc00923d6d791d6d4e0d2d5d498e Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Wed, 1 Sep 2021 10:08:21 +0100 Subject: [PATCH] Improve GetRemoteStatus and db.GetStatus() logic (#174) * only fetch status parents / children if explicity requested when dereferencing Signed-off-by: kim (grufwub) * Remove recursive DB GetStatus logic, don't fetch parent unless requested Signed-off-by: kim (grufwub) * StatusCache copies status so there are no thread-safety issues with modified status objects Signed-off-by: kim (grufwub) * remove sqlite test files Signed-off-by: kim (grufwub) * fix bugs introduced by previous commit Signed-off-by: kim (grufwub) * fix not continue on error in loop Signed-off-by: kim (grufwub) * use our own RunInTx implementation (possible fix for nested tx error) Signed-off-by: kim (grufwub) * fix cast statement to work with SQLite Signed-off-by: kim (grufwub) * be less strict about valid status in cache Signed-off-by: kim (grufwub) * add cache=shared ALWAYS for SQLite db instances Signed-off-by: kim (grufwub) * Fix EnrichRemoteAccount when updating account fails Signed-off-by: kim (grufwub) * add nolint tag Signed-off-by: kim (grufwub) * ensure file: prefixes the filename in sqlite addr Signed-off-by: kim (grufwub) * add an account cache, add status author account from db Signed-off-by: kim (grufwub) * Fix incompatible SQLite query Signed-off-by: kim (grufwub) * *actually* use the new getAccount() function in accountsDB Signed-off-by: kim (grufwub) * update cache tests to use test suite Signed-off-by: kim (grufwub) * add RelationshipTestSuite, add tests for methods with changed SQL Signed-off-by: kim (grufwub) --- internal/api/client/account/sqlite-test.db | Bin 311296 -> 0 bytes internal/api/client/fileserver/sqlite-test.db | Bin 307200 -> 0 bytes internal/api/client/media/sqlite-test.db | Bin 311296 -> 0 bytes internal/api/client/status/sqlite-test.db | Bin 311296 -> 0 bytes internal/api/s2s/user/sqlite-test.db | Bin 311296 -> 0 bytes internal/cache/account.go | 157 ++++++++++++++++++ internal/cache/account_test.go | 63 +++++++ internal/cache/status.go | 70 ++++++-- internal/cache/status_test.go | 74 ++++++--- internal/db/bundb/account.go | 88 ++++++---- internal/db/bundb/bundb.go | 25 ++- internal/db/bundb/conn.go | 20 +++ internal/db/bundb/relationship.go | 4 +- internal/db/bundb/relationship_test.go | 124 ++++++++++++++ internal/db/bundb/sqlite-test.db | Bin 315392 -> 0 bytes internal/db/bundb/status.go | 149 ++++++++--------- internal/db/bundb/status_test.go | 5 +- internal/db/status.go | 6 +- internal/federation/dereference.go | 8 +- internal/federation/dereferencing/account.go | 7 +- internal/federation/dereferencing/announce.go | 2 +- .../federation/dereferencing/dereferencer.go | 4 +- .../federation/dereferencing/sqlite-test.db | Bin 311296 -> 0 bytes internal/federation/dereferencing/status.go | 56 +++---- .../federation/dereferencing/status_test.go | 4 +- internal/federation/dereferencing/thread.go | 18 +- internal/federation/federator.go | 5 +- internal/federation/sqlite-test.db | Bin 315392 -> 0 bytes internal/oauth/sqlite-test.db | Bin 307200 -> 0 bytes internal/processing/fromfederator.go | 2 +- internal/processing/search.go | 2 +- internal/processing/status/sqlite-test.db | Bin 311296 -> 0 bytes internal/text/sqlite-test.db | Bin 311296 -> 0 bytes internal/timeline/sqlite-test.db | Bin 311296 -> 0 bytes internal/typeutils/astointernal.go | 1 - internal/typeutils/sqlite-test.db | Bin 311296 -> 0 bytes 36 files changed, 660 insertions(+), 234 deletions(-) delete mode 100644 internal/api/client/account/sqlite-test.db delete mode 100644 internal/api/client/fileserver/sqlite-test.db delete mode 100644 internal/api/client/media/sqlite-test.db delete mode 100644 internal/api/client/status/sqlite-test.db delete mode 100644 internal/api/s2s/user/sqlite-test.db create mode 100644 internal/cache/account.go create mode 100644 internal/cache/account_test.go create mode 100644 internal/db/bundb/relationship_test.go delete mode 100644 internal/db/bundb/sqlite-test.db delete mode 100644 internal/federation/dereferencing/sqlite-test.db delete mode 100644 internal/federation/sqlite-test.db delete mode 100644 internal/oauth/sqlite-test.db delete mode 100644 internal/processing/status/sqlite-test.db delete mode 100644 internal/text/sqlite-test.db delete mode 100644 internal/timeline/sqlite-test.db delete mode 100644 internal/typeutils/sqlite-test.db diff --git a/internal/api/client/account/sqlite-test.db b/internal/api/client/account/sqlite-test.db deleted file mode 100644 index eab8315d9625295848ed21495dcc33146ce787eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311296 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

XY+qD(HeFI_37xxoU-c(pB|r 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

hVrhA~ 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 cached accounts + urls map[string]string // map of account URLs -> IDs + uris map[string]string // map of account URIs -> IDs + mutex sync.Mutex +} + +// NewAccountCache returns a new instantiated AccountCache object +func NewAccountCache() *AccountCache { + c := AccountCache{ + cache: ttlcache.NewCache(), + urls: make(map[string]string, 100), + uris: make(map[string]string, 100), + mutex: sync.Mutex{}, + } + + // Set callback to purge lookup maps on expiration + c.cache.SetExpirationCallback(func(key string, value interface{}) { + account := value.(*gtsmodel.Account) + + c.mutex.Lock() + delete(c.urls, account.URL) + delete(c.uris, account.URI) + c.mutex.Unlock() + }) + + return &c +} + +// GetByID attempts to fetch a account from the cache by its ID, you will receive a copy for thread-safety +func (c *AccountCache) GetByID(id string) (*gtsmodel.Account, bool) { + c.mutex.Lock() + account, ok := c.getByID(id) + c.mutex.Unlock() + return account, ok +} + +// GetByURL attempts to fetch a account from the cache by its URL, you will receive a copy for thread-safety +func (c *AccountCache) GetByURL(url string) (*gtsmodel.Account, bool) { + // Perform safe ID lookup + c.mutex.Lock() + id, ok := c.urls[url] + + // Not found, unlock early + if !ok { + c.mutex.Unlock() + return nil, false + } + + // Attempt account lookup + account, ok := c.getByID(id) + c.mutex.Unlock() + return account, ok +} + +// GetByURI attempts to fetch a account from the cache by its URI, you will receive a copy for thread-safety +func (c *AccountCache) GetByURI(uri string) (*gtsmodel.Account, bool) { + // Perform safe ID lookup + c.mutex.Lock() + id, ok := c.uris[uri] + + // Not found, unlock early + if !ok { + c.mutex.Unlock() + return nil, false + } + + // Attempt account lookup + account, ok := c.getByID(id) + c.mutex.Unlock() + return account, ok +} + +// getByID performs an unsafe (no mutex locks) lookup of account by ID, returning a copy of account in cache +func (c *AccountCache) getByID(id string) (*gtsmodel.Account, bool) { + v, ok := c.cache.Get(id) + if !ok { + return nil, false + } + return copyAccount(v.(*gtsmodel.Account)), true +} + +// Put places a account in the cache, ensuring that the object place is a copy for thread-safety +func (c *AccountCache) Put(account *gtsmodel.Account) { + if account == nil || account.ID == "" { + panic("invalid account") + } + + c.mutex.Lock() + c.cache.Set(account.ID, copyAccount(account)) + if account.URL != "" { + c.urls[account.URL] = account.ID + } + if account.URI != "" { + c.uris[account.URI] = account.ID + } + c.mutex.Unlock() +} + +// copyAccount performs a surface-level copy of account, only keeping attached IDs intact, not the objects. +// due to all the data being copied being 99% primitive types or strings (which are immutable and passed by ptr) +// this should be a relatively cheap process +func copyAccount(account *gtsmodel.Account) *gtsmodel.Account { + return >smodel.Account{ + ID: account.ID, + Username: account.Username, + Domain: account.Domain, + AvatarMediaAttachmentID: account.AvatarMediaAttachmentID, + AvatarMediaAttachment: nil, + AvatarRemoteURL: account.AvatarRemoteURL, + HeaderMediaAttachmentID: account.HeaderMediaAttachmentID, + HeaderMediaAttachment: nil, + HeaderRemoteURL: account.HeaderRemoteURL, + DisplayName: account.DisplayName, + Fields: account.Fields, + Note: account.Note, + Memorial: account.Memorial, + MovedToAccountID: account.MovedToAccountID, + CreatedAt: account.CreatedAt, + UpdatedAt: account.UpdatedAt, + Bot: account.Bot, + Reason: account.Reason, + Locked: account.Locked, + Discoverable: account.Discoverable, + Privacy: account.Privacy, + Sensitive: account.Sensitive, + Language: account.Language, + URI: account.URI, + URL: account.URL, + LastWebfingeredAt: account.LastWebfingeredAt, + InboxURI: account.InboxURI, + OutboxURI: account.OutboxURI, + FollowingURI: account.FollowingURI, + FollowersURI: account.FollowersURI, + FeaturedCollectionURI: account.FeaturedCollectionURI, + ActorType: account.ActorType, + AlsoKnownAs: account.AlsoKnownAs, + PrivateKey: account.PrivateKey, + PublicKey: account.PublicKey, + PublicKeyURI: account.PublicKeyURI, + SensitizedAt: account.SensitizedAt, + SilencedAt: account.SilencedAt, + SuspendedAt: account.SuspendedAt, + HideCollections: account.HideCollections, + SuspensionOrigin: account.SuspensionOrigin, + } +} diff --git a/internal/cache/account_test.go b/internal/cache/account_test.go new file mode 100644 index 000000000..f84ad2261 --- /dev/null +++ b/internal/cache/account_test.go @@ -0,0 +1,63 @@ +package cache_test + +import ( + "testing" + + "github.com/stretchr/testify/suite" + "github.com/superseriousbusiness/gotosocial/internal/cache" + "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/testrig" +) + +type AccountCacheTestSuite struct { + suite.Suite + data map[string]*gtsmodel.Account + cache *cache.AccountCache +} + +func (suite *AccountCacheTestSuite) SetupSuite() { + suite.data = testrig.NewTestAccounts() +} + +func (suite *AccountCacheTestSuite) SetupTest() { + suite.cache = cache.NewAccountCache() +} + +func (suite *AccountCacheTestSuite) TearDownTest() { + suite.data = nil + suite.cache = nil +} + +func (suite *AccountCacheTestSuite) TestAccountCache() { + for _, account := range suite.data { + // Place in the cache + suite.cache.Put(account) + } + + for _, account := range suite.data { + var ok bool + var check *gtsmodel.Account + + // Check we can retrieve + check, ok = suite.cache.GetByID(account.ID) + if !ok && !accountIs(account, check) { + suite.Fail("Failed to fetch expected account with ID: %s", account.ID) + } + check, ok = suite.cache.GetByURI(account.URI) + if account.URI != "" && !ok && !accountIs(account, check) { + suite.Fail("Failed to fetch expected account with URI: %s", account.URI) + } + check, ok = suite.cache.GetByURL(account.URL) + if account.URL != "" && !ok && !accountIs(account, check) { + suite.Fail("Failed to fetch expected account with URL: %s", account.URL) + } + } +} + +func TestAccountCache(t *testing.T) { + suite.Run(t, &AccountCacheTestSuite{}) +} + +func accountIs(account1, account2 *gtsmodel.Account) bool { + return account1.ID == account2.ID && account1.URI == account2.URI && account1.URL == account2.URL +} diff --git a/internal/cache/status.go b/internal/cache/status.go index 895a5692c..028abc8f7 100644 --- a/internal/cache/status.go +++ b/internal/cache/status.go @@ -37,7 +37,7 @@ func NewStatusCache() *StatusCache { return &c } -// GetByID attempts to fetch a status from the cache by its ID +// GetByID attempts to fetch a status from the cache by its ID, you will receive a copy for thread-safety func (c *StatusCache) GetByID(id string) (*gtsmodel.Status, bool) { c.mutex.Lock() status, ok := c.getByID(id) @@ -45,7 +45,7 @@ func (c *StatusCache) GetByID(id string) (*gtsmodel.Status, bool) { return status, ok } -// GetByURL attempts to fetch a status from the cache by its URL +// GetByURL attempts to fetch a status from the cache by its URL, you will receive a copy for thread-safety func (c *StatusCache) GetByURL(url string) (*gtsmodel.Status, bool) { // Perform safe ID lookup c.mutex.Lock() @@ -63,7 +63,7 @@ func (c *StatusCache) GetByURL(url string) (*gtsmodel.Status, bool) { return status, ok } -// GetByURI attempts to fetch a status from the cache by its URI +// GetByURI attempts to fetch a status from the cache by its URI, you will receive a copy for thread-safety func (c *StatusCache) GetByURI(uri string) (*gtsmodel.Status, bool) { // Perform safe ID lookup c.mutex.Lock() @@ -81,26 +81,72 @@ func (c *StatusCache) GetByURI(uri string) (*gtsmodel.Status, bool) { return status, ok } -// getByID performs an unsafe (no mutex locks) lookup of status by ID +// getByID performs an unsafe (no mutex locks) lookup of status by ID, returning a copy of status in cache func (c *StatusCache) getByID(id string) (*gtsmodel.Status, bool) { v, ok := c.cache.Get(id) if !ok { return nil, false } - return v.(*gtsmodel.Status), true + return copyStatus(v.(*gtsmodel.Status)), true } -// Put places a status in the cache +// Put places a status in the cache, ensuring that the object place is a copy for thread-safety func (c *StatusCache) Put(status *gtsmodel.Status) { - if status == nil || status.ID == "" || - status.URL == "" || - status.URI == "" { + if status == nil || status.ID == "" { panic("invalid status") } c.mutex.Lock() - c.cache.Set(status.ID, status) - c.urls[status.URL] = status.ID - c.uris[status.URI] = status.ID + c.cache.Set(status.ID, copyStatus(status)) + if status.URL != "" { + c.urls[status.URL] = status.ID + } + if status.URI != "" { + c.uris[status.URI] = status.ID + } c.mutex.Unlock() } + +// copyStatus performs a surface-level copy of status, only keeping attached IDs intact, not the objects. +// due to all the data being copied being 99% primitive types or strings (which are immutable and passed by ptr) +// this should be a relatively cheap process +func copyStatus(status *gtsmodel.Status) *gtsmodel.Status { + return >smodel.Status{ + ID: status.ID, + URI: status.URI, + URL: status.URL, + Content: status.Content, + AttachmentIDs: status.AttachmentIDs, + Attachments: nil, + TagIDs: status.TagIDs, + Tags: nil, + MentionIDs: status.MentionIDs, + Mentions: nil, + EmojiIDs: status.EmojiIDs, + Emojis: nil, + CreatedAt: status.CreatedAt, + UpdatedAt: status.UpdatedAt, + Local: status.Local, + AccountID: status.AccountID, + Account: nil, + AccountURI: status.AccountURI, + InReplyToID: status.InReplyToID, + InReplyTo: nil, + InReplyToURI: status.InReplyToURI, + InReplyToAccountID: status.InReplyToAccountID, + InReplyToAccount: nil, + BoostOfID: status.BoostOfID, + BoostOf: nil, + BoostOfAccountID: status.BoostOfAccountID, + BoostOfAccount: nil, + ContentWarning: status.ContentWarning, + Visibility: status.Visibility, + Sensitive: status.Sensitive, + Language: status.Language, + CreatedWithApplicationID: status.CreatedWithApplicationID, + VisibilityAdvanced: status.VisibilityAdvanced, + ActivityStreamsType: status.ActivityStreamsType, + Text: status.Text, + Pinned: status.Pinned, + } +} diff --git a/internal/cache/status_test.go b/internal/cache/status_test.go index 10dee5bca..222961025 100644 --- a/internal/cache/status_test.go +++ b/internal/cache/status_test.go @@ -3,37 +3,59 @@ package cache_test import ( "testing" + "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/gotosocial/internal/cache" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/testrig" ) +type StatusCacheTestSuite struct { + suite.Suite + data map[string]*gtsmodel.Status + cache *cache.StatusCache +} + +func (suite *StatusCacheTestSuite) SetupSuite() { + suite.data = testrig.NewTestStatuses() +} + +func (suite *StatusCacheTestSuite) SetupTest() { + suite.cache = cache.NewStatusCache() +} + +func (suite *StatusCacheTestSuite) TearDownTest() { + suite.data = nil + suite.cache = nil +} + +func (suite *StatusCacheTestSuite) TestStatusCache() { + for _, status := range suite.data { + // Place in the cache + suite.cache.Put(status) + } + + for _, status := range suite.data { + var ok bool + var check *gtsmodel.Status + + // Check we can retrieve + check, ok = suite.cache.GetByID(status.ID) + if !ok && !statusIs(status, check) { + suite.Fail("Failed to fetch expected account with ID: %s", status.ID) + } + check, ok = suite.cache.GetByURI(status.URI) + if status.URI != "" && !ok && !statusIs(status, check) { + suite.Fail("Failed to fetch expected account with URI: %s", status.URI) + } + check, ok = suite.cache.GetByURL(status.URL) + if status.URL != "" && !ok && !statusIs(status, check) { + suite.Fail("Failed to fetch expected account with URL: %s", status.URL) + } + } +} + func TestStatusCache(t *testing.T) { - cache := cache.NewStatusCache() - - // Attempt to place a status - status := gtsmodel.Status{ - ID: "id", - URI: "uri", - URL: "url", - } - cache.Put(&status) - - var ok bool - var check *gtsmodel.Status - - // Check we can retrieve - check, ok = cache.GetByID(status.ID) - if !ok || !statusIs(&status, check) { - t.Fatal("Could not find expected status") - } - check, ok = cache.GetByURI(status.URI) - if !ok || !statusIs(&status, check) { - t.Fatal("Could not find expected status") - } - check, ok = cache.GetByURL(status.URL) - if !ok || !statusIs(&status, check) { - t.Fatal("Could not find expected status") - } + suite.Run(t, &StatusCacheTestSuite{}) } func statusIs(status1, status2 *gtsmodel.Status) bool { diff --git a/internal/db/bundb/account.go b/internal/db/bundb/account.go index d7d45a739..32a70f7cd 100644 --- a/internal/db/bundb/account.go +++ b/internal/db/bundb/account.go @@ -25,6 +25,7 @@ import ( "strings" "time" + "github.com/superseriousbusiness/gotosocial/internal/cache" "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" @@ -34,6 +35,7 @@ import ( type accountDB struct { config *config.Config conn *DBConn + cache *cache.AccountCache } func (a *accountDB) newAccountQ(account *gtsmodel.Account) *bun.SelectQuery { @@ -45,60 +47,80 @@ func (a *accountDB) newAccountQ(account *gtsmodel.Account) *bun.SelectQuery { } func (a *accountDB) GetAccountByID(ctx context.Context, id string) (*gtsmodel.Account, db.Error) { - account := new(gtsmodel.Account) - - q := a.newAccountQ(account). - Where("account.id = ?", id) - - err := q.Scan(ctx) - if err != nil { - return nil, a.conn.ProcessError(err) - } - return account, nil + return a.getAccount( + ctx, + func() (*gtsmodel.Account, bool) { + return a.cache.GetByID(id) + }, + func(account *gtsmodel.Account) error { + return a.newAccountQ(account).Where("account.id = ?", id).Scan(ctx) + }, + ) } func (a *accountDB) GetAccountByURI(ctx context.Context, uri string) (*gtsmodel.Account, db.Error) { - account := new(gtsmodel.Account) - - q := a.newAccountQ(account). - Where("account.uri = ?", uri) - - err := q.Scan(ctx) - if err != nil { - return nil, a.conn.ProcessError(err) - } - return account, nil + return a.getAccount( + ctx, + func() (*gtsmodel.Account, bool) { + return a.cache.GetByURI(uri) + }, + func(account *gtsmodel.Account) error { + return a.newAccountQ(account).Where("account.uri = ?", uri).Scan(ctx) + }, + ) } -func (a *accountDB) GetAccountByURL(ctx context.Context, uri string) (*gtsmodel.Account, db.Error) { - account := new(gtsmodel.Account) +func (a *accountDB) GetAccountByURL(ctx context.Context, url string) (*gtsmodel.Account, db.Error) { + return a.getAccount( + ctx, + func() (*gtsmodel.Account, bool) { + return a.cache.GetByURL(url) + }, + func(account *gtsmodel.Account) error { + return a.newAccountQ(account).Where("account.url = ?", url).Scan(ctx) + }, + ) +} - q := a.newAccountQ(account). - Where("account.url = ?", uri) +func (a *accountDB) getAccount(ctx context.Context, cacheGet func() (*gtsmodel.Account, bool), dbQuery func(*gtsmodel.Account) error) (*gtsmodel.Account, db.Error) { + // Attempt to fetch cached account + account, cached := cacheGet() - err := q.Scan(ctx) - if err != nil { - return nil, a.conn.ProcessError(err) + if !cached { + account = >smodel.Account{} + + // Not cached! Perform database query + err := dbQuery(account) + if err != nil { + return nil, a.conn.ProcessError(err) + } + + // Place in the cache + a.cache.Put(account) } + return account, nil } func (a *accountDB) UpdateAccount(ctx context.Context, account *gtsmodel.Account) (*gtsmodel.Account, db.Error) { if strings.TrimSpace(account.ID) == "" { + // TODO: we should not need this check here return nil, errors.New("account had no ID") } + // Update the account's last-used account.UpdatedAt = time.Now() - q := a.conn. - NewUpdate(). - Model(account). - WherePK() - - _, err := q.Exec(ctx) + // Update the account model in the DB + _, err := a.conn.NewUpdate().Model(account).WherePK().Exec(ctx) if err != nil { return nil, a.conn.ProcessError(err) } + + // Place updated account in cache + // (this will replace existing, i.e. invalidating) + a.cache.Put(account) + return account, nil } diff --git a/internal/db/bundb/bundb.go b/internal/db/bundb/bundb.go index 248232fe3..6fcc56e51 100644 --- a/internal/db/bundb/bundb.go +++ b/internal/db/bundb/bundb.go @@ -91,6 +91,15 @@ func NewBunDBService(ctx context.Context, c *config.Config, log *logrus.Logger) conn = WrapDBConn(bun.NewDB(sqldb, pgdialect.New()), log) case dbTypeSqlite: // SQLITE + + // Drop anything fancy from DB address + c.DBConfig.Address = strings.Split(c.DBConfig.Address, "?")[0] + c.DBConfig.Address = strings.TrimPrefix(c.DBConfig.Address, "file:") + + // Append our own SQLite preferences + c.DBConfig.Address = "file:" + c.DBConfig.Address + "?cache=shared" + + // Open new DB instance var err error sqldb, err = sql.Open("sqlite", c.DBConfig.Address) if err != nil { @@ -98,7 +107,7 @@ func NewBunDBService(ctx context.Context, c *config.Config, log *logrus.Logger) } conn = WrapDBConn(bun.NewDB(sqldb, sqlitedialect.New()), log) - if strings.HasPrefix(strings.TrimPrefix(c.DBConfig.Address, "file:"), ":memory:") { + if c.DBConfig.Address == "file::memory:?cache=shared" { log.Warn("sqlite in-memory database should only be used for debugging") // don't close connections on disconnect -- otherwise @@ -121,11 +130,10 @@ func NewBunDBService(ctx context.Context, c *config.Config, log *logrus.Logger) conn.RegisterModel(t) } + accounts := &accountDB{config: c, conn: conn, cache: cache.NewAccountCache()} + ps := &bunDBService{ - Account: &accountDB{ - config: c, - conn: conn, - }, + Account: accounts, Admin: &adminDB{ config: c, conn: conn, @@ -165,9 +173,10 @@ func NewBunDBService(ctx context.Context, c *config.Config, log *logrus.Logger) conn: conn, }, Status: &statusDB{ - config: c, - conn: conn, - cache: cache.NewStatusCache(), + config: c, + conn: conn, + cache: cache.NewStatusCache(), + accounts: accounts, }, Timeline: &timelineDB{ config: c, diff --git a/internal/db/bundb/conn.go b/internal/db/bundb/conn.go index 698adff3d..abaebcebd 100644 --- a/internal/db/bundb/conn.go +++ b/internal/db/bundb/conn.go @@ -12,6 +12,8 @@ import ( // dbConn wrapps a bun.DB conn to provide SQL-type specific additional functionality type DBConn struct { + // TODO: move *Config here, no need to be in each struct type + errProc func(error) db.Error // errProc is the SQL-type specific error processor log *logrus.Logger // log is the logger passed with this DBConn *bun.DB // DB is the underlying bun.DB connection @@ -35,6 +37,24 @@ func WrapDBConn(dbConn *bun.DB, log *logrus.Logger) *DBConn { } } +func (conn *DBConn) RunInTx(ctx context.Context, fn func(bun.Tx) error) db.Error { + // Acquire a new transaction + tx, err := conn.BeginTx(ctx, nil) + if err != nil { + return conn.ProcessError(err) + } + + // Perform supplied transaction + if err = fn(tx); err != nil { + tx.Rollback() //nolint + return conn.ProcessError(err) + } + + // Finally, commit transaction + err = tx.Commit() + return conn.ProcessError(err) +} + // ProcessError processes an error to replace any known values with our own db.Error types, // making it easier to catch specific situations (e.g. no rows, already exists, etc) func (conn *DBConn) ProcessError(err error) db.Error { diff --git a/internal/db/bundb/relationship.go b/internal/db/bundb/relationship.go index 56b752593..64d896527 100644 --- a/internal/db/bundb/relationship.go +++ b/internal/db/bundb/relationship.go @@ -237,7 +237,7 @@ func (r *relationshipDB) AcceptFollowRequest(ctx context.Context, originAccountI if _, err := r.conn. NewInsert(). Model(follow). - On("CONFLICT ON CONSTRAINT follows_account_id_target_account_id_key DO UPDATE set uri = ?", follow.URI). + On("CONFLICT (account_id,target_account_id) DO UPDATE set uri = ?", follow.URI). Exec(ctx); err != nil { return nil, r.conn.ProcessError(err) } @@ -298,7 +298,7 @@ func (r *relationshipDB) GetAccountFollowedBy(ctx context.Context, accountID str if localOnly { q = q.ColumnExpr("follow.*"). - Join("JOIN accounts AS a ON follow.account_id = TEXT(a.id)"). + Join("JOIN accounts AS a ON follow.account_id = CAST(a.id as TEXT)"). Where("follow.target_account_id = ?", accountID). WhereGroup(" AND ", whereEmptyOrNull("a.domain")) } else { diff --git a/internal/db/bundb/relationship_test.go b/internal/db/bundb/relationship_test.go new file mode 100644 index 000000000..dcc71b37c --- /dev/null +++ b/internal/db/bundb/relationship_test.go @@ -0,0 +1,124 @@ +/* + GoToSocial + Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +package bundb_test + +import ( + "context" + "errors" + "testing" + + "github.com/stretchr/testify/suite" + "github.com/superseriousbusiness/gotosocial/internal/db" + "github.com/superseriousbusiness/gotosocial/testrig" +) + +type RelationshipTestSuite struct { + BunDBStandardTestSuite +} + +func (suite *RelationshipTestSuite) SetupSuite() { + suite.testTokens = testrig.NewTestTokens() + suite.testClients = testrig.NewTestClients() + suite.testApplications = testrig.NewTestApplications() + suite.testUsers = testrig.NewTestUsers() + suite.testAccounts = testrig.NewTestAccounts() + suite.testAttachments = testrig.NewTestAttachments() + suite.testStatuses = testrig.NewTestStatuses() + suite.testTags = testrig.NewTestTags() + suite.testMentions = testrig.NewTestMentions() +} + +func (suite *RelationshipTestSuite) SetupTest() { + suite.config = testrig.NewTestConfig() + suite.db = testrig.NewTestDB() + suite.log = testrig.NewTestLog() + + testrig.StandardDBSetup(suite.db, suite.testAccounts) +} + +func (suite *RelationshipTestSuite) TearDownTest() { + testrig.StandardDBTeardown(suite.db) +} + +func (suite *RelationshipTestSuite) TestIsBlocked() { + suite.Suite.T().Skip("TODO: implement") +} + +func (suite *RelationshipTestSuite) TestGetBlock() { + suite.Suite.T().Skip("TODO: implement") +} + +func (suite *RelationshipTestSuite) TestGetRelationship() { + suite.Suite.T().Skip("TODO: implement") +} + +func (suite *RelationshipTestSuite) TestIsFollowing() { + suite.Suite.T().Skip("TODO: implement") +} + +func (suite *RelationshipTestSuite) TestIsMutualFollowing() { + suite.Suite.T().Skip("TODO: implement") +} + +func (suite *RelationshipTestSuite) AcceptFollowRequest() { + for _, account := range suite.testAccounts { + _, err := suite.db.AcceptFollowRequest(context.Background(), account.ID, "NON-EXISTENT-ID") + if err != nil && !errors.Is(err, db.ErrNoEntries) { + suite.Suite.Fail("error accepting follow request: %v", err) + } + } +} + +func (suite *RelationshipTestSuite) GetAccountFollowRequests() { + suite.Suite.T().Skip("TODO: implement") +} + +func (suite *RelationshipTestSuite) GetAccountFollows() { + suite.Suite.T().Skip("TODO: implement") +} + +func (suite *RelationshipTestSuite) CountAccountFollows() { + suite.Suite.T().Skip("TODO: implement") +} + +func (suite *RelationshipTestSuite) GetAccountFollowedBy() { + // TODO: more comprehensive tests here + + for _, account := range suite.testAccounts { + var err error + + _, err = suite.db.GetAccountFollowedBy(context.Background(), account.ID, false) + if err != nil { + suite.Suite.Fail("error checking accounts followed by: %v", err) + } + + _, err = suite.db.GetAccountFollowedBy(context.Background(), account.ID, true) + if err != nil { + suite.Suite.Fail("error checking localOnly accounts followed by: %v", err) + } + } +} + +func (suite *RelationshipTestSuite) CountAccountFollowedBy() { + suite.Suite.T().Skip("TODO: implement") +} + +func TestRelationshipTestSuite(t *testing.T) { + suite.Run(t, new(RelationshipTestSuite)) +} diff --git a/internal/db/bundb/sqlite-test.db b/internal/db/bundb/sqlite-test.db deleted file mode 100644 index ed3b25ee3142e455d4904f111bf247966d52b3f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 315392 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 M{vYHjz=KKsFLIJs*8l(j diff --git a/internal/db/bundb/status.go b/internal/db/bundb/status.go index 1d5acf0fc..9464cfadf 100644 --- a/internal/db/bundb/status.go +++ b/internal/db/bundb/status.go @@ -21,7 +21,6 @@ package bundb import ( "container/list" "context" - "errors" "time" "github.com/superseriousbusiness/gotosocial/internal/cache" @@ -35,6 +34,11 @@ type statusDB struct { config *config.Config conn *DBConn cache *cache.StatusCache + + // TODO: keep method definitions in same place but instead have receiver + // all point to one single "db" type, so they can all share methods + // and caches where necessary + accounts *accountDB } func (s *statusDB) newStatusQ(status interface{}) *bun.SelectQuery { @@ -51,30 +55,6 @@ func (s *statusDB) newStatusQ(status interface{}) *bun.SelectQuery { Relation("CreatedWithApplication") } -func (s *statusDB) getAttachedStatuses(ctx context.Context, status *gtsmodel.Status) *gtsmodel.Status { - if status.InReplyToID != "" && status.InReplyTo == nil { - // TODO: do we want to keep this possibly recursive strategy? - - if inReplyTo, cached := s.cache.GetByID(status.InReplyToID); cached { - status.InReplyTo = inReplyTo - } else if inReplyTo, err := s.GetStatusByID(ctx, status.InReplyToID); err == nil { - status.InReplyTo = inReplyTo - } - } - - if status.BoostOfID != "" && status.BoostOf == nil { - // TODO: do we want to keep this possibly recursive strategy? - - if boostOf, cached := s.cache.GetByID(status.BoostOfID); cached { - status.BoostOf = boostOf - } else if boostOf, err := s.GetStatusByID(ctx, status.BoostOfID); err == nil { - status.BoostOf = boostOf - } - } - - return status -} - func (s *statusDB) newFaveQ(faves interface{}) *bun.SelectQuery { return s.conn. NewSelect(). @@ -85,64 +65,79 @@ func (s *statusDB) newFaveQ(faves interface{}) *bun.SelectQuery { } func (s *statusDB) GetStatusByID(ctx context.Context, id string) (*gtsmodel.Status, db.Error) { - if status, cached := s.cache.GetByID(id); cached { - return status, nil - } - - status := >smodel.Status{} - - q := s.newStatusQ(status). - Where("status.id = ?", id) - - err := q.Scan(ctx) - if err != nil { - return nil, s.conn.ProcessError(err) - } - - s.cache.Put(status) - return s.getAttachedStatuses(ctx, status), nil + return s.getStatus( + ctx, + func() (*gtsmodel.Status, bool) { + return s.cache.GetByID(id) + }, + func(status *gtsmodel.Status) error { + return s.newStatusQ(status).Where("status.id = ?", id).Scan(ctx) + }, + ) } func (s *statusDB) GetStatusByURI(ctx context.Context, uri string) (*gtsmodel.Status, db.Error) { - if status, cached := s.cache.GetByURI(uri); cached { - return status, nil - } - - status := >smodel.Status{} - - q := s.newStatusQ(status). - Where("LOWER(status.uri) = LOWER(?)", uri) - - err := q.Scan(ctx) - if err != nil { - return nil, s.conn.ProcessError(err) - } - - s.cache.Put(status) - return s.getAttachedStatuses(ctx, status), nil + return s.getStatus( + ctx, + func() (*gtsmodel.Status, bool) { + return s.cache.GetByURI(uri) + }, + func(status *gtsmodel.Status) error { + return s.newStatusQ(status).Where("LOWER(status.uri) = LOWER(?)", uri).Scan(ctx) + }, + ) } func (s *statusDB) GetStatusByURL(ctx context.Context, url string) (*gtsmodel.Status, db.Error) { - if status, cached := s.cache.GetByURL(url); cached { - return status, nil + return s.getStatus( + ctx, + func() (*gtsmodel.Status, bool) { + return s.cache.GetByURL(url) + }, + func(status *gtsmodel.Status) error { + return s.newStatusQ(status).Where("LOWER(status.url) = LOWER(?)", url).Scan(ctx) + }, + ) +} + +func (s *statusDB) getStatus(ctx context.Context, cacheGet func() (*gtsmodel.Status, bool), dbQuery func(*gtsmodel.Status) error) (*gtsmodel.Status, db.Error) { + // Attempt to fetch cached status + status, cached := cacheGet() + + if !cached { + status = >smodel.Status{} + + // Not cached! Perform database query + err := dbQuery(status) + if err != nil { + return nil, s.conn.ProcessError(err) + } + + // If there is boosted, fetch from DB also + if status.BoostOfID != "" { + boostOf, err := s.GetStatusByID(ctx, status.BoostOfID) + if err == nil { + status.BoostOf = boostOf + } + } + + // Place in the cache + s.cache.Put(status) } - status := >smodel.Status{} - - q := s.newStatusQ(status). - Where("LOWER(status.url) = LOWER(?)", url) - - err := q.Scan(ctx) + // Set the status author account + author, err := s.accounts.GetAccountByID(ctx, status.AccountID) if err != nil { - return nil, s.conn.ProcessError(err) + return nil, err } - s.cache.Put(status) - return s.getAttachedStatuses(ctx, status), nil + // Return the prepared status + status.Account = author + return status, nil } func (s *statusDB) PutStatus(ctx context.Context, status *gtsmodel.Status) db.Error { - transaction := func(ctx context.Context, tx bun.Tx) error { + return s.conn.RunInTx(ctx, func(tx bun.Tx) error { // create links between this status and any emojis it uses for _, i := range status.EmojiIDs { if _, err := tx.NewInsert().Model(>smodel.StatusToEmoji{ @@ -174,10 +169,10 @@ func (s *statusDB) PutStatus(ctx context.Context, status *gtsmodel.Status) db.Er } } + // Finally, insert the status _, err := tx.NewInsert().Model(status).Exec(ctx) return err - } - return s.conn.ProcessError(s.conn.RunInTx(ctx, nil, transaction)) + }) } func (s *statusDB) GetStatusParents(ctx context.Context, status *gtsmodel.Status, onlyDirect bool) ([]*gtsmodel.Status, db.Error) { @@ -210,12 +205,8 @@ func (s *statusDB) GetStatusChildren(ctx context.Context, status *gtsmodel.Statu children := []*gtsmodel.Status{} for e := foundStatuses.Front(); e != nil; e = e.Next() { - entry, ok := e.Value.(*gtsmodel.Status) - if !ok { - panic(errors.New("entry in foundStatuses was not a *gtsmodel.Status")) - } - // only append children, not the overall parent status + entry := e.Value.(*gtsmodel.Status) if entry.ID != status.ID { children = append(children, entry) } @@ -242,11 +233,7 @@ func (s *statusDB) statusChildren(ctx context.Context, status *gtsmodel.Status, for _, child := range immediateChildren { insertLoop: for e := foundStatuses.Front(); e != nil; e = e.Next() { - entry, ok := e.Value.(*gtsmodel.Status) - if !ok { - panic(errors.New("entry in foundStatuses was not a *gtsmodel.Status")) - } - + entry := e.Value.(*gtsmodel.Status) if child.InReplyToAccountID != "" && entry.ID == child.InReplyToID { foundStatuses.InsertAfter(child, e) break insertLoop diff --git a/internal/db/bundb/status_test.go b/internal/db/bundb/status_test.go index 4f846441b..7acc86ff9 100644 --- a/internal/db/bundb/status_test.go +++ b/internal/db/bundb/status_test.go @@ -105,10 +105,9 @@ func (suite *StatusTestSuite) TestGetStatusWithMention() { suite.NotNil(status) suite.NotNil(status.Account) suite.NotNil(status.CreatedWithApplication) - suite.NotEmpty(status.Mentions) suite.NotEmpty(status.MentionIDs) - suite.NotNil(status.InReplyTo) - suite.NotNil(status.InReplyToAccount) + suite.NotEmpty(status.InReplyToID) + suite.NotEmpty(status.InReplyToAccountID) } func (suite *StatusTestSuite) TestGetStatusTwice() { diff --git a/internal/db/status.go b/internal/db/status.go index 7430433c4..f26f8942e 100644 --- a/internal/db/status.go +++ b/internal/db/status.go @@ -26,13 +26,13 @@ import ( // Status contains functions for getting statuses, creating statuses, and checking various other fields on statuses. type Status interface { - // GetStatusByID returns one status from the database, with all rel fields populated (if possible). + // GetStatusByID returns one status from the database, with no rel fields populated, only their linking ID / URIs GetStatusByID(ctx context.Context, id string) (*gtsmodel.Status, Error) - // GetStatusByURI returns one status from the database, with all rel fields populated (if possible). + // GetStatusByURI returns one status from the database, with no rel fields populated, only their linking ID / URIs GetStatusByURI(ctx context.Context, uri string) (*gtsmodel.Status, Error) - // GetStatusByURL returns one status from the database, with all rel fields populated (if possible). + // GetStatusByURL returns one status from the database, with no rel fields populated, only their linking ID / URIs GetStatusByURL(ctx context.Context, uri string) (*gtsmodel.Status, Error) // PutStatus stores one status in the database. diff --git a/internal/federation/dereference.go b/internal/federation/dereference.go index a09f0f84b..a9dbabb42 100644 --- a/internal/federation/dereference.go +++ b/internal/federation/dereference.go @@ -34,12 +34,12 @@ func (f *federator) EnrichRemoteAccount(ctx context.Context, username string, ac return f.dereferencer.EnrichRemoteAccount(ctx, username, account) } -func (f *federator) GetRemoteStatus(ctx context.Context, username string, remoteStatusID *url.URL, refresh bool) (*gtsmodel.Status, ap.Statusable, bool, error) { - return f.dereferencer.GetRemoteStatus(ctx, username, remoteStatusID, refresh) +func (f *federator) GetRemoteStatus(ctx context.Context, username string, remoteStatusID *url.URL, refresh, includeParent, includeChilds bool) (*gtsmodel.Status, ap.Statusable, bool, error) { + return f.dereferencer.GetRemoteStatus(ctx, username, remoteStatusID, refresh, includeParent, includeChilds) } -func (f *federator) EnrichRemoteStatus(ctx context.Context, username string, status *gtsmodel.Status) (*gtsmodel.Status, error) { - return f.dereferencer.EnrichRemoteStatus(ctx, username, status) +func (f *federator) EnrichRemoteStatus(ctx context.Context, username string, status *gtsmodel.Status, includeParent, includeChilds bool) (*gtsmodel.Status, error) { + return f.dereferencer.EnrichRemoteStatus(ctx, username, status, includeParent, includeChilds) } func (f *federator) DereferenceRemoteThread(ctx context.Context, username string, statusIRI *url.URL) error { diff --git a/internal/federation/dereferencing/account.go b/internal/federation/dereferencing/account.go index 2eee0645d..8cae002e8 100644 --- a/internal/federation/dereferencing/account.go +++ b/internal/federation/dereferencing/account.go @@ -48,7 +48,6 @@ func instanceAccount(account *gtsmodel.Account) bool { // EnrichRemoteAccount is mostly useful for calling after an account has been initially created by // the federatingDB's Create function, or during the federated authorization flow. func (d *deref) EnrichRemoteAccount(ctx context.Context, username string, account *gtsmodel.Account) (*gtsmodel.Account, error) { - // if we're dealing with an instance account, we don't need to update anything if instanceAccount(account) { return account, nil @@ -58,13 +57,13 @@ func (d *deref) EnrichRemoteAccount(ctx context.Context, username string, accoun return nil, err } - var err error - account, err = d.db.UpdateAccount(ctx, account) + updated, err := d.db.UpdateAccount(ctx, account) if err != nil { d.log.Errorf("EnrichRemoteAccount: error updating account: %s", err) + return account, nil } - return account, nil + return updated, nil } // GetRemoteAccount completely dereferences a remote account, converts it to a GtS model account, diff --git a/internal/federation/dereferencing/announce.go b/internal/federation/dereferencing/announce.go index 33af74ebe..d5cc5ad0c 100644 --- a/internal/federation/dereferencing/announce.go +++ b/internal/federation/dereferencing/announce.go @@ -46,7 +46,7 @@ func (d *deref) DereferenceAnnounce(ctx context.Context, announce *gtsmodel.Stat return fmt.Errorf("DereferenceAnnounce: error dereferencing thread of boosted status: %s", err) } - boostedStatus, _, _, err := d.GetRemoteStatus(ctx, requestingUsername, boostedStatusURI, false) + boostedStatus, _, _, err := d.GetRemoteStatus(ctx, requestingUsername, boostedStatusURI, false, false, false) if err != nil { return fmt.Errorf("DereferenceAnnounce: error dereferencing remote status with id %s: %s", announce.BoostOf.URI, err) } diff --git a/internal/federation/dereferencing/dereferencer.go b/internal/federation/dereferencing/dereferencer.go index 4191bd283..8ad21013f 100644 --- a/internal/federation/dereferencing/dereferencer.go +++ b/internal/federation/dereferencing/dereferencer.go @@ -38,8 +38,8 @@ type Dereferencer interface { GetRemoteAccount(ctx context.Context, username string, remoteAccountID *url.URL, refresh bool) (*gtsmodel.Account, bool, error) EnrichRemoteAccount(ctx context.Context, username string, account *gtsmodel.Account) (*gtsmodel.Account, error) - GetRemoteStatus(ctx context.Context, username string, remoteStatusID *url.URL, refresh bool) (*gtsmodel.Status, ap.Statusable, bool, error) - EnrichRemoteStatus(ctx context.Context, username string, status *gtsmodel.Status) (*gtsmodel.Status, error) + GetRemoteStatus(ctx context.Context, username string, remoteStatusID *url.URL, refresh, includeParent, includeChilds bool) (*gtsmodel.Status, ap.Statusable, bool, error) + EnrichRemoteStatus(ctx context.Context, username string, status *gtsmodel.Status, includeParent, includeChilds bool) (*gtsmodel.Status, error) GetRemoteInstance(ctx context.Context, username string, remoteInstanceURI *url.URL) (*gtsmodel.Instance, error) diff --git a/internal/federation/dereferencing/sqlite-test.db b/internal/federation/dereferencing/sqlite-test.db deleted file mode 100644 index bef45b3af316de7fd723b1263fe5ab9bca8e5609..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311296 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 WQN3Kn&(@WJ>1 diff --git a/internal/federation/dereferencing/status.go b/internal/federation/dereferencing/status.go index 3fa1e4133..7a7f928f1 100644 --- a/internal/federation/dereferencing/status.go +++ b/internal/federation/dereferencing/status.go @@ -39,8 +39,8 @@ import ( // // EnrichRemoteStatus is mostly useful for calling after a status has been initially created by // the federatingDB's Create function, but additional dereferencing is needed on it. -func (d *deref) EnrichRemoteStatus(ctx context.Context, username string, status *gtsmodel.Status) (*gtsmodel.Status, error) { - if err := d.populateStatusFields(ctx, status, username); err != nil { +func (d *deref) EnrichRemoteStatus(ctx context.Context, username string, status *gtsmodel.Status, includeParent, includeChilds bool) (*gtsmodel.Status, error) { + if err := d.populateStatusFields(ctx, status, username, includeParent, includeChilds); err != nil { return nil, err } @@ -62,7 +62,7 @@ func (d *deref) EnrichRemoteStatus(ctx context.Context, username string, status // If a dereference was performed, then the function also returns the ap.Statusable representation for further processing. // // SIDE EFFECTS: remote status will be stored in the database, and the remote status owner will also be stored. -func (d *deref) GetRemoteStatus(ctx context.Context, username string, remoteStatusID *url.URL, refresh bool) (*gtsmodel.Status, ap.Statusable, bool, error) { +func (d *deref) GetRemoteStatus(ctx context.Context, username string, remoteStatusID *url.URL, refresh, includeParent, includeChilds bool) (*gtsmodel.Status, ap.Statusable, bool, error) { new := true // check if we already have the status in our db @@ -105,7 +105,7 @@ func (d *deref) GetRemoteStatus(ctx context.Context, username string, remoteStat } gtsStatus.ID = ulid - if err := d.populateStatusFields(ctx, gtsStatus, username); err != nil { + if err := d.populateStatusFields(ctx, gtsStatus, username, includeParent, includeChilds); err != nil { return nil, statusable, new, fmt.Errorf("GetRemoteStatus: error populating status fields: %s", err) } @@ -115,7 +115,7 @@ func (d *deref) GetRemoteStatus(ctx context.Context, username string, remoteStat } else { gtsStatus.ID = maybeStatus.ID - if err := d.populateStatusFields(ctx, gtsStatus, username); err != nil { + if err := d.populateStatusFields(ctx, gtsStatus, username, includeParent, includeChilds); err != nil { return nil, statusable, new, fmt.Errorf("GetRemoteStatus: error populating status fields: %s", err) } @@ -235,7 +235,7 @@ func (d *deref) dereferenceStatusable(ctx context.Context, username string, remo // This function will deference all of the above, insert them in the database as necessary, // and attach them to the status. The status itself will not be added to the database yet, // that's up the caller to do. -func (d *deref) populateStatusFields(ctx context.Context, status *gtsmodel.Status, requestingUsername string) error { +func (d *deref) populateStatusFields(ctx context.Context, status *gtsmodel.Status, requestingUsername string, includeParent, includeChilds bool) error { l := d.log.WithFields(logrus.Fields{ "func": "dereferenceStatusFields", "status": fmt.Sprintf("%+v", status), @@ -275,14 +275,19 @@ func (d *deref) populateStatusFields(ctx context.Context, status *gtsmodel.Statu // 3. Emojis // TODO - // 4. Mentions - if err := d.populateStatusMentions(ctx, status, requestingUsername); err != nil { - return fmt.Errorf("populateStatusFields: error populating status mentions: %s", err) + // 4. Mentions (only if requested) + // TODO: do we need to handle removing empty mention objects and just using mention IDs slice? + if includeChilds { + if err := d.populateStatusMentions(ctx, status, requestingUsername); err != nil { + return fmt.Errorf("populateStatusFields: error populating status mentions: %s", err) + } } - // 5. Replied-to-status. - if err := d.populateStatusRepliedTo(ctx, status, requestingUsername); err != nil { - return fmt.Errorf("populateStatusFields: error populating status repliedTo: %s", err) + // 5. Replied-to-status (only if requested) + if includeParent { + if err := d.populateStatusRepliedTo(ctx, status, requestingUsername); err != nil { + return fmt.Errorf("populateStatusFields: error populating status repliedTo: %s", err) + } } return nil @@ -391,7 +396,6 @@ func (d *deref) populateStatusAttachments(ctx context.Context, status *gtsmodel. attachments := []*gtsmodel.MediaAttachment{} for _, a := range status.Attachments { - aURL, err := url.Parse(a.RemoteURL) if err != nil { l.Errorf("populateStatusAttachments: couldn't parse attachment url %s: %s", a.RemoteURL, err) @@ -401,6 +405,7 @@ func (d *deref) populateStatusAttachments(ctx context.Context, status *gtsmodel. attachment, err := d.GetRemoteAttachment(ctx, requestingUsername, aURL, status.AccountID, status.ID, a.File.ContentType) if err != nil { l.Errorf("populateStatusAttachments: couldn't get remote attachment %s: %s", a.RemoteURL, err) + continue } attachmentIDs = append(attachmentIDs, attachment.ID) @@ -420,29 +425,16 @@ func (d *deref) populateStatusRepliedTo(ctx context.Context, status *gtsmodel.St return err } - var replyToStatus *gtsmodel.Status - errs := []string{} - // see if we have the status in our db already - if s, err := d.db.GetStatusByURI(ctx, status.InReplyToURI); err != nil { - errs = append(errs, err.Error()) - } else { - replyToStatus = s - } - - if replyToStatus == nil { - // didn't find the status in our db, try to get it remotely - if s, _, _, err := d.GetRemoteStatus(ctx, requestingUsername, statusURI, false); err != nil { - errs = append(errs, err.Error()) - } else { - replyToStatus = s + replyToStatus, err := d.db.GetStatusByURI(ctx, status.InReplyToURI) + if err != nil { + // Status was not in the DB, try fetch + replyToStatus, _, _, err = d.GetRemoteStatus(ctx, requestingUsername, statusURI, false, false, false) + if err != nil { + return fmt.Errorf("populateStatusRepliedTo: couldn't get reply to status with uri %s: %s", status.InReplyToURI, err) } } - if replyToStatus == nil { - return fmt.Errorf("populateStatusRepliedTo: couldn't get reply to status with uri %s: %s", statusURI, strings.Join(errs, " : ")) - } - // we have the status status.InReplyToID = replyToStatus.ID status.InReplyTo = replyToStatus diff --git a/internal/federation/dereferencing/status_test.go b/internal/federation/dereferencing/status_test.go index 2d259682b..43732ac77 100644 --- a/internal/federation/dereferencing/status_test.go +++ b/internal/federation/dereferencing/status_test.go @@ -119,7 +119,7 @@ func (suite *StatusTestSuite) TestDereferenceSimpleStatus() { fetchingAccount := suite.testAccounts["local_account_1"] statusURL := testrig.URLMustParse("https://unknown-instance.com/users/brand_new_person/statuses/01FE4NTHKWW7THT67EF10EB839") - status, statusable, new, err := suite.dereferencer.GetRemoteStatus(context.Background(), fetchingAccount.Username, statusURL, false) + status, statusable, new, err := suite.dereferencer.GetRemoteStatus(context.Background(), fetchingAccount.Username, statusURL, false, false, false) suite.NoError(err) suite.NotNil(status) suite.NotNil(statusable) @@ -157,7 +157,7 @@ func (suite *StatusTestSuite) TestDereferenceStatusWithMention() { fetchingAccount := suite.testAccounts["local_account_1"] statusURL := testrig.URLMustParse("https://unknown-instance.com/users/brand_new_person/statuses/01FE5Y30E3W4P7TRE0R98KAYQV") - status, statusable, new, err := suite.dereferencer.GetRemoteStatus(context.Background(), fetchingAccount.Username, statusURL, false) + status, statusable, new, err := suite.dereferencer.GetRemoteStatus(context.Background(), fetchingAccount.Username, statusURL, false, false, true) suite.NoError(err) suite.NotNil(status) suite.NotNil(statusable) diff --git a/internal/federation/dereferencing/thread.go b/internal/federation/dereferencing/thread.go index f9dd9aa09..af16c01b2 100644 --- a/internal/federation/dereferencing/thread.go +++ b/internal/federation/dereferencing/thread.go @@ -49,7 +49,7 @@ func (d *deref) DereferenceThread(ctx context.Context, username string, statusIR } // first make sure we have this status in our db - _, statusable, _, err := d.GetRemoteStatus(ctx, username, statusIRI, true) + _, statusable, _, err := d.GetRemoteStatus(ctx, username, statusIRI, true, false, false) if err != nil { return fmt.Errorf("DereferenceThread: error getting status with id %s: %s", statusIRI.String(), err) } @@ -104,7 +104,7 @@ func (d *deref) iterateAncestors(ctx context.Context, username string, statusIRI // If we reach here, we're looking at a remote status -- make sure we have it in our db by calling GetRemoteStatus // We call it with refresh to true because we want the statusable representation to parse inReplyTo from. - status, statusable, _, err := d.GetRemoteStatus(ctx, username, &statusIRI, true) + _, statusable, _, err := d.GetRemoteStatus(ctx, username, &statusIRI, true, false, false) if err != nil { l.Debugf("error getting remote status: %s", err) return nil @@ -116,18 +116,6 @@ func (d *deref) iterateAncestors(ctx context.Context, username string, statusIRI return nil } - // get the ancestor status into our database if we don't have it yet - if _, _, _, err := d.GetRemoteStatus(ctx, username, inReplyTo, false); err != nil { - l.Debugf("error getting remote status: %s", err) - return nil - } - - // now enrich the current status, since we should have the ancestor in the db - if _, err := d.EnrichRemoteStatus(ctx, username, status); err != nil { - l.Debugf("error enriching remote status: %s", err) - return nil - } - // now move up to the next ancestor return d.iterateAncestors(ctx, username, *inReplyTo) } @@ -226,7 +214,7 @@ pageLoop: foundReplies = foundReplies + 1 // get the remote statusable and put it in the db - _, statusable, new, err := d.GetRemoteStatus(ctx, username, itemURI, false) + _, statusable, new, err := d.GetRemoteStatus(ctx, username, itemURI, false, false, false) if new && err == nil && statusable != nil { // now iterate descendants of *that* status if err := d.iterateDescendants(ctx, username, *itemURI, statusable); err != nil { diff --git a/internal/federation/federator.go b/internal/federation/federator.go index 5eddcbb99..aecddf017 100644 --- a/internal/federation/federator.go +++ b/internal/federation/federator.go @@ -62,8 +62,8 @@ type Federator interface { GetRemoteAccount(ctx context.Context, username string, remoteAccountID *url.URL, refresh bool) (*gtsmodel.Account, bool, error) EnrichRemoteAccount(ctx context.Context, username string, account *gtsmodel.Account) (*gtsmodel.Account, error) - GetRemoteStatus(ctx context.Context, username string, remoteStatusID *url.URL, refresh bool) (*gtsmodel.Status, ap.Statusable, bool, error) - EnrichRemoteStatus(ctx context.Context, username string, status *gtsmodel.Status) (*gtsmodel.Status, error) + GetRemoteStatus(ctx context.Context, username string, remoteStatusID *url.URL, refresh, includeParent, includeChilds bool) (*gtsmodel.Status, ap.Statusable, bool, error) + EnrichRemoteStatus(ctx context.Context, username string, status *gtsmodel.Status, includeParent, includeChilds bool) (*gtsmodel.Status, error) GetRemoteInstance(ctx context.Context, username string, remoteInstanceURI *url.URL) (*gtsmodel.Instance, error) @@ -88,7 +88,6 @@ type federator struct { // NewFederator returns a new federator func NewFederator(db db.DB, federatingDB federatingdb.DB, transportController transport.Controller, config *config.Config, log *logrus.Logger, typeConverter typeutils.TypeConverter, mediaHandler media.Handler) Federator { - dereferencer := dereferencing.NewDereferencer(config, db, typeConverter, transportController, mediaHandler, log) clock := &Clock{} diff --git a/internal/federation/sqlite-test.db b/internal/federation/sqlite-test.db deleted file mode 100644 index d34adbfe91fc6a47d05304d8626bfc69d9b065fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 315392 zcmeFaYiwg@n&(GVmFr@=toHQOYHB^6qS;+jR#&NX?icmA+mu9!B^6b=l`iG+Fcfv9 zqKhJBl5$!0dK0|F?byT7UHaq>tN6|Jh}!@U=wZ?DR?h z4NMH28|WOPf7j2k<*lzjNpqv8`LDk9D^Jo~?`i(^&&Doa7<%osf#02N6gJ91R9tU!DhbDNF|r=D+v~LUJ-QmA-#>Ia%DR)q+YR-ze<>N?~W0rhB`aPusLmELQjEuHUR0h1zz|$e&cL z{xD?JM!C9OPbJ6i-MgDf&$Z{=sO<$Z%~~myTuCnq^?a>V8>OxNcI{iq`NccA^x}GQ zHnSe#G<++0f9}r0{Y><=*#%c8?#(SNFQ)IzEhiI+m;d|pYyCv1SS|rpJ+C+a_%7A| zo-pmxfskp<%gvAPbTh4a^*E;01K0+`4yoF#?i5Ou&MSNMpcdlWu5^^p;Y8x4|NFaF z`;pP8J_;&O5q-Wz<^O5u>eYcCjD|!+SEJv*)lEWl@i+=1BD?38Iy&W4E!Zs8f?^}z z!^L{Bx*K$oTdZy#em^R|H*Ua2sgo~0ER@SZW&5!9k&^sQ(0EuyVcO6&n})j5ttzd? z!H2s{w0@)z5f17IXS1t5GmC2FBW3KwP1^pAD%Quvs%AFTE%@vIU+nw!c%-U zY2>fgRECkPOaHjPjjdJp8i;2dXi8NPv7QUxruq8N&6_QS=_&5{I@T?HJ*CHqAyyyU zHuf7qq0Jc~thT?4di7pEf`O2E@xRU8=%+xTttk}?jflvuuO3Z57`ky|;PX47I&~Fx zeQ~?V>nb~rxXz0C#(sysbkq9O3&1I@bhTF6E>%u8=8ZyQuimvJgc4Oi5u2tx&RD~O z3%4`Z`mvx?VY#ZHgL$L zv~89&jK7SX*g3SHqMX%Aqri#~u;P_FJ7^WOyariLDutac6npD*Iv}C6?d~Cl;mla( zGt-&HHr8#wLZjjbK}{@I$M8ptgOC)h%10fFW&u@%tzt&bz1M#o4tA>Vm2gC(Pm{`T zomkn3DjQV(+KH9*sIrdB{(r~{|D$Rs%CroyB5>^pj0o>MVu9cJSvvJh+p$gCGJV}M zHOBF5S9d+n@*SFKra>i7^KH{`bVK)D%V9>E=h$@PI)-lhOweU~THB6qFdQ|Rif5X( z?$S=z4A-M`dSYs(p=r9|SRypEvs_a%e8V+u&vHy%gJ_p-eaqCT0{xb)dAjMFj%CsV z<)))KzHcEhp6QrWrvb$IOiQPlZknzj=9>nSb}Zf3eL%Bxp^7er0L!9*CEd}$V6OD3 z8-@l-E<+m{)d9?KecLxR-v>Aycx_jZ)CGL5F+ut@Ov|tx%kyl<)ojBym?ixhfZ;MU zbJ6LU8QC<_earVfVDe1eU}#s<9M^@%8st)+Nx7P1SiT3RY{*^~Q${)R08>qaxr+z_C89?k%s#}_w_SQSO^<291?kd6 zm~F%y=9{`sf3^m2;N=;xS+_mcgLDu1LUa&jfCXbib39#GDzXe~JSagpeMW*J6psIy zpa}_vqrn5%r0I00gFnIv=z!)JCe=+O)3@o+w=61~x+@$(BBTxEYOd!P4ph1D6@dXs zgh2FGM>OCW8e*cQ;WPv&%NA|(QD@JxQN(EC2#9H-awxL_OLP|**HCI`u{DIzw^3%- zMy0_5)UXFg84$x}CSalPC_TU+gh;iNF%g8FKM{RF*tU^OS0qOihi*h!A&JTBh6d40 z7)U_QHDS64Iw*OXtJ|=_LB0_!RMW?Bz+=}&S`cDrfbXHrKpDkqzzcW=Q*Nc^YZBQ^ zjlIJhT;v|;b!-u0D|!PMrtkTbc+lXA>^T?+R1iTyg&4y2F*(w|E&TLM#-kpcBflD= zh3bpoq9IrTGzj$oV4(#DLm4XXYsjwSzW;UD_2}KHN1OV_Ww3H#p7+t<2Yd$$Dxz#-TBR-ZO(vjW2QVcp0@xg}7rMb}LJ8(n zLx7mHm<;BF8lq4LCZd5QM_Azwwh*@47+3^FR1(98X=eoj8>}UA2#b9b+7U~xGZKP< z0*VzAl|!*uK565R;|NL%=DgK1ecIq#Elh za*rp$OaOruMO+6RPKfriG*c1voqRtvCdMC#nIUU7MhmS414d%)kR^?&p_^jNAr*up zLyP{=D+ZNMK*dsv!NWi!J(vPm!9N6$D;30A(y@?=>tZ9Ys1dA3jeK~B zfTMHbBEeTW!p)ME96GrSU$7S#8x~)tXUH@SETPy)ydbfHP-9T(R%)SC`5-ms!&;Ud zH(Y2u^hkspTP%w&&6q0|4$MVbKnV>+{S35~m5jQSg94nwGr_uhqIc9pz#tHnl;t$k z)NnCFJ7jsn%83sptF#zHjFZqpZG&|lbA*~QAj`N2m$+B5WYQ%Z5f=|0J2o}3nCL83 z#dSm%=?E3Ua^fP=4RRm;DQk4N%rH6FCCdUH7(KHFpte|H3@UyAD=kJqJR;Nz^UY-O zAu*TY@_{)7qkXKH+O5>Y;_^zNOrDU1(V+!L7j`4}PCZ>PI1<5Kssx1QY@a0fm4*8P>awR0WCbK{d!MsCHOSe~#JBzcvcI(t~GXWjJ`{ee4aOn9@z z#I%L+sWY#iO<(GtIuG~%7yl@6@sD2lA20vbi?6=)uU~YJlBcdH1QY@a0fm4 z&ev7_RHyo4TAXmWud7Ae8Nc(_UraZ-+k`vTWBu$`UP^DjTi^TmEE+iG zH9KV5DVxP{?p%zj*fINscom3n(;pUgclSB$$;~G5_1-?Y%F(X6m=JrcwzJo6{7h%cG5Ei5_W!>g{I3T8a`5vnZgp29DFhS(3ITy)5Kssx1QY@a0fm4<;H!hc ztLLsK20A0N=f8e#I5E&2m3rZu=iYD!Bt95LOJgI2=fbW!gK1}f_1w+GKu;j$%%yWf ziA!PFL!Qld_HvLI{PkDv@S%Pb0tx|zfI>hapb$_9C6u47Q@!vwDAhJwlpS8V&DoRKG<}mK z%gxSt57y?ga}V5%K$3OWz3ptLY zqGo9Yd#gAS=z%f9(~SI)jg6o%q7}?wYol1ui`K?LVc=4FqKhQU%$jqYuFtH_FB((x z>zTD_`Y)IFlf`PaoZN2IlTg7^y)5Kssx1QY_# zfhapb$_9Cy) z5Kssx1b(p*koy)5Kssx1QY@a0fm4<;MovR`Tu9b zPqkJECy)5Kssx1QY@a0foSq0Rff&|1xk%%~2ts5Kssx1QY@a0fm4< zKp~(IPzWdl6avqNfXe?r8-A*_LO>y)5Kssx1QY@a0fm4hapb%&xa1fk%F`dh$)0YlzT-5X_Z+?ApBIB)P40C!hV^7XMn3;Sq zId5o&KEg}t4L_-yW4b?P8@D~j*F5*8rj2RZN#)XWE~{tV^%ebrJ84XKvxaMG3*%E! zi9I(yIc4Nl+==B0Yr)nHFFWGT$}tBVT{Ry5OFwldzbzdq}=>2Q;}(@Ce(Lua4z zljzjlsnyK5>1Q9zxX!q3@gFi_O{*+(pMxseNAH4pHN}!sTLO>y)5Kssx z1QY@a0fm4hapb$_9eAN-~&!wYO{*&JNaK@u$7&17nW!%jK z>iPd)b)i%AD+Ck*3ITy)5Kssx1QY@a0foR<0Ri>=|E~g<6^#l3g@8gpA)pXY z2q**;0tx|zfI>ha@Kr}Z?f<{(5}@c;2q**;0tx|zfI>hapb$_9CIhuEcrEe5*=*u$c5r6!+DrfCOTpl^ zqyG*3<-n%{69eZ4&iyjtb>YFeKU}yukSJ9)gAeQPmrIQxU)XC@!|(a%Rgw8x@cv#< zZ`AW<&xI>*ef|8<>6;rp&42Z+UwM+|dQbDO5B_!HN9ou4Pd<^j@RviczdrB}+(u!e z3vAgjW~#KAN={_ci*FjvaB}Y6a&qqe-MhDv zsl8e$m0U?LN?G`|-1)Uwtu%s4qw`Xs(I^xj?r^o!Dha|5X*ORnWg1)ZoWOe|Bwb{x9FPN8%NXq%qO zUb!4Itnh}*L8VyR-xXMP3-$WrY7N#kIn;)RYR`aOy|i7)@9pMGyX~Io@EH(oF(~Y~ zRO#lY%(cnDR(bcp`Y5P$4G@){)DD6gN6_A@H2bD?w*)fmPIWV=6&lrAmjZ0=loW9-m8t>d_4f$E{hXao-cjSiB@ctdZFCa zkMu5vza)I#s@C%5>UKBPQe&e~e1vKgfvHPEfV951L(8@i>Xf)zuoLWT1hu0Gw1o5s zG+hOd9mB}S!3Im$!$_{$MtXknPApi6C5@ih*Ykakg9gKpgTxoKNzhxHcQyHjOV-m7)lkEl#=FBOlia$LLEvfV=C zVJuW#L!MBp=>g{(`@8YDcXf8k+ISlQ4$nvQ*mPRj?1D#KJ)WlOGuXi+>wJ46ZMoSh zl#=E~!Zo37;KFZjUVeEharx{&NxXdZrN6rL z4==rQ>CFrO?!rGm|Nou;SLgnVbDL-Xf}-}%%eyas_vP=lzqbB3_s0X)z2SkxrR>11 zXS0)g^?ci`9%t6R{EN~Hubj2NO1ttz;?n>A{PpOUebYTMc7CXTY^PW*u>-(kY5wuu zgDd`pq1Rp`R2O;<&CAV??{xbP&8x?0+0kuP%V@Uu6)CZ2p-FCEI%<)JZ+geMKjAJ1 zDx%M~KL3^*x<5Y{4T*@ZM!$cnn}q1%aTG*EcF!+n$|-ht?C^>W9F4BfR=rs5Si)Hs z;$5lsS{3gpr!^3Ym z$Hh)-RW?C2_LKFx#1->;&xLOvT(>U_-MraSn4aREuVdZP*He0&7|Mn`mE72G1ckPL zBZNuF?&$R+7z_{l*7>2_jee_prP?TMHN!~|+4a@?G-F;Ex^ZLR^E;tBbrp7fal6Uu zDm#w2&WinA-e*{`Pq|I3)=GqCo@O^0N>rgUZWY4<-8es#xz>*br3x-q1s%*A?LQq| zKV1{O-NgR<9qq!#;ur|DIv1 zQQxcY1|(&AqWv%|qA9;YnDtT5mLT%+^TgtcwbHJ{SUU;qa~V6ab7((BIZ0y_SP_l{ zLt6!{u!XFET>-6*#;rP?v5QdJcK2lSDl_Zd%(bnlM#T?;npm!m`5%!?YPB{iM?!kd z0;+^Nq2ZgO$F0LrG$C(BpXSZmr>Ja1l?_59|561wo+ud=ZP`_TqZPb3P1K?p@;Ob_ zXRtb7sQ||d?BWLo|3>!m)6qw3TdzJ90t$g&1O$GNIXje2A3RFrazmf)r4OzqG6SEz z@%?XHyr}6@UM}m*Wpdu6Ya8zDgLGzMd1BFZq7v7h7@zWIrq-+n=}Fs~(^j>`_}7Pu zO~sSJ;~0&a#=R_L^zbCdXyk7f%FXI=bGZH9Zm?}=hCZTsBZiaI?J?aSvyI!X>A1dg zQ`5#Y?WFQMk_h-XbuV=93+2?<$EnrQCL5|T-O#jKsccZ%e%MHjIVNA0BtSmq+Kwhg zX}rfGMfz=Dvs_0%{QU`4ci5qK^k&%3VQ0E&wK_8`Q{ziVU%F;lF5T(Ar5V0QUsKiM zUS0ZHON}w^I=?^pq(6+~WfI28LS-}g_#uZ5lA$Y*tZpUi)tw+|Yd7l2dSkyFBpbnp zjby#BU#e`6C0B!TQOfUClH=7vZS(Hj%;M%s?qf|`eD8X$u-|asd&jD*j#sx9-#hbh zYF<(qW2w>YYNJ}O7E5rdP6{6|pEH9~w^9?)nV)4zc#K8Kh*9A^MN`OC#1+S|4gXf^ zesl;Y4PR1+ykFLxF4?e+o0^Vvq&|5Ll+=aQC&}rl$?#m`)KoZrlMGrc-i6}lqAchTNs}jeHautIMQh;`i;_UDcl}Q0f=3eqEGoTmO|6LL*;gz zwsO1t*s$|ZyG_%u9L+URY|HRX<3vm0(>xMz%h!ARGP{0GuoN*6rjr=t{baSgIa22= zQnj39Q_JxPl2r{c7>$QPvSo;|7KNQ8hg2HG>FP-i?Z}tp`+J2)LGrHQy!Y|%tWMN# zE{@E7@?QPJ)%V`EzP-Bo;be98RK_A^a!<By`(8>@M^zqTWp3@p}5QEyr{1CpQj-y)5Kssx1QY@a0fm4>e6uzu!JI-Sd<-%ZOok;y3|n=|I7 zoT;V72NRQ-$ra1iC*~-bSXf$c9Cs}{kjE44H}-1W0~Ph4#~i0Q`0as+ zwqi)z#B$nLcc!MZYYS=XLB^T0=W=tIHKA=eZCUfHepX)|Hw|yePcN*^PA>JOjUzv& zr!8(~$I-^Yu>6i3jNQ+FRINQ~0`y?kURlh#W_mWekaO1kmAN&^|DPf0PySzJ{*RM! zRi+S72q**;0tx|zfI>hapb$_9CM&CFLT z<^7-%)|+0p%&a-b9hI5Y`9))Dem%1`{c&n42%pByL$$}kXJe+ut5q4&1tu%eB~bFc|XdwTNHbj5R(!=W(m`(t6gN zw3jqn%T3QdEx(?qyJPv)r>DllQa#DPLUiNgE)USDRtn|hE)a3IWTBC~liaLUZZwjQ z3zY`rlhosu;alN7+NGrMB&y%!k~H8c)yYz$B^IsE zws>%ls@uAw8S&6#ZcvLW?=K)c&bcv`+^_B>x%qRiyeTwn1W94@(fNlkgfw$w7(_Dr z{pTZL(W6~c9U|7eawucrg;2;o`_6ex!qCBGyIaQIx_ar*B*4jZ8d1+Vi!+vMt}IMV ztYl61I1wwzv*)|i_lY`r`_%3K!$18;f6)7Xi`A{qHp_XyLHj0lVR_604&ut2EO)0? zGvlV8eK6xXD+WhK@Y7PIS9_QHH_Ikz_N zdJ7ZA)N`{EufLEC8F+B%&Yf5999oIQ)efT$_@{r+L==0E<-qAXiRWN!`=DH|CV3-9 zdGn3rHy$^iq3}jBeAIko7OH^EeblXIsU^p1JQaJR`gkn)#yhEqJ8|dkQt!4((|Ve0 zho74etfazE>3td(hVc5;1Y(a%iJuT3nZ-tCl|_Jc7*ZmgcAr1QZU z9p(My=8Kb$&(_bO;MWgcD~N(0uKA-q3O>FtF}^%GJLjy~E7|E>ZqCZ3k5ll@)J(6Q zpT4iRpR^lP{huWtmXd+obuSA;DUy)F22YYqMwy~|Qfjr7zxCN>rrvG$d)HcTmI~)0PnLF_IQ1z!f z{W(Ahkn*p)8)RE+`tZ$8sP(aO678r zr#Pt;V3N7RRMvG;w&ra5L zE!Z)vi!1NXx|6K@&t@OU_I&c9~_G zUV8F4fNG%-PzWdl6aoqXg@8gpA)pXY2q**;0t$f>5NKwy``jh)^5K2(6Z7`GF}J$D zVCl}%cv@Rq%B;N9QS7a(PA-lwENXN5czStqGLy4k>?qcmRGX&lokz4+Os|MSx9#XouZKfYXi<+Z{5D}VaZ|M1ea6F8=d6#@zYg@8gpA)pXY z2>h%OIQZM=<+#DXaXF;ES^qwMWqe=#4-fR|=H+La8}3=0Q~RWI>(k9k&pfvnkNRom z7Sqj(&pfvncm8SS7Sqk8gXDQhfFCPw#~o<+nIBNS_^dNTV&Zl*eE>X;);>L5IC%NI zoB=!*!`Sm+aa*ZA^E!3=^G`jSxSiXR%qFh=3(qS1ar?zSlj>_0g>NzEv(7yS$%@;r z_L<%Zk`>p}+2=6BxGnS3%`mQ~GY8i~`*A70%jhiR36#g}+T*)>nllgb{J(+0KTq&a z{U`(!0tx|zfI>hapb$_9Cz#i;aLga5kNeZZL?8GesqF_aRFDU+w>Y zv6-u8rw~vGCy)5Kssx1QY@afhGdpxpeC-e^0jmSNVS>Lkaha zpb$_9Cy)5ctv{aH{-&+;fUm{{KtEV>MBQfI>hapb$_9Cy)5Ksu5D*qq1|Cjv#nOE*62H)V9`cVid1QY@a0fm4LF zhukcQd241=a{345b-sgGUevfL?~?B`--F*CXcBcj8fMa1n0T=Cz*${bGSbT{^O^M- zzmuretN%ixny&^tY3h1ka^p_($3Oiq{$YZLhapb+?ZA)xaAKQH9fxC#Mhapb$_9Cy)5cuK{Q2GBa4r?`% zLO>y)5Kssx1QY@a0fm4^Dvx^`{ghc7e=8|9!> zsW%FhVo-1YVNEP%(#x6Ta(eu3CYfqqPbJ?>l{Qn!iEMiDO~V;Z&fQy1&fULz_f|5s zS=}j=Dyig3dQplyiyEayIcS$qcdu4zf9h;If8d?*h8P6c__0o1Fzqgw&?Y4Us7CgNgw6rShxK!y@Lb~oP?;f~Zs5kQc znsya-w`(;C#XOa43M#{uDj$gC^ayqFVYMDq^5sHhd#|t^bScwTsf>aFd2A^`}WKaa|bOTmw*rVa)6Kp|^(mS=Z2*<&E%Tbog5*SJlI+w?9k%=7pgvR|bCf8=srIQ)~og^4ne4l7>fW!-l|o1@*M=WT??wU^z)1L1^`5~ zrmZyXiMK6(qqY|?y>bbRPFFLujjY9c^TQuqJQF?^`!+ zoLEtpiZ|Ws=Z9vm_v;bjWWGClji8>_JHNg8>FeLTFm(O;z-OO?0Cbjh{(YlcdOC}a zlcHx}dz>J(`3K7yh1xcz?xbqXnRYHc9le~yvf<%GV&Ll1h;N-A%H8M(Z>8EOZ8eu1 z@a_8Q>Bjk?%(Z?^+wOSYX#eTx`steJ?Iw02arQ?;SFaBIs2Z{{@|&XHS~u&Wi^nl7 z^oGUWwk>)GVlCe>`Q2}vA6gpeM^_W}jcWDLPNDYbQ0m%Oe)H4e)P=RUj-W5U6uNJmLcO;NA9Sd9`0bmY+R0G8KOgB-@35?iVEFepV!;iIzRbY( z+nk=P_TRpCe(2ut3DVuD=0jWEvZ&4Psp$QGf0P)Uf8~#!euuAGDg+b)3ITy) z5Kssx1QY@a0fm4<;Mov37&-G|df~N1E_dltj@Rf-Ec;8->uFcFJa^8U)Ry#|V|vr^ zuf&rb?`XDAf5;!rkM^7ToTT1&;F$S74$8&qPSE`5J0JU|rj2P@-*V@4y)5Kssx1il~yn(zPX6B+4v|6g1nBHI7|i^SmnI`}WXp!up{6aoqXg@8gpA)pXY z2q**;0tx|zfI>hapb$72f!{orer=%tQHbV2hcnlyc8O|zP9QYT7s&blbC*6zyz;Lu zUwdhSKh%#xKp~(IPzWdl6aoqXg}~1afzKw+y_x=Y`rw7!^<3^oj(g&-zWQn+$6?pR z#fuj&g#%x_5`#Q`f$^y}kO8y|DVY@}cwSqYZysYgF#c?A4|k z8Ex}n&3>>I6yC4$Rvs+1kDGc)%^1`DG26K9xV~dGkDJ>5ZQsAG z^UpQfbvbHl#nf$=`$^p#vySwo>)vh4y3KFhcRDM_4Xpd#ZT=bhZQZ`~4$u8az5C9) zL8Y^qIc8YB^KF+yPuCoKj|2D8+box-@qD&^_RaK2n~OI?E~fi)ae8HXKD%H{n)BwG zX4zKOwjS6YRcnuqvQN*t>nr*LchZ>fW)0WW7RG-z?6acN!lz-{% zYLYEWU*Yj^12I?gG*~YF<-F7+5wZ^nV-8}3|r!&L0Z|j|P zyKs!DJJ(M&JJi3~tle#&DGGZ&{qDe<>4dOn*c5AdG4Uz}G;u$XdkX^^8qP$g0i9l- z_A{Put}bR*wdHhXZPA;ai7cfyKAy3rvTO5MTQ_s#D^uBV?YUUW5Wz!BX*Ml~j-51w zA4t7-$dAL??}P@dU>6Ke+t?g2t&L#BvI^#iXPVkb!FGefmZNWYo11N<4jYF?+4LgD zKMr{GP?=|eS%%grhJv8v|IZD6KQZ{@!JiENlt0vuLO>y)5Kssx1QY@a0fm4z{{NN#EipJc_|f2>@rU|R z2q**;0tx|zfI>hapb$_9Cha@N+=m^I+g=`nAj436waS4+o%@y_!2r_=MEW8TZxZhLFwzR_=rbj`i{YThapb+@dBJldz=E;C;TofkS|NmKH@Xx-q1geQE z1QY@a0fm4qGMW9k-Dg+b)3ITy)5Kssx1QY@a0fm4<;46Z_OXps@e5rY>NO=GM;KvF6sUL-aLO>y)5Kssx1QY@a z0fm4K7RsLj|u^WfI>hapb$_9Cy)5KsvG%n-PBEhapb$_9Cy)5Kss_3j*UWq=(&8Z}nqO2}I}rHxq-K&oU9!Rw1AePzWdl6aoqXg@8gp zA)pXY2q**;0t$hHs{e^&_c6rSmUz{JGncpgWP~EGQ z8bSMzzMIsYG2I`tjoY5<+opL_)5bI{dY7M`b=Oz)2kxXX;msPZsV$68HA~#7)y%l* zXCKVC&bYI(wlv!;N#`cAQ_i|$YpWBBOB3_fYHnS<|4+%MLO>y)5Kssx1QY@a0fm4< zKp~(IPzWdlei;yGz5g#h>~Q(QKS^9Z`v-}aufFtGm;T|UcP_no;on{O=jZ>s3%_&j zx6l9Z>>r#P`DMUB(V!6c5+QJK#lJB0+G_)!4m1iI<)BzD1(im<`SG2J#Y}oRlUz=Z z-_0ab&8w;8o2k-fDmjr&FTQCw!^ydO%gMR>ckkXxrs_el7Bo`HmGq(%b7ix-Qz%tB zuk6)>T3$M6SDIhElS?nICucM3QQyPEBV*@>(yt99N|nvv!}|MWqLul=UZWa*&o^h1 z*PDNQ_w#SL7ly809r(d$NJgXjD5%t<-@nyOM0D{u8lpbCXP7!V=~OM)EY*TyBTp=~ zgP2skSltaeFBGerhu_<1B_}ge>HBw=lQ(Vvlhnx<9~R2xpt5~f`$$QCCulsZc7oSz zS_=vS5!f%^$z_(7)4BOp71G0L{{VL)3yTMt*qG z7|m+^25A-d8RdxhGzm}f*`$%bT2mPwzUiGG`tH?!vK0wPUXMQCI=F6M7`l10r69HH zUIX#116-+EsrP&x>z1{i(&K~<*#@PJ{YFq|^Fhd{?eD_U-s?vw9v*(nIX|>;vma4C zGs){c7ry=S6psYr$G6T8y{nf{3=3%Q_`Q2~GwHco$rw)R#`&SlwSFupVb=;36gO|Q z|8#WybWQYj6Z`XbvSbpAVYSxCZwB>Zt+Xpj(Kd9_F#a;; zW9QK5QmHo6vmSlwzxU#;&@K2;H5BsbYV=#{7Vqfdak3rqI({iX1fb>9 z90fUA<-UqB1d6rQ)$wj%ycNwp)-Dt?A>n zX#}dSAy23!;vHJ)e%8LLvs2dIDwTtLz4Q@^)TqPoXW-0csV-jk;eyb{sjZw_ zg>pS;>Qx+?AC&4Py2!I2?UssnbL zxuxaBG_c|8i}4eMXj%QXO=y>h2iCF~!*c#V@iqCSeiQ-<0fm4F|EvA~FDrKyT?zq(fI>hapb$_9Cy)5Qq?v{QsF( z&L;-X@=N_F1QY@a0fm4y$?2KNmG#WBt7|icyS8pGMkTA3o1OC>tj%TT9=I9HotVrmG)vO+gyx2@WmWSRYx2olG^>K1{ul{iU&itLZ^j+S1KQ}cu<$JE~&ZTqm zZ)*0=%HIg#U+LMInVEF^fq8yXx0(;kb4=Iso#=siQMo^&>G9~MnN@8n0r7JW(hu$}PiXg6?=0sg?`v}t+Jk$O)7IV9j5RmIwblD;Ie^VAFJ>Q1X4d)< z@A=0Q-zt~<|Czye6N7)kFZH7kPzWdl6aoqXg@8gpA)pXY2q**;0tx|zz>_1ea6Wx` z=kh@RNXnCjI?l|8J@U%GDK9r27oK?1_<`jA&%W~G#Na;|{53w*k3v8ppb$_9Cy)5Kssx1b%J^)Xu(;zV9|O@2g8Q6LXXP`0DtiwK_esHlFj%&CP-rc&0sK z6#e3ewXtc8_#58Fi0c-Oz;HI*f?J5q!8gw(GT z>fmkJj%F6@k)mtpBbHO#9PzgFjS(X-9m;gm^|y{2Gvy)5Kssx1QY@a0foTN34z}@n{J*Vhzow4?I@0kQ=DnN|1UQk7gCV?|3KpJCgk52 z|MQ368~9dwC>r-wK61H>iHn!6UVQalCh^X@#p3?e#2*)b_`L!}7o!_evbsC9ni)6! z?1LHC8FyCJmS(34n>(e-JMXsdg>YIodT6(O!_qvr^IiyV#OPDLySGs;6@yA_2xU}W z^im%Uhl;Q8_AzB0jYmtBjp~Q-U36CComQu+7u`8is%)R!WmFY1POe(yejHw-Ca;tl z-QwL%d%Rd}o|e_h$Ems0nBls%uUWe8XuhYrrlotnVS5txvOP@$bv{g&yKr2~(20oo z8g(6tO^+LMTuZZEUo$+*uw2i!9ACFJS2I1|H$2mD9nG~YOQ)V`JGN4~YC2DkATjwM1vJIggS!#7;h_AJNLHHdcU*0)TZD$sA)nx~t-=~yN`P;NS! z`O+;I&;rQWx;K#sultFfGG&EYGtYSF;Vd6m_Z*%nM~Z(J!F&FAYUSmmTytj6WK&AGz(Z{elXSYO|Yj3 zVs+0k5eWxjW#*2DJbRYs+mum`Jit`bVD2J5oQ}P zhxw+i)1R#Y9C&#KY}Rd$`_o*6%+wGagc)GL*w7qL7nX`F!x|4t5Kf#I`l1z%BJoLN010<1G$>(IfesOE__8`KoTJk zz10y7c!q|UXlXbN0m`yP+kDj7Nlfw{H z8Z1B!dw`Syv4pEdnha5TfI$e6YAItP2s?iw`hu`+Bbly9jwlY@h_XTwlh+LmqM0y| zfShZ>bP;q=@-$bsVS|HwBU-4YkKusFu8p)H#LxiWLz{sziq(J@@C>HhO3l~g6?Cbw zcbJ2V+ylLiEkbNXZveyeJ)aT}8eEY*2Lpi$A}FX3L)a3Gm;P#e~{26lN3dfR@W3h`#37h==Go3`e0Y zi%bD#MT`X#M1Z9?h&EuTXIiM44W~sykwO{)0Q?FqWe74xm+w+V26n`tA~zO@fjX)o z(_jeE04D1rK%zokXtluo78lV0-@$^4DBGA;X-j?bA{cB3>*BBoU~|M?=mx6^C74qU z0btp$oV-Bex z92r{lk6tmTd;%(#S_~cr8tK6lzzY5$fGmGHnjp>&%O>lg5W*+;ph2uYuotU{nFA78 z(lOMc0l)?uxg5eR9qJufklmAJ!<5` zLj)Y16Bh}-(h+W!tmM$iW%z=&-im-hASx-# zX{f2;Vup6e@`RNWA4*nfF@_i?p@rH8>pbQNHDy4SaS<+YuVl%jOE@Af9z1qzYGN_b zS*nWbh%V9*DuU(2MWh?#KKxVG=x~`~aKv|F2&^oa|lNJSTVI*sfoqql|p$hTsYqSLZ*{lAxR2d^!uOH4E<1pj=$} z9eGdg$Ekba>%9wQ@rqYVo4mz#jJ+RAZZ;?p`65PO@?}ZhA3H`gfSu>9RGPO(7b((j zsyl^pXKyU!hn=x?YITMOrSYYsFMJR@e*zT}d+XcjsmnH&=2WYue&_*K>vahWp+-R%La(y0!S;nU7QR@}}Rh z)aZ7#QLR^tB{)@YRBM3woEeN3R1< z!dY%J?emu%R^O-&!uv=lznGgDF*R-YuNrzQjM@6=Q{JcTDDgBFW-q4+r|-)SjY z3|}uD4W0Vr2XCAiN+%AAEjw~e?8xiizjBfL3FoKgbE~t))RZ>qujaCune3wGPM8a) zop9D&U(p}9lg5NMi#M(xMz3ETGcMOdKY=LAa;17SLeLEcYR%bO$h z;=^jSoaCkUK~Ujc&J8gbjfX+91uxd3u)}k-YK>Y@uP1k^oAM?3{$Alxki2U+?|u9` zs}uE`iz9QNyjTBl^}V;PZ?CR?I9Z)Nm9dDK+>`S6v>HZSo`_W+9dmmu1^agvlGB@t zW9Vop)v-c)S|ZpcYsg%zwL40Kqd%pccn;)r+lb%W8Team8&OJUnkM2>)77xOG;xH9 z6?@iQbeCsxOIc^>SxiLXgF>UwWg^6Fi5um36XEqZ6TK#)S$>>}5Jhe|6U61(-h}QG zF6eY8wA%!VJAd35BSC=Xu)EN=h>S!S>pwI&(iiavf+J6E916*8u?5NPDrw6~vRth` z!cj<83OEmUXJ`G~@~z#!v%WMp`DkXuuGM!ws5~y-s|I6Ft?y6BtW&EB$pH_zPp2!I zZa%BNH|c2U`>_&tS|Ug_xGXEDq~W>h`xBDWt?#nc89h~A_;C=qRmFOP;UN@9?#Fkw*oAw=zvlp?AqaaWS8 zOq?_>Hp#7`Z8j zP`xBOBtcEkmoL;OuumOg`#>ZaDoG)dOCXa#Xgf@p6HWyS5&_^1aZyO0puHrU_(Jwa za$>Mnay3NFi3>|8T9Q&kS>Y&d7D*mt0Ky2->Vgct5jTZ91~FO^%%mh?2=0=krNUI6 zq+;L~vn13CbRaJ=W=Z9eogkv_v!Ccn53>m*RWEs9+yd|u=^+gO`yhZEJMnNhAjx|M z;2W`Hl2`%qWb>(*Lue$ zItk1HkQ|DnN>LOzz<(0JhR;YTvyzko%7BcJ&q6PdE)sOWhZ6FO1cclT@ z)FE+_HIxK8{R;BL+?fKC1#QXwps=VaE#M+ELVw_?h%0j-U1l;qQXm?MN|T^~X(6;I zzN8IEYsg6g=p+Bdj0`4C3Xeo62@IrApd>*E(UK2fo^p~y_=Z-Km6oJ}KqA3;riYp{ z2J+*9vCIT9Lk}<&l3EfKfg8|9-T*l!7b0mTIXmJ&5;`p)i9zD*2tARUMJUlr!u)b9 zLX_W@jFV_E3_wuHpP}Lm+m#N!a=0?678DtVVC7CileL<>UsrL!=Q26Yc^SxrZ?249sM6&4s*Ei)7p-UqYfBNtF4CCK2oa z3K4#`OIQ%(nRKXRKT#5jA`OB97!KCV4Ks{Q;RkU9Wtla?EnX8tk{=ek$-L1d3gp?j zuuT$l=#perM8`?KFb7HYilQPphzJ=U$xMfqhhdl$dQFl@tPOfZf))VCbcZ=#L#!z% z${`wZb&?B}oELd~IL7*c}W63Bas?z0})izToOEVBz8?qm!#r=mHZ&^ z%ON5;5kRIBrpQVHR)`#PlI$pAM#9=g$k7|gL&_NgR1`%6OVpAsBta$8g?y9GV^(5z zu+~r{!Yiwq2tP9YZft%Sp^#G>V%tb0%aIdov{+in(Loc_LJ>oQNS=_vNG6h}!}7^W zA*NAMv(SaT;amkegHwoI8bP}nIse!v<^L#!L71ldA7$o;d3+RgkhMuk<8#fEC6 z#Zg>2g(B{VcnxxzhMcTeUpXJZF$L0saxeuF#6dv?WgCDliD{>`SPfXrk^&!C{DBJV zhww>e5^mrdkWYtIVrk@X8>C{~=}VS5%!3$ML>t?{sHg&f373FX4vVow(}ZOMS(BV7 z^lRu2f(jc#`GC)&YM>`00DN>R5Hfnv3^?(uPM; zaE>^SfjrBC!vY|_mK@}0rH4gb#Q~D^KRPb_NMBzA|nB9fA5=R^{h z7z-ta8`L003|j${tTqaRy<(DK(w0dwW5fv+Lki)89EXyF2^9- z8d!>Uq0~%AK$iny;<2FLEK;a0g2`-=5Y!zTAZ`N^jLpZ0LaO}5{xUW{tbAqVD zW<~f7A8A2VxPiBV3kQgJBC=D#<-`kuOX8p5zu*$m3TGj7n2`xwPw*B0NCZW8+MI!f zjpEv~StH(qr^zW%+0OMu8t|vs6yXR!9PSe3 zCkHCSO%9ZCG+)k>A|OZve86{O$1dAC$dDdnSBw9G%&}jBc}NCMG#(cMh+N?U;;G1% zh69603p`?%2utNy8oM{y#^HwJaT4MQ&k9QT1ILF$jm(5if9QOGk~op#)kaz&P7TN- zK6HrGFurWQAW=#XSaG1(ry)WU83z^2_7NU zXqRXVaLTcCaV+Kdet2e?nX;)s){zFrWQQu|LCy<{TZ)3oHU{64I0QSMC>Vxc3zOOT ziV~vOgj*0r^nh)ggmjoBZacG<ZIN=YBcQ^>kq$YKd3Y2Zn;>KepJ2QMNM(Nr8<8N{ATt7cU9<(ZAv)rE;zJXH z5xyd*1Q5hNVA+@*#x2~e;Yp*NOa)}|-en$WJF+Mil_&%>VL3n%frl)J2z8syHZmxC zXS5a>V~@n2at{F3m{XV-5okkA*#XJXlu%P8JVG08DG-}0yDZ@-Ovh$QconNEp*g6O z-8eKd9Ggpa`OI5LVoSr`N3@a&B6Vnum~2EJ?ZUi6CL4G_7uy8LoH*dTD_BbOlk@e$ zbGZWqEnzDL^NB$dk3~Od4-Rs`U*M6Tk?h#QofN`?@S<=~DBDnux=Nf5*_R*-oTUL< z2eGjdIimzCj?rNaVD~SZW1M-3$TkAgiNy-3lX$f3ToHO~05lTx zlk=$%ELM#D3_u{kAT7tFv0E%QvQ3x66>K@M4p1s#Dl8t2!@HPZG!)4EB_sjimiV77S-Bpsjwa=4nkI6M&R2Hy}*<}9Tc5Cl8iMA~xOlAJ}y3?b75On_cS zL&f2hEUv7VBFGXml)bGeE7l4bKunM`3Ba(BAXpe_tV6iuBLe^|MjG?TsvI6hqCbhI z2@ALYE{qAnEJmVj$cd~0Xg+oYu0SwEB4IV=oylN%pu^+S%TdV18Z0oBwU10 zg%Nj}$nKnA9?JsjlZX+@kK)LxB9w_j%Ib(x$=b!lsSV2!Oi~H#{RwJem{}1JS?mag z5fBg)Oaiddtt`g0Wf??{WmJi5F?Dfsu&JPfDC4}z3W+!aGe!a~firVLMkIcTMZpEY z0-;Y5TSqA*_XCg6J`sF+C;W=3ryD?&nTR(ivcp9B#2S>hti0tf)>}R{*3h%rQ{jf^ zxvf7{UvmEcVqzxoiu>}fzxcN=e&_seoO^fRuetEVKcC&acrAT!^WcrIzk21$mD$-# z>1G$#FTR>SxN;>SM~Eht)0Q>A>Sy)kaa`pkKfSOvJK5(5QFJ$akBo4NmAldFL0t}X zK2djXKTS`iH{N--vR5v*{+F0_c$_(U*`zmS8@JhE%6V0d^QtElH_rseoZ8yiYwQ)u z^?bEb-VZ8az3Fw!%$jqYsLZU+FB((x>zTFbk5f|thbjx<4T6o@UT`ZlUaf-3Mwzp> z(S^lex4hqZ;cn?saQOX`xoRW$eB;6!A-4{8;MSE~uEnl{!H{3CMf~D0*7*3G>`s=} zv+kt5#O@$B9sf4Z<`WW*L-~oiJCqIl+p~oChi!1LhAdR5j7)$O~_mUj`+$(Pi4I4pH*m`vSAq*kS91Md< zX21V@By0;IMdmt0ta;^7#=;AskbU-@^O%I8gUfcejJV48 z%9|{Yd8|owm(zVsQ44Pk*xlRREd}+~b4nsBv9_?7U7xZS=5x!rwRzWDm@uZEo0WL| zg=EOUgG+bryn5%*N+ftjOWUXe-sx{NIfjF$?t(7<5NPgpS^B#&f zl3S%379muTDj;)?x>P}+D#aiLUSPP^Xg7Q`1v zthDFGC#Q_uipw2b)&c<&FFVDuRI6_8g%9Eh=hDsF^=UuDCUJE!yQ(dxGi!_9^vv_p z{m;I4HuC2(ci`=z>Q8t2bEv*&Osy}jO&W_65=Ea(&)C`V<9K_5e{lNlPVx_8dkSg+ zw^tRC3#hnwA!(QEkAxrywQvrb5Bbz*U8V%}QKtv`!ooVvRc zB_pn<&{t>~|2JAJYkhXIu4}=LVO?B#f7YF3<$s3zK-r^LEBiauz54A^wYi1cs@CiI zI(Oz&j@%j`MH{theWXx1uGvXhdkLZv@g)T;k5?fmD=|=ltmIxLqZ&raB~@#YN+S(J zG?o*gM6HQ;6Qq>{1i@4}h)h6Jo-spT1V}lVNxYUm$jFh=WY;BeUP&PnbtcX$QFC&} zQCgqSwWOknnv!Rdhg@-#PtxY$IaPT;isbMK?GhW7lLHJ+gq3`OBq!-w&eG8>>#gzzd(9LT-dOG+>i5l7z4vS0If@|0Io=iey)agA+q1jYpOVlnI-YO&|=< zQ9u3%e^NChx5*cfE977T9Fhbe`4CbUbVRNTwt+TGCzUHi%ke!jr;>Rf{|0;I(QhCN zhsb>}E@A;8a?n}8Vi?jRayJH*!gA(CD4ei5@$ZmT3`sVDpuZ#wB}>N%hMufF?2~8x z&`^#g%2`*U`uNn6#RNdP#YE!6KuTIzqW57Um9P$Ekx?h>1AzqI5dp-2L?;Z9oCTsG z=?gjTPEH9d2;NImk|^Xj2-}O0FilcMB=012FQ-ZnJMtI^7L+6MB+$4913+4Yf=mi+ zp4m=HV>dP%gB(UHV0 z8pU^bi9kx)jpufu0}zJ}ku*h@!f}x&M2#jClYb{WMUqAmIjE;RR0uIZ6krap$ytcb zoIOmY84`nP{{QXW+j5jwb_a0zENtujdH;3=)OF6c-IN zpjfB@iNciQa*<3`#&>yuRE5g*yh~nSD%ZKlMIIr)|L&I5ExILP&yWM3>g!_07Hk z%(s4)ojgpdz8W*$c)Pz)*P6X;vo& zY+SL{#*_W%gbpPcC$DDXO-Z`ott2hu&GspJAC>fR*7lg$tS8%J-r7Efx@1k3l_YtC zt8^<1k}O$FoZpQHlk_UuPc1SZVhzIEwoP0umiIm$V7`l)!%X9&Ja#VNsMlMBB;w@O z9AQ^OCSO+;BVakv#GBRA!nI7i*&~om3|VoFD#h}-**tDAl!Bqg(yTtl61u@yJix*w z(lUZUY-G)?ubUHz7v|Y0!Z7F#!e#|qw`@x>KQUd__lXkW%>kzDa>{leM#YkAo`H=n zW*5SZ!UR<2Mr8L*_OQjs>p<)f{Uhi`&%-c8tJ4(Bo(W8*`~;Suv0_;Rj+)u2g7@u3 zdo0Xu1E0#~WoMRI%*wT{8(&(S7)lUxlBebq%eWanH6pe4Efm#{CxI3*r$XFfKeO4w{6QiJ6GNPdGqxxT=yn45Jo7nK;v(USDK~qK zI6g+mw}?seK(>_!V$%VFnn@@nf5*r@Ia3@4QUwo;NzVqE>~r80Wc1l95#tes(Bn|F z>{ZAfy~t{&Uwl9pT&Bj$YxZmv3lWhjG^Vi>#%s_ZhYsVu5oq)x4A}xi^U7QGH=9CC zzp-T&{b^_R?_i6UQ(l@BuP@$$4PQ7%W{?!!_&>3tWg|e`ld|;Af>I*VZQ{&C>?n|Z zXW1XX@4@WsP0H!YP!a(+k$Rl%TiNHM|GvlnEWbxeJT?2;GSVCpK$Pgd3C7$`$IOHt zl)a6{g8Q*k9K;9?HO(uDO^D|9%q5wDBlCuwX|d0medQ}xzH&_Li}RJ2*X%bL>@8!- zJ@=Avb;JKS1q%NEEB`j&|LW)eJ_Y`H?;F1u`KUFH?f&}Y69p9p-yIB_+dsd({p~mT zb-ADde`Rw2nVCxmPtJ1TkDUB``pUtQ54~f}Jm|wiNr0^+zgqhqhV6S;vrM)2ix&84 zy#MTPYVe;ima&&lX@vm&mbf~~KNv>gBIoEJSY%Gkw!!O|n zC7f{BBCdcfihM~4CHN_u3i$vz_MA<>Trm@R2@&}R zMqGfy`E_DHu1bzS#32gqGe4kYMzR^0qrgS9?^B|RyeD&0#9IlNgd`jk zyBG!D*>M|;jvUamNmTSMKtNlBBw*A5%b; zFfvXmFNiZF<0OHm&sd$kqWrOJh!n}mkI5w@%S9-J&Gv2Q4uenV#CJ`0AW=w3+GM-u znnVw3CCU`>2#k2j$Z2dsZO0!Hk8#+AP2@-xQGDX**~+fl{M&3%_gZHIq@no4*?)}` zJ`yN$y@lK2$r8O`B>|MZ;1u!}Iktw7^np>zFYs=Yjv`HoBoR!Q&(n`jji?4;NMaFu zPu$_bd~5N7&WK2fzM#teVt5jrhz}FI%byrga+|^zA-7i% z7J8jgWXE;3C(|-6x_kNJI@{`BHYn%tOrpDN(ne5De{!9OnIIs+HswO{68VY9sHX=D z2y`e%vTdg2)R(kZw)wIXNt?Rg_lfg$k;04Yj5*PPXrn9BBYEZ`X%CTZJXTsmE^-n@ zpI9tiWb-0b$yVsUkW+|FC<%+4T|O0$VZT9BV&lu3MHxBcfc43Jh>46e@r;N0osEoK z<2iQXjkqzg9;gQPM5ri7A^s=WGCfHx%2LQxFuLWzQgL`llMxQVP+9-egY5fG-()jm zVhM>DCV5O5UqT-hOr}?a8Cgj7E=TFoeYZrQ2_ZV^wTp2Mv4!yLiNPa?aFrP^KoDa1 zq+aly4I}Xp-9++XezYiYJi=ov(y<*hLrkg#NBf=LMumY`Zy9m^2k43-G8v2_iZ$KT!$8MzNga zm*h3Gp{gmSPo_s8%bsRizdtBCJ)ma>j(XuABY=eFODWT2sL{gv!XkDuibYv6&FMd_ zkD@pNmtzn)GGGh7P8+`IP{zYMI-HVO&+GsA860aE2WJ!oQW1%XDE{&)9KtvMkRog!p@8o zQ>y1uweF`d(Kvt67UsaXb(w%r;2h78Bnc#sKZNYag;@DVWrW3{gf3 z6c5S>^~ltNf&>HY(I2JtKvx)I7sSaida^+0q5>Ght}{xm!KUgox%>k+?;Z%W(bHm;J0laqr*Dd++)I$vv}fm5@U#g#^Tg zsVcBqC8X;?{^42cRSD@q!<r<< zsX6rJ<=M;M9nrgQJ(s?0+AJWp5bSWjav#GNm4fNyu-xJI2K8PYN++=Q_Z~-58+~xS zpBaXz_VT&|F*RueNl4$8y=AUgsQIdz5>goLE}AcYNQz z?vcd_~9XgkrR!&g#F$TT9?`I5z`>V!4Qfb*3NTjbZ29lN1Xe)mn+0Ymq zCGG7(Aj#}^8Uq;wY0WGd$R9{OJijp*PEnwXpY0lNDG1ccRnzd;zs?h^Q&hk z#_JF2hmU>s@zUXmshQ6v&P|*fzV`Je^)tJM{s2azANTs$2z>R;YDFOVER3(9V7J?AtSkWY@j;)76o#dtD0`W%c5H!65na`EKdL@!nkDpF#5OxD5*@p1$(h z?vY(#_rUPBnHImd41P4Y?b^)1+!y!nKY6Rg@1_e@_}v4@q7#avfO{+>FtkuLYR3<* zVYFlV3%3`=wy>BWBHU;^Sg74?d|%G4R61(|ZMEsUCaclnMOT-5WxZ{?MG)pZ=|TY7e-uxSwIYd^o!*eB8P_@k@W{3$I;G+J0+cOTd8 zJ!mEqwW|2g6I#iGwqo}R*Ler_j+XuZTWe+g|D_S~YM>PbDhgB- zs3=fTprSxUfrkq`=cx-mKRD=No;3z|N)j-j_VPm0;r_u=A-ee*OQAYW@G^ zS^uACEBzUNr{>=q+UweD+Nau>c2>)EliCSwR6C`;s=cMXscq2)wLs6kqrI&qwXju7 z8Y#OAexSXl1()uRwI6AJq`j}DR^UnPPqd$Ef2#et_A_llxc5A=TeysgO+o$c-eyJVQ4ru$eoP0Q<9o7zM$Fyv6`;~TF`&j#H z?Gx>93dBgzr@(|%`2Q9Df8fYK#Q>$L@c)q^K;squ|J>ci;?Cn&Aw9vIf^_73aE1S0 z;s00o{}uj!5cDhj{{YNY`2YNd3jZJ2W>qWee^ITh3jbf2_wxMoJloPEakW8FKfudS ze1S)Uyo9w00u>%@&^39#fMNr<2_iK>&A?q#Oa*u`oKbTj^i!CkAfusvLPH0J3@*2P z4tBQ`kO5-~j}xFKJXV0g@L_{0>$z}{0p$YR1=_kF4mCtxAmpG`#bl6T;etXQ1^THc zaA4h(vMnHV^)k5GL9m9f8fa_J5!eSz7|19jPmm4}#DgsyG-!W%dBEM_C&R$?*Z|4~ zU0!dXivnqfcp5xmh}FRa_Zwi)z+b~L1wpDl4G>v@Q9zUd!+J_G2q|>tnE-&n4Fhcj zSqlT!Q=zX0C>{)LK-FO?qfe@P0nddd3nMl)tpH3z3U(?AR&N0hHzX*`5Zy~nt<+$H z@(XlCwgM(@V55UK4|h1w%)wF));EOZ)bIfU3qmy@$f-~R9yoZ}FtyPkNct&_75L+V z&kU?t{|ZcSfSN&s7xdd;Mg!8#8v`60j9+DR^Z>YVaDBlfDZgU~E&v&el>z#N6mJ3u zoH!vVrI`ZL?ahF2bvTbMz}nES)15U~?|_N*8mu$qS*WkzR`CfFf=LTuIrXzp6Ye;` zStL$DDS)#;bx{G_FK}AGx_S#^-5bF#V+JM#h#IFtE2z3KbyM+3(XSwmr`iBW@dS0K znHmQE3C9-W1L6&-7ecOA6G}r)=Uc_WpyR?YhI<0?81y??G|GbMn=t~+#SsY9fj=iX z9s-vZP&8qq6@c_XC=+SK^Qs_f2Yfp+2xb~WEgEx_{1Rt3u*AE=Nz zTTqw5^&=a2+W^i6by+tFX==>i1!)HP8_;c9md*#fIMC`TdkCUiuaOR%O{oK5OaTkW zY}Z5hRXdD^1#CLSvQV0iw*Lv(7xb{^VS%;wb^;y1b5QuHNf<#4(6b)E{)NRGN10ma zXz;{S{UH$Dp#!L31q|pQX$O|9GYCgD2(!@;HV8hcWB`R-e?Y7!L&M6XssuLS7le9@ zhw;Nkz+@&efrs`U9~D$}bVMg&l;UQcRs9e-0RPa*sU&#f6e=SMn1&MQ9`I}i2c~m? z`1L6zDd+~-@py2|p082^wBXd}B9CCc6=jPV0wm7ZxiEY}t`ws19Z-3MBnPo`>Ana1 zXW*Ixtj$b%eu|husfJsh5(oGLQau7193zwsjDF0qey8{++8H|O335E7Vz}!15%gsO z7Y(90so$wooM(eEk9Y?FIW+(zGw_JriKwBq?vZ*o1Z(Yij3g} zcx9TZz+@(az(9u& z)~PZ@L}L(#z|uJ;iFDFB!!ZI%qfkQ9F{wSFXaVxKK)M4wjj{pUPGLKp!b%A5De}PH zdWv}4^Cu*g6{{PDG3>2GwVJ4+I>I z4J1ShoOC8A!01HiTEwn#qj~q*OBp*-!Nz-Ct5Le=4v*VAq&#Eey3DH#G0U#>5CAkNSTQ|$nAkD_rP$e z)Lei)?u}se(a!Uz5OFn{n9W$JqEL*ZX}?U{tRtXq-^V%d8pg{@sV@}&Qk^fQ0VsDI zfs`wN`E8a?DGrvUOih`-V~$No1SwGLp&?^Q#Zt&Fb^20l#S4SY?K_C&G}p{S5?WC2 zG}A}=z~;HZ>*%95qXV38x4YE;*d73HV@!G5VqKxkQy5kecl3@;LO}TSk?j;=VOx;U zcxiov(`>`~w#u9!G+l^`khzcDP8|{|N0*e@2p)N%0t12<1c)#YCtd)XMB^!~ezFeX zOPNh@lmv597~Iq@F^vc5J!T!(qEsX!G%Q6-P(eWNO5L%-4)Q6Q6<- zJ~OKX%$#@xiGR7MUmO8LA^@@KM!+5eH7f-fVhSh;e0f6)8oZy>Ng>YWe2<}YrW@bJ z8A{azI-t{~kRWj<`|P*Tu_DM5WhQOBo47-m70)m=X51Ui^8iwpi5zoEVGFKQt||82 zvoOR3JR=xmv0r50jlknMRDj@_;Y|N1kh&lGT8u^0y+4bb7GuyYH z+CDY41p?EP-PsoB=;g?h?b` z|E&Hp)~8EF#+FgQ>a`XjK>|j`Yu6tx)e4-~Qf+R@Dd8LSd6-`Fk8AaXo3(}JlEcAm z5_SpWvQVx7&9x3BuZq-KB(Xl<_ZPY6>x;b9|*&2=? zyEHpKJ$hk!=-mF%k&ENw6I0*Ks)SXWe%AUN@9~(zao~^5g%2G9pTo&}jiz(qwZ%L2 z2L%m3m~hR7Mw|Vu3t_sE0Q%so2ek(@WzMh8gcFSGjT?0qv3BEnz0)T35rd;EmZ$f* z^=H2CF9wgB4{MLgIDpMXQPZJxa=DL>ThRVjUWxoqz#NOZ# zAaDRDF@gY>0Qvl?NQ$J2lDd0lc6R5-Zi;06|Mh?P{+|E!`&TV3+%Gp=W6P`U78^z^ z@~z0gK;&)1h(yj=kw|2g_a)vlk;uR=^Lc@H>ow5&(*Kh-?k@cY*QCO?B9Zgcr~Mn4 z7`QOd*+>7Tzrd0=fBDkT!tH@bxw`3oSbx6)Acf+7!}EU^w!BKkds3*m@9(?yM!gX0 zIq;n~zx_0)+dZeh`sOb^&FNOp>A(Eh*tN?;ue~<#JF|`AM#T+^>&=hBiN$PYIcqFu z#_wm1X!B^)cq3Zgj2aWU%;Fn%a@d%Aux!k|bN~JwBU-At#fH0CC^n+T^1Xa^X*rXh zZ&xrTvs0OO?k^jq{aVefHVTdME}#^5_c(QbZ}VACEtX2&KF#$TRijwjb{mD$s?~RV zLTyyM?RwN0fAHXbHZ#{AbECHJ$}nr?sIih+l-cvM>NUz+2kqK-jQPcT`OM|$V>lC=Cyt-RH~E#t6s30U*4wrUl*c% zI^YwndARxURyWa_M^7SJ-Gyur>}Xb--fpp6?L4wycWXYr?MlZdIvk0-_y&Pkn=ES3XHs{E< z)=-AwtgC;gzmBbW`wiH$4m4#?Sghy3Z*uzj(CynTf$1sk`T2ux?&~Q%i4D>E;I?tl zaEooq$i!*~dx%%>@naasG_U-Z`CI)2$k#RHQn3+Cvg>D>Q$HBGb!*`Bd%iez6?Xkd zbx*IW?4-$cRxC6QI^?B$uFq@$&ZwomT6w!%JzbeMijDnxmr3wBs)!&qRePASh6I=I zW?%0|f^rpeRYe91cKfS?kMkF2ImK$9lH`>CVd(YO2Yz(Xr&hb5{Uy;&rS|cYDAc31 zJIT^0H!58!s#5`WR{Yr*@cMpz&&7S}aU396FsA}Gx%9Y~nAq!Dqp<1LOSSTz2t`|G z$%)~I(G$Bz`cs6{t2T;Q1Q&}}>1?1?(DE9@oK%auT`2a}>2yGRZrj_34gHZ}=Cjk; z#WvP$zrv*A2X0L?S4a29l!Htuu*%0Bie>>-gsh@QF1**@4!gVFdu1Ha;4@C;H&3l> z2bE(~{?@6Lt)Q}v%l^NJh5xbVGkI_{_-l2ucX03|-u7u7Zk3OaImImgY z|93s&g8f<-j|F9@lt#I9VwIE53oY9#iYe-K6M(9#%TsCzd;4yBKW*RD*coeYl`C$c zUj7I{>XnJ!;hm-GbA%0><+{W?M+V`zaBdYV^6ZlRs_r9KoL*`6ahs*5l{pa zfnQ_ybZx{G;FYD7+Fet*KN# zXO53&<5Rh{`CP(^<;Pd1a^vO`m&L$}SKEx+=DUw<)3!#;)QFuntoWF1j+ypd%Sxu4 z#BGxw=4s_S`eihv@Z2q*%IfFhs>C<2OrB5)jmUpt=}2-ZUEq?NN~msVoat1;6` zPCr~+k6k({PCT4VtSsi7SY|f2kWa3sSLW6(b`;NzPfpqS6=!03BEFEY>{M>*!cno6 zbJka^ht8xuk(#xgn7J@Mb-tt6nOe<`$I`inGfr|mxw5u2J9X~6=QCIPFVpz(|COIa zUjF@S3orh&D?fSR;gvrC<2PWSBJpO7c$MxPV%ol`=u8%+mGt| zAAfxKO0!;=qt(1HvgOt58#S*!QmlH_gI#aGez)v3ulz_^ptZWuP;j(|axGsZJx4^u);@n^cJ{l5EP7T`i+qTyWcGo7Tloy%#f&mV!%$ zEt-UQwaVGr3PdbGJy(fiH;ryp>zL0s4efLqRbkHI~NK_V%Y=BvDbGO{mK0Pyj`-HNN zlTU})Z|4l)2KCMaX=l|_fDEdJ!FTS{>XFtsA#6PfztgYG|J+`@@5reb4Ty3I(w$h0 zh5;^n^DkWf+mV+eFGa8ZUwnx~vb=M=$9Yflp5i^pd!qT9dja_O1&~iR0Y~oj{2pr_ zljE&Aou5+PdbjF~a7@~g`whrj%H>mz-D>{+9-mR(txw5P`95zc|8?H7L*fnI($*c` zw|Nio{uSP`C1RBKUEXY%im(qV!uF0+WH6Iehii$Q9P| zCl;0#l1XPRH%ucSv6V}9B^pVu)P7<}!l0=#| z(@E0`OCmj99$W=Ugan~MNhUv$n@X-H6Xxo~;?l%?d^Nv*5~jWJKqnq##fCK(bQBhr zwbD}k8q@33>1-+;TV2epn#-B&+G1*Y=Huv;yXn^C9y`%7e=llu+#_*Sw!pRyEV_G@ zgU$o@%a7fo-=EB}hxzk6F9tkz_~2Du_wK=D{;T-itMJ(MfXA4?L~3Pqa&dfN(VVl! zGs}~c+5EHd*i*IDpU3(%xNf#jg9?= zaj#kNNwL~6DxgDA&8UG}nXe=Ymm9{0TPh+SMroti$)PPy?cu{ziw{G&u&1;?4<2~? z#uI-I8?GTFlflRUTjM*B12UKWDq-Pcc%k}*F-x#bI(oz{{sEs|K703t*L{^#6mIcV zlFu!p*M(b}8VS;jFHDRtPtMLI*Agqa>3n`Jp3j^lJ$*IOQ?+#>w}cJJ=N1%@%PkuY zgel6#9zq1-tn(PbT2sACF&!hjWmrx#haL5kNGE#;->1Ak>C4qd&D-4fSJ3>?e09p; zvrn!<-P?yZviG3w>}*RHOyBIVH&7&HPpvPmP1=hSNy|)4W@Zw(@sp@~if%l6bG^o+ z%j)zS7+U~t)r}(J(_rb)*e-7w-j>mjTbB7|hVz`|$(799`t0gTHnp-cJ2gMEJQJ9i zWAtXvLadYCJ>(8A4yYZb>D>b~OK{VYJHePxKOa@mLX2~Fzp>9P3kqJfa?qCVcq|v2 z!vrq7r_+QomWDP*p1kUlk!uvAs z7kFRg{TsYr;{77;mwC&w!Y}cbEhOCeFEYscJG@`zE%y=pHt)a0yS3JEo$tTO`!(LL z^Zqs7693Cih41o~^?)0^4c;361A@L30YyL&Py`eKML-cy1QY>9KoL*`e*O^n_J!fd zKzF9crSD(3;S3z*jfLiKU3}%j&B#FKI@*O_zHmD-(6jb({)G!ekpVyF;@r15<7#J8 zfCTF2uep)IUwt{nhrSd6ML-cy1QY>9KoL*`6ahs*5l{r42Z6)+^H(!B(oW``^gI1i zHn@%5X7Pzzu5HSN^*Z;aJ34ZgjWD5?+k@s-<4$fa^>A%2H}}xV#+`}D{6cCgku+n) z#7N2E-h1(6X>%mCWo?YuZY)We6?4)&C#bk-JgEgwfRo3Z8GHNnost)haier{yjvX&K@sZ6^Y-1#DZP+74(i28Zw;0<@ z#nS0i%nYAn+=-<&w>F)TQqhTx#EZq`NV-@|kEBdD9ZzmJn;Ws@VR7JUCNbSXwzY-D z-1<~vVLrc{Uz>MQ3lsKKeSeQ6e79C+AKAu!y>wefs9wz*kMxv5xU#4e>vBk_$*dnCP)+8A-1lI_~bO{eG-!{_KEi>^t6 z%18=OM&hy5)<}9Qo*qfq_NJ9iB{r`eihv@Z2q*%I zfFhs>C<2OrBA^I74+8BQ{Dp1{JG%eh^m@n=%+dY-ro&b*U9ML-cy z1QY>9KoL*`6ahs*5l{pa0Y%_zjeuPL*ZBWyO(GqfBA^H;0*Zhlpa>`eihv@Z2q*%I zfFkhR29KoL*`6ahs*5l{ra_6X?p|F1oXbbyM0BA^H; z0*Zhlpa>`eihv@Z2q*%Iz;h#@*Z-dzLTx}1Py`eKML-cy1QY>9KoL*`6ahs*5%}68 zpx6Ju_9W5)DgugtBA^H;0*Zhlpa>`eihv@Z2q*&2jeuPLKlid38T=Lg=t~h$1QY>9 zKoL*`6ahs*5l{pa0YyL&Xd-avo_isa&u21M4{u$Oht|)pPflc0Ygs!sy_ii*&Oe-) zd^kC8o3=G#rbg_vVa3L5bIgq0HLZjbPuw>7VV+hlE$4Gq&RJiv9y*iuL~7P{V&=m5 zR8W$b8=suA^DEB8@Gcpm(0B#oX%R!ow9amRgQyQ_Jb~*;IQTj$tJ`=Na#r zXP@%Z=4m-otJ(2bI`?qKNscF1)|O_UeV$vk|bKgCmxf&GrkN9;4493_hRPo)(J887n*r+t|Gmi5VAjWZ~f!{A4dlNZ1Bfl z36|Q4BA^H;0*Zhlpa>`eihv@Z2q*%IfFkfsM<9J66I{xF+N}@gQk>~88Ju)x*k%H~ z|Nl3g>2&^zfFhs>C<2OrBA^H;0*Zhlpa>`e-vk8o{{P9KoL*`zUc^P{Qpho0G+=gpa>`eihv@Z2q*%IfFhs>C<2PWHvs{S|Gx=T);THy zihv@Z2q*%IfFhs>C<2OrBA^I-(-F9K<@LzL^SQ|R+~CaM>o5LCFS>)TAOAP-Zw5Xc zm>9S)aN!pbugecF{3i>y2O{O_ru$+2{Ytsv7K-}~&;MNr9u--rx$p10^+vrA>pAe9 zH@|&p=h?>yWnZg>5b3T3a_b0$O1V@NZtv~UAG^;3y*w_Mc-5_PZ8tcv z;XQV%T^$6ar=7=y8pqJyuQuD}>~0RE+g)$dtrZ(ytxEtlcgu8tBoUkCx+oYp@8}p4 zt$81GAFH`_x6$U)!m(-el!p%Yh~K@&UZL)SZI{LgD=(Bk=tL{DO1)U=YDZcZ#a|XW zZ+W#s#oO+lwba-smL4M-C1C2}5FoAZ?{a2a33YN@&E0i(H{9BB1X@gb44SS2rX51a zC+-HOYbW5VwvwJ-yqC``t{b!2^+2(sG~SuJxA0Cj_z95%s`I5ovkeaq?w_9;diB+T z-}#=e)D(W9@h(2?~z-P$oc(hhYZ23Dv z#f?)cT2k>271Ogf`?c6qQNB%RD>(nx@U@qwBG=CU-N;MVU;MXM|JK!aufB2lUtj(Q zm;S#?|LukU@WST#e@;>R_0rx;Z@u(Z`)BLRg+CsMKNuc}T+I#Kc|JY4UoW)P>Pc$t z=iew@eEEFhn-rBtB3J+CFJ6v*(Sz=hu}ee!*LF&kG7$hCOY_Uyhp(nD554vpOLe~I z&^+Ayc&poYXdXRD%8rLsEv4CxE25&$e3jfjbX+43-%g$6{`gT2vj{$a>+|1meD~+~ zM*T?yM}xm_c26NVc+w1lNp_DfWXMsXJ0iSN14pB4X{%oHI!rirA>5T}+p54{!rdyA zc8ZmXTirf#0GekXl@xZ}#*TNiP}8p9FL3q71Af;9_rpB~T0d5Z4~@5f+;iz3Sx~DG zXwN=v^zEYNZqajychucSvs%ASTE%@Pa*TOenDg13Bi~v>86JK!dD7Zx%_9h^5l`0Z zvaVRLdJg>N;myS5q1(4x0@G96^YaJY+}Bfj5*tcD9yK-&8g8-e-^j#d$?o{^V;Bq% zr{kA~^0)d~_o~+@Z#9>bm}J+_^rzX_<)K@*20p*%i&Ix&*N;^9^t#GUnp|ha{x0ux zSnM-~iC(SD(#*3&lRifkJJ+p3NMPBQhO)2sBSE=}i&aGi3wHafV_9cA#cH3D{QO<> z^3dzA5Bw+yHQNR4FNtm{wU3`fp&qT>$%2h?Lsm4}%Db<}{v7msj!>h%U*B`NDATjr z55a;t6*gFAecTfg1U`O&wYXBPyeDg{ofGVH7(KCjq(4PCxr|Z7A{<)`Z56bZEyMzL zEogO|+^W;LcHwi|-o6B{GP2%auB}Z?Dt_SBM00hF{}^Xds}-yqTheP5P{ogghHsCa zWQT**ghDL%jNiU{hRSwOImQynKhXt_r@9ywgzUP&(OSGX%c@0l$>%IppF`_>qZT+W z62%V;{)NQyx!|J}*6XJtpa}eo5%}Hr&wnQqIeZ++=fC}FJ##yf9r)~fKm6X6E2cG- z%I8vx`Spcleraw!Hj}s4maU0}MEK)DMQ7rv;8BbQr&>8@eZ_j{OxhEvS=))33*%Fx zN0}Oa8boaeIciT2?Ys5^A*lELxkJ;u}%)XmSSqam*ZJJ}Id0P2&dF$io z1K)WsR-$7cM_0?6giB*7)4UVSx#jJhMszHm;K!1zevieHCa*iu46b2`BI~Zx^ZJCU zyM*5zjoFFhQDas-e$-eh$&VA;n(|8fb!lrYI!3?i{QcyU{unlPT*KQj4!nJX>$~p# zrOf7|w6{IE?T##t<^Sq?Z+^IXui=>=uC1<}`#3r;7aYc-quXA?t9zv~c-Ohm&b5y( zm`u?-(TN~4XIU;wj0KkrMumbDO~D-jytd;c(s!co1gSC^0FE9}aM?<9Q8=AW-!?6X z9R1`Am`YuUb{e~#bskB}an3l6lo?Mnr@HSjFtG48qF$DT8>YGO$x^W#A-48*~bA+)gDNtNk~5sxolk_JH-{ ziIm-?4B|1PpTXkbu648uB_oJ#;GaCD~YPq^?G(1BzMTu01 zTJe5%vREr7QV-s2B(nLX2idvoT>8-`Zxv^6nqPvF=tsRivISkcRD@-jX)BiMFI~PF zXj2{tza%9QI*+DCJCm|YrOen_r(s*IX?%%F;-ne%D2eRA5K2NEgP~9NGl$njOWZi} z43cx%d}`83*v{<3Om<>faYQ>)qWSUUG` z#z~GRSJswhPx2YU#?b9EB#pqLw3sE{<1_RrzbDB7p;z4bHsemxI{JI6 zridN64QPfgO_8?DcpNohS?RcGr&FhBiVzsbDbSSH_}-ZmNyx}fa0>epxQ`||=4~YHgx$~ENG@B+P7@N3C!a=-oHCP6)BOC?NI7;N zJ#uUo2`l!D&c+usqqZI)w8@^A{r?vSw<3c-9Q^6vpA7yHU-hL3C<2OrBA^H;0*Zhl zpa>`eihv@Z2q*&2gut(z&kUH>{M3AYb=IDmGAGlk`CN7;w`e*Ov4x94v0Ttgq%yID zGqIAGbrzlFnfy{Nxpd*EIP5Ci`J>{n<->E|J)gN6to((ob6jIS=U&c625<03Uy6Vt zpa>`eihv@Z2q*%IfFhs>C<2PWNeCRSpSzmLHqYbCgUhEG;CH&RT9JomojQ+s@L=%+gw-Gi@wBW~C)RBot?4-Go zTUOYW+}VS|M_%o56QGB)iIv5i6U)rz7V^pU^vc|tT>n2e_$Lv$`hOCMwM-FE1QY>9 zKoL*`6ahs*5l{pa0YyL&Py~La2sE$%_gQsmUH|X1aM7{<|Ki|ZT=~x~{o@ONdhS1u zOg-Im7f0PucLQm4l!@cVOJ- zPMLB7_dGVr4Y|pC=exaj>?hBz&M(?i^Xu8Q>5rpRu7CG% zZUR2$-^(*P?g5{FgXFQ`MxoI~cdv5Lb>x2ead5Zgpvot6+y?gZU%6}qOjhn@vdDLZ z$A;QGmRX;gU5d}<*QQdliFIqjoL!uI4jwyubEolGSW9gls~Y=Nxt)=_Y4|sfAMqLG zh}Dh=wbexQj6;msb_xPBGZxZY-siTT95 zJ-52P5Vw*`;~8^pDZ6qKYjmy=_iBu@xApeZHuLZP-tYf?6iiF|?Co#xyZ|-;ith7? zelO4<!zPFw8c=r_YzWxD;Jv-zY#|9BV{mQ=FALN9F|vdi7BoqJe(cR zKQqP8+}6ny4{7Fz;$lJ|d`rkT?-(uN4Me#uH1t0C;tED4-BbZz7`+2p zo+RH*`iBYl$c5K^-T&=Zy8MfX?_Rtb$akMBFeg#_B&Xo1nmbYT_iL$qwto1Qpi*11A5)=md;UMA2;bmzH25wk()}cClluC z#NyJ#e0(*({;c$Rs^(6lSHG6rO2so=@dXjm8=aKvwWa=jQsgS8cx$~^`mm*4<;|;{ z{i%mLS@SmcOLEIV-}&s(v`_7KJq00u>l}m}I=q(XCghvFgv{Xm<&%puaVNI2Fg3A~ zi#aC|vM7&_>9wetGdJ?~na@YD{$cOCFXg!3K$n-(OSwMfP0EFA(B}TZ)s}zn@8sXx z-`gv@^=<;LEiC5NrxFYE`Q`lDypvj(u&26A<>{(3s1c$$KmXMM3?&3Syn656EBErV ztM5Q9%@zDykUIrN%NKmHw^!2F+nVbSjgQ} zTDLf+3ESUiG}E+w!ZGTPlZUl!)=ke^mR{pGkojMHeU&Q5TVark?a32z5HXY z|G)gd`TPIh7`*!OKO5Y7`Hu&uU;gpn51(!wKx-=kihv@Z2q*%IfFhs>C<2OrBA^H; z0%t&=c_q8gE`gVhHo8xwR#qn$#}^jOIcq$#JUN-oCtf@%9$%OkU!I(uORgnWa?|5Whh4o z*3Vkk|5?)vTU_zu|11A6a`k_`cJb=$OXVy7aIpUJpTF?g%M&mD*^4)?{ikQ3npRN+ z6ahs*5l{pa0Y%`;MBwl*U6M4Pfs-yR_D#0w<5z~a)jxxyPctt)*Vu5+!kpTt9b2Df zUVPrMg?ZG^Ft)H}UN|%^N$Ti{G(9O#gE@zJ^nHf+3@u�!A1XR6N@V!&?|KbouI4SmJQ6>|T-fx$nE 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 NCw)5{Hs2mR{uc|mQf2@E diff --git a/internal/processing/fromfederator.go b/internal/processing/fromfederator.go index 2bb74db34..cb0999cf9 100644 --- a/internal/processing/fromfederator.go +++ b/internal/processing/fromfederator.go @@ -49,7 +49,7 @@ func (p *processor) processFromFederator(ctx context.Context, federatorMsg gtsmo return errors.New("note was not parseable as *gtsmodel.Status") } - status, err := p.federator.EnrichRemoteStatus(ctx, federatorMsg.ReceivingAccount.Username, incomingStatus) + status, err := p.federator.EnrichRemoteStatus(ctx, federatorMsg.ReceivingAccount.Username, incomingStatus, false, false) if err != nil { return err } diff --git a/internal/processing/search.go b/internal/processing/search.go index 768fceacd..85da0d83f 100644 --- a/internal/processing/search.go +++ b/internal/processing/search.go @@ -130,7 +130,7 @@ func (p *processor) searchStatusByURI(ctx context.Context, authed *oauth.Auth, u // we don't have it locally so dereference it if we're allowed to if resolve { - status, _, _, err := p.federator.GetRemoteStatus(ctx, authed.Account.Username, uri, true) + status, _, _, err := p.federator.GetRemoteStatus(ctx, authed.Account.Username, uri, true, false, false) if err == nil { if err := p.federator.DereferenceRemoteThread(ctx, authed.Account.Username, uri); err != nil { // try to deref the thread while we're here diff --git a/internal/processing/status/sqlite-test.db b/internal/processing/status/sqlite-test.db deleted file mode 100644 index d266d6b1db3785dfb55b9d0faa409ee07f1487c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311296 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 DkRjJH diff --git a/internal/text/sqlite-test.db b/internal/text/sqlite-test.db deleted file mode 100644 index 08b0a89096943946a43c395bb11353d15df91b98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311296 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 E3#qv$1poj5 diff --git a/internal/timeline/sqlite-test.db b/internal/timeline/sqlite-test.db deleted file mode 100644 index 224027d430334b5e849bcb7206e91ca62e4e22c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311296 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

9`bl8S6G0rdAgP;Ecj)l$`UL+^3h{`NjSTaut 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 a2_Catd6p}izrMp<`I!WdvB3M9+3~*^nr%7& diff --git a/internal/typeutils/astointernal.go b/internal/typeutils/astointernal.go index 04d9cd824..4ba0df383 100644 --- a/internal/typeutils/astointernal.go +++ b/internal/typeutils/astointernal.go @@ -339,7 +339,6 @@ func (c *converter) ASStatusToStatus(ctx context.Context, statusable ap.Statusab } func (c *converter) ASFollowToFollowRequest(ctx context.Context, followable ap.Followable) (*gtsmodel.FollowRequest, error) { - idProp := followable.GetJSONLDId() if idProp == nil || !idProp.IsIRI() { return nil, errors.New("no id property set on follow, or was not an iri") diff --git a/internal/typeutils/sqlite-test.db b/internal/typeutils/sqlite-test.db deleted file mode 100644 index 2775172f116d6ea219f3f798b61e8e02684a3e49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311296 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 e1%r