Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No n+1 #494

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
Open

No n+1 #494

wants to merge 11 commits into from

Conversation

camdenmoors
Copy link
Collaborator

@camdenmoors camdenmoors commented Jun 19, 2020

Closes #489

@camdenmoors
Copy link
Collaborator Author

The only n+1 query I see is with calculate_standard_solved_challenge_score. Are there any other functions that use :eager_load when called with :includes?

@rbclark
Copy link
Contributor

rbclark commented Jun 19, 2020

I don't believe bullet is doing a very good job then, since there are a huge number of n+1 queries in the app currently.

The app should be loading all the Teams up at once for example, instead we are loading each team individually multiple times.

Example of the huge number of N+1 queries on the Team Summary Page:

Started GET "/teams/78/summary" for 127.0.0.1 at 2020-06-19 17:48:55 -0400
Processing by TeamsController#summary as HTML
  Parameters: {"id"=>"78"}
  User Load (0.3ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["id", 79], ["LIMIT", 1]]
  Game Load (0.2ms)  SELECT "games".* FROM "games" ORDER BY "games"."id" ASC LIMIT $1  [["LIMIT", 1]]
  ↳ app/models/game.rb:34:in `block in instance'
   (0.2ms)  SELECT COUNT(*) FROM "messages" WHERE "messages"."game_id" = $1 AND (updated_at >= '2020-06-19 21:03:46.097286')  [["game_id", 7]]
  ↳ app/controllers/application_controller.rb:36:in `load_message_count'
  Team Load (0.1ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/controllers/teams_controller.rb:123:in `load_team_by_id'
   (1.0ms)  SELECT COUNT(*) AS count_all, users.full_name AS users_full_name FROM "submitted_flags" INNER JOIN "users" ON "submitted_flags"."user_id" = "users"."id" INNER JOIN "users" "users_submitted_flags" ON "users_submitted_flags"."id" = "submitted_flags"."user_id" WHERE "users"."team_id" = $1 GROUP BY users.full_name  [["team_id", 78]]
  ↳ app/controllers/teams_controller.rb:133:in `load_admin_stats'
   (0.4ms)  SELECT COUNT(*) AS count_all, users.full_name AS users_full_name FROM "feed_items" INNER JOIN "users" ON "users"."id" = "feed_items"."user_id" WHERE "feed_items"."type" IN ($1, $2, $3) AND "feed_items"."team_id" = $4 GROUP BY users.full_name  [["type", "SolvedChallenge"], ["type", "PentestSolvedChallenge"], ["type", "StandardSolvedChallenge"], ["team_id", 78]]
  ↳ app/controllers/teams_controller.rb:137:in `load_admin_stats'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."team_id" = $2  [["type", "DefenseFlag"], ["team_id", 78]]
  ↳ app/models/team.rb:143:in `map'
  PentestChallenge Load (0.2ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `name'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 11]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  PentestChallenge Load (0.1ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `name'
  PentestSolvedChallenge Load (0.4ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 12]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  PentestChallenge Load (0.2ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `name'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 13]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  PentestChallenge Load (0.1ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `name'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 14]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  PentestChallenge Load (0.3ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `name'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 15]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  Division Load (0.1ms)  SELECT "divisions".* FROM "divisions" WHERE "divisions"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/team.rb:138:in `solves_by_category'
   (0.6ms)  SELECT COUNT(*) AS count_all, teams.team_name AS teams_team_name FROM "feed_items" INNER JOIN "flags" ON "flags"."id" = "feed_items"."flag_id" AND "flags"."type" = $1 INNER JOIN "teams" ON "teams"."id" = "flags"."team_id" WHERE "feed_items"."type" = $2 AND "feed_items"."division_id" = $3 AND "feed_items"."team_id" = $4 GROUP BY teams.team_name  [["type", "DefenseFlag"], ["type", "PentestSolvedChallenge"], ["division_id", 7], ["team_id", 78]]
  ↳ app/models/team.rb:138:in `solves_by_category'
   (1.1ms)  SELECT COUNT(*) AS count_all, categories.name AS categories_name FROM "feed_items" INNER JOIN "challenges" ON "challenges"."id" = "feed_items"."challenge_id" INNER JOIN "challenge_categories" ON "challenge_categories"."challenge_id" = "challenges"."id" INNER JOIN "categories" ON "categories"."id" = "challenge_categories"."category_id" WHERE "feed_items"."type" IN ($1, $2, $3) AND "feed_items"."team_id" = $4 AND "feed_items"."team_id" = $5 GROUP BY categories.name  [["type", "SolvedChallenge"], ["type", "PentestSolvedChallenge"], ["type", "StandardSolvedChallenge"], ["team_id", 78], ["team_id", 78]]
  ↳ app/models/team.rb:139:in `solves_by_category'
   (0.6ms)  SELECT COUNT(*) AS count_all, DATE_TRUNC('day', "submitted_flags"."created_at"::timestamptz AT TIME ZONE 'Etc/UTC') AT TIME ZONE 'Etc/UTC' AS date_trunc_day_submitted_flags_created_at_timestamptz_at_time_z FROM "submitted_flags" INNER JOIN "users" ON "submitted_flags"."user_id" = "users"."id" WHERE "users"."team_id" = $1 AND ("submitted_flags"."created_at" IS NOT NULL) GROUP BY DATE_TRUNC('day', "submitted_flags"."created_at"::timestamptz AT TIME ZONE 'Etc/UTC') AT TIME ZONE 'Etc/UTC'  [["team_id", 78]]
  ↳ app/models/team.rb:149:in `submitted_flags_per_hour'
   (0.4ms)  SELECT COUNT(*) AS count_all, DATE_TRUNC('day', "feed_items"."created_at"::timestamptz AT TIME ZONE 'Etc/UTC') AT TIME ZONE 'Etc/UTC' AS date_trunc_day_feed_items_created_at_timestamptz_at_time_zone_e FROM "feed_items" WHERE "feed_items"."type" IN ($1, $2, $3) AND "feed_items"."team_id" = $4 AND ("feed_items"."created_at" IS NOT NULL) GROUP BY DATE_TRUNC('day', "feed_items"."created_at"::timestamptz AT TIME ZONE 'Etc/UTC') AT TIME ZONE 'Etc/UTC'  [["type", "SolvedChallenge"], ["type", "PentestSolvedChallenge"], ["type", "StandardSolvedChallenge"], ["team_id", 78]]
  ↳ app/models/team.rb:153:in `solved_challenges_per_hour'
  Rendering teams/summary.html.haml within layouts/application
  Team Load (2.0ms)  SELECT COALESCE(sum(point_feed_items.team_score), 0) as team_score,
            GREATEST(MAX(pentest_feed_items.last_solve_time), MAX(point_feed_items.last_solve_time)) as last_solve_time,
            teams.* FROM "teams" LEFT JOIN LATERAL
          (
            SELECT
              COALESCE(sum(challenges.point_value), 0) + COALESCE(sum(feed_items.point_value), 0) as team_score,
              MAX(feed_items.created_at) as last_solve_time
            FROM feed_items
            LEFT JOIN challenges
              ON challenges.id = feed_items.challenge_id
              AND challenges.type IN ('StandardChallenge')
            WHERE feed_items.team_id = teams.id
            AND feed_items.type IN ('StandardSolvedChallenge', 'ScoreAdjustment')
          ) AS point_feed_items ON true
          LEFT JOIN LATERAL
          (
            SELECT MAX(feed_items.created_at) as last_solve_time
            FROM feed_items
            WHERE feed_items.team_id = teams.id
            AND feed_items.type IN ('PentestSolvedChallenge')
          ) AS pentest_feed_items ON true WHERE "teams"."division_id" = $1 GROUP BY teams.id ORDER BY "teams"."created_at" ASC  [["division_id", 7]]
  ↳ app/models/division.rb:101:in `calculate_standard_solved_challenge_score'
  Achievement Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."team_id" IN ($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21)  [["type", "Achievement"], ["team_id", 71], ["team_id", 72], ["team_id", 73], ["team_id", 74], ["team_id", 75], ["team_id", 76], ["team_id", 77], ["team_id", 78], ["team_id", 79], ["team_id", 80], ["team_id", 81], ["team_id", 82], ["team_id", 83], ["team_id", 84], ["team_id", 85], ["team_id", 86], ["team_id", 87], ["team_id", 88], ["team_id", 89], ["team_id", 90]]
  ↳ app/models/division.rb:101:in `calculate_standard_solved_challenge_score'
  DefenseFlag Load (0.6ms)  SELECT "flags".* FROM "flags" INNER JOIN "teams" ON "flags"."team_id" = "teams"."id" WHERE "flags"."type" = $1 AND "teams"."division_id" = $2 ORDER BY "teams"."created_at" ASC  [["type", "DefenseFlag"], ["division_id", 7]]
  ↳ app/models/division.rb:63:in `calculate_pentest_solved_challenge_score'
  PentestSolvedChallenge Load (0.4ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" IN ($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36) ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 26], ["flag_id", 27], ["flag_id", 28], ["flag_id", 29], ["flag_id", 30], ["flag_id", 16], ["flag_id", 17], ["flag_id", 18], ["flag_id", 19], ["flag_id", 20], ["flag_id", 35], ["flag_id", 34], ["flag_id", 33], ["flag_id", 32], ["flag_id", 31], ["flag_id", 11], ["flag_id", 12], ["flag_id", 13], ["flag_id", 14], ["flag_id", 15], ["flag_id", 45], ["flag_id", 44], ["flag_id", 41], ["flag_id", 43], ["flag_id", 42], ["flag_id", 38], ["flag_id", 36], ["flag_id", 37], ["flag_id", 39], ["flag_id", 40], ["flag_id", 25], ["flag_id", 21], ["flag_id", 22], ["flag_id", 23], ["flag_id", 24]]
  ↳ app/models/division.rb:63:in `calculate_pentest_solved_challenge_score'
  Team Load (0.3ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  Team Load (0.2ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  Team Load (0.2ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  Team Load (0.3ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.2ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.1ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Game Load (0.2ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/division.rb:53:in `calculate_share_solved_challenge_score'
  StandardChallenge Load (0.3ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" IN ($1, $2) AND "challenges"."game_id" = $3 AND "challenges"."type" = $4 ORDER BY "challenges"."point_value" ASC, "challenges"."name" ASC  [["type", "StandardChallenge"], ["type", "ShareChallenge"], ["game_id", 7], ["type", "ShareChallenge"]]
  ↳ app/models/division.rb:53:in `calculate_share_solved_challenge_score'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 8]]
  ↳ app/lib/flag_challenge_share_module.rb:36:in `calc_points_for_solved_challenges'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 7]]
  ↳ app/lib/flag_challenge_share_module.rb:36:in `calc_points_for_solved_challenges'
  StandardSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 7]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 4]]
  ↳ app/lib/flag_challenge_share_module.rb:36:in `calc_points_for_solved_challenges'
  StandardSolvedChallenge Load (0.1ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 4]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  Team Load (0.2ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 87], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.1ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 88], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.1ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 71], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.2ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 83], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.2ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 84], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.1ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 79], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.1ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 86], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.1ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 89], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.2ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 82], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.1ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 74], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.2ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 77], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.1ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 75], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
   (0.5ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 6]]
  ↳ app/lib/flag_challenge_share_module.rb:36:in `calc_points_for_solved_challenges'
  StandardSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 6]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 71], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 88], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 74], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 77], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 84], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 86], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 87], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 89], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 79], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 82], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 75], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 3]]
  ↳ app/lib/flag_challenge_share_module.rb:36:in `calc_points_for_solved_challenges'
  StandardSolvedChallenge Load (0.1ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 3]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 86], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 87], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 88], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 71], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 75], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 77], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 84], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 82], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 89], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 74], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  Team Load (0.3ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 90], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 2]]
  ↳ app/lib/flag_challenge_share_module.rb:36:in `calc_points_for_solved_challenges'
  StandardSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 2]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 87], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 83], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 74], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 86], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 89], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 88], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 71], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 82], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 77], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 79], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 84], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 75], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 5]]
  ↳ app/lib/flag_challenge_share_module.rb:36:in `calc_points_for_solved_challenges'
  StandardSolvedChallenge Load (0.1ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 5]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 79], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 84], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 86], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 87], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 9]]
  ↳ app/lib/flag_challenge_share_module.rb:36:in `calc_points_for_solved_challenges'
  StandardSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 9]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 10]]
  ↳ app/lib/flag_challenge_share_module.rb:36:in `calc_points_for_solved_challenges'
  StandardSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 10]]
  ↳ app/lib/flag_challenge_share_module.rb:9:in `first_solve'
  CACHE Team Load (0.1ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" IN ($1, $2, $3) AND "feed_items"."team_id" = $4  [["type", "SolvedChallenge"], ["type", "PentestSolvedChallenge"], ["type", "StandardSolvedChallenge"], ["team_id", 78]]
  ↳ app/views/teams/summary.html.haml:8
  CACHE  (0.0ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" IN ($1, $2, $3) AND "feed_items"."team_id" = $4  [["type", "SolvedChallenge"], ["type", "PentestSolvedChallenge"], ["type", "StandardSolvedChallenge"], ["team_id", 78]]
  ↳ app/views/teams/_team_summary.html.haml:2
  CACHE  (0.0ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" IN ($1, $2, $3) AND "feed_items"."team_id" = $4  [["type", "SolvedChallenge"], ["type", "PentestSolvedChallenge"], ["type", "StandardSolvedChallenge"], ["team_id", 78]]
  ↳ app/views/teams/_team_summary.html.haml:12
  SolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" IN ($1, $2, $3) AND "feed_items"."team_id" = $4  [["type", "SolvedChallenge"], ["type", "PentestSolvedChallenge"], ["type", "StandardSolvedChallenge"], ["team_id", 78]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:9:in `each_with_index'
  StandardChallenge Load (0.4ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" IN ($1, $2) AND "challenges"."id" = $3 ORDER BY "challenges"."point_value" ASC, "challenges"."name" ASC LIMIT $4  [["type", "StandardChallenge"], ["type", "ShareChallenge"], ["id", 3], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  CACHE  (0.0ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 3]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  CACHE StandardSolvedChallenge Load (0.0ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 3]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 86], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 87], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 88], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 71], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 75], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 77], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 84], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 82], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 89], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 74], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 90], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  StandardChallenge Load (0.3ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" IN ($1, $2) AND "challenges"."id" = $3 ORDER BY "challenges"."point_value" ASC, "challenges"."name" ASC LIMIT $4  [["type", "StandardChallenge"], ["type", "ShareChallenge"], ["id", 4], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE  (0.0ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 4]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  CACHE StandardSolvedChallenge Load (0.0ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 4]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 87], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 88], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 71], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 83], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 84], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 79], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 86], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 89], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 82], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 74], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 77], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 75], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/share_challenge.rb:10:in `start_calculation_at'
  StandardChallenge Load (0.3ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" IN ($1, $2) AND "challenges"."id" = $3 ORDER BY "challenges"."point_value" ASC, "challenges"."name" ASC LIMIT $4  [["type", "StandardChallenge"], ["type", "ShareChallenge"], ["id", 5], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE  (0.0ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 5]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  CACHE StandardSolvedChallenge Load (0.0ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 5]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 79], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 84], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 86], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 87], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/share_challenge.rb:10:in `start_calculation_at'
  StandardChallenge Load (0.3ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" IN ($1, $2) AND "challenges"."id" = $3 ORDER BY "challenges"."point_value" ASC, "challenges"."name" ASC LIMIT $4  [["type", "StandardChallenge"], ["type", "ShareChallenge"], ["id", 6], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE  (0.0ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 6]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  CACHE StandardSolvedChallenge Load (0.0ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 6]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 71], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 88], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 74], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 77], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 84], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 86], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 87], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 89], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 79], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 82], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 75], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/share_challenge.rb:10:in `start_calculation_at'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 16], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 16]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 16]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.3ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 24], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 24]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 24]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.4ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 17], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 17]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 17]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.3ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 29], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 29]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 29]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 25], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 25]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 25]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.3ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 30], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 30]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 30]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 20], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 20]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.4ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 20]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 35], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 35]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 35]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 31], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 31]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 31]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 32], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 32]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 32]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 34], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.4ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 34]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 34]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.3ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 39], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 39]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 39]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.3ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 37], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.4ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 37]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 37]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 36], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.4ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 36]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 36]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 40], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 40]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 40]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 23], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.4ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 23]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 23]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 28], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.4ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 28]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 28]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.3ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 44], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 44]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 44]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 42], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 42]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.4ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 42]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 43], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 43]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 43]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 38], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 38]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 38]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 22], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 22]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 22]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 12], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 33], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.4ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 33]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 33]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 13], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 26], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 26]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 26]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 21], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 21]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 21]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 85], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 45], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 45]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.3ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 45]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 15], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.1ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 41], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 41]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.4ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 41]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 11], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/challenge.rb:38:in `open?'
  DefenseFlag Load (0.2ms)  SELECT "flags".* FROM "flags" WHERE "flags"."type" = $1 AND "flags"."id" = $2 LIMIT $3  [["type", "DefenseFlag"], ["id", 19], ["LIMIT", 1]]
  ↳ app/helpers/teams_helper.rb:12:in `solved_challenge_table_point_value'
   (0.2ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2  [["type", "PentestSolvedChallenge"], ["flag_id", 19]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  PentestSolvedChallenge Load (0.2ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."flag_id" = $2 ORDER BY created_at ASC  [["type", "PentestSolvedChallenge"], ["flag_id", 19]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:35:in `calc_points_for_solved_challenges'
  CACHE PentestChallenge Load (0.0ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" = $1 AND "challenges"."id" = $2 ORDER BY "challenges"."created_at" ASC LIMIT $3  [["type", "PentestChallenge"], ["id", 14], ["LIMIT", 1]]
  ↳ app/models/defense_flag.rb:26:in `calc_defensive_points_helper'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  StandardChallenge Load (0.3ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" IN ($1, $2) AND "challenges"."id" = $3 ORDER BY "challenges"."point_value" ASC, "challenges"."name" ASC LIMIT $4  [["type", "StandardChallenge"], ["type", "ShareChallenge"], ["id", 10], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE  (0.0ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 10]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  CACHE StandardSolvedChallenge Load (0.0ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 10]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 76], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/share_challenge.rb:10:in `start_calculation_at'
  StandardChallenge Load (0.4ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" IN ($1, $2) AND "challenges"."id" = $3 ORDER BY "challenges"."point_value" ASC, "challenges"."name" ASC LIMIT $4  [["type", "StandardChallenge"], ["type", "ShareChallenge"], ["id", 9], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE  (0.0ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 9]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  CACHE StandardSolvedChallenge Load (0.0ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 9]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 73], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 72], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 81], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 80], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:61:in `block in calc_offensive_shares_for_solved_challenges'
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/share_challenge.rb:10:in `start_calculation_at'
  StandardChallenge Load (0.4ms)  SELECT "challenges".* FROM "challenges" WHERE "challenges"."type" IN ($1, $2) AND "challenges"."id" = $3 ORDER BY "challenges"."point_value" ASC, "challenges"."name" ASC LIMIT $4  [["type", "StandardChallenge"], ["type", "ShareChallenge"], ["id", 7], ["LIMIT", 1]]
  ↳ app/views/teams/_solved_challenges_table.html.haml:12
  CACHE  (0.0ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 7]]
  ↳ app/lib/flag_challenge_share_module.rb:13:in `display_point_value'
  CACHE StandardSolvedChallenge Load (0.0ms)  SELECT "feed_items".* FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."challenge_id" = $2  [["type", "StandardSolvedChallenge"], ["challenge_id", 7]]
  ↳ app/lib/flag_challenge_share_module.rb:98:in `solved_by_team?'
  CACHE Team Load (0.0ms)  SELECT "teams".* FROM "teams" WHERE "teams"."id" = $1 ORDER BY "teams"."created_at" ASC LIMIT $2  [["id", 78], ["LIMIT", 1]]
  ↳ app/lib/flag_challenge_share_module.rb:50:in `calc_first_solve_bonus'
  CACHE Game Load (0.0ms)  SELECT "games".* FROM "games" WHERE "games"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
  ↳ app/models/share_challenge.rb:10:in `start_calculation_at'
  Rendered teams/_solved_challenges_table.html.haml (Duration: 432.4ms | Allocations: 336346)
  Rendered teams/_defensive_points_table.html.haml (Duration: 2.0ms | Allocations: 2723)
   (0.3ms)  SELECT COUNT(*) FROM "feed_items" WHERE "feed_items"."type" = $1 AND "feed_items"."team_id" = $2  [["type", "ScoreAdjustment"], ["team_id", 78]]
  ↳ app/views/teams/_team_summary.html.haml:29
  User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."team_id" = $1  [["team_id", 78]]
  ↳ app/views/teams/_admin_info_table.html.haml:12
  Rendered teams/_admin_info_table.html.haml (Duration: 4.4ms | Allocations: 5511)
  Rendered teams/_team_summary.html.haml (Duration: 449.0ms | Allocations: 354689)
  Rendered teams/summary.html.haml within layouts/application (Duration: 768.0ms | Allocations: 583888)
  Rendered layouts/_navbar.html.haml (Duration: 0.9ms | Allocations: 438)
  Rendered layouts/_dropdown.html.haml (Duration: 0.8ms | Allocations: 563)
  Rendered layouts/_countdown.html.haml (Duration: 6.6ms | Allocations: 471)
  Rendered layouts/_flash_anchor.html.haml (Duration: 0.1ms | Allocations: 25)
  Rendered layouts/_footer.html.haml (Duration: 0.4ms | Allocations: 200)
Completed 200 OK in 860ms (Views: 764.9ms | ActiveRecord: 50.6ms | Allocations: 638365)

@rbclark
Copy link
Contributor

rbclark commented Jun 19, 2020

Can you integrate it into the test suite to see if we get any N+1 failures there? I think there's an option for that.

@camdenmoors
Copy link
Collaborator Author

Can you integrate it into the test suite to see if we get any N+1 failures there?

After doing this I think that bullet just isn't that good at it's job. It calls queries that (I think) are optimized unoptimized.
For example, team_captain? from the user model:

def team_captain?
    if on_a_team?
      team.team_captain.eql? self
    else
      false
    end
  end

Tells me:
optimized

I can stay on the lookout for N+1 queries and try to fix them manually because they are obviously there, but I don't think Bullet useful for this.

@rbclark
Copy link
Contributor

rbclark commented Jun 22, 2020

Yeah, I guess it makes sense why we removed Bullet before, it detects some really useless N+1 queries. One query to load the users team there isn't a huge deal, the queries that really matter are the ones that get worse as more Teams end up in the DB.

@rbclark
Copy link
Contributor

rbclark commented Jun 24, 2020

Perhaps possible to whitelist the bad problems: https://github.com/flyerhzm/bullet#whitelist

@camdenmoors
Copy link
Collaborator Author

camdenmoors commented Jun 24, 2020

Whitelist the bad problems

This does seem a bit futile IMO, when the program doesn't find the big of N+1 queries, it would just end up with a whitelist of small queries and not do anything. I also think that Bullet makes an important decrease in performance.

I've set up a simple test that will make 100 requests to a team summary and timed it:

Without Bullet:

real    0m4.612s (0.0461s/request)
user    0m0.222s

With Bullet:

real    0m7.610s (0.0761/request)
user    0m0.252s

If you want bullet I can still implement it, but it seems to do more harm than good.

@rbclark
Copy link
Contributor

rbclark commented Jun 24, 2020

The thing is bullet would be turned off in production (we can even turn it off in development mode and only use it in the test suite for that matter, and the test suite runs in parallel so the performance hit should be pretty small there), so any performance impact would only potentially be noticeable to developers running the test suite.

I'd be curious if you can get it integrated into the test suite only and if it actually gives you any useful warnings if you just run a test that displays the summary page for example. If it fails to detect anything on the summary page as part of the test suite then I'd agree it is useless, but I'd like to at least verify that first.

@rbclark
Copy link
Contributor

rbclark commented Jun 25, 2020

It looks as if the bullet-log actually detected N+1 queries on both the Game page and the Team Summary page. Can you verify if it detects them only on integrations tests:

bundle exec rails test TEST=test/integration/team_summary_display_modes_test.rb

or if it will also detect them on functional tests:

bundle exec rails test TEST=test/controllers/teams_controller_test.rb:88

@camdenmoors
Copy link
Collaborator Author

It looks as if the bullet-log actually detected N+1 queries on both the Game page and the Team Summary page. Can you verify if it detects them only on integrations tests:

It seems Bullet only catches them only on integration tests.

@rbclark
Copy link
Contributor

rbclark commented Jun 29, 2020

It looks as if the bullet-log actually detected N+1 queries on both the Game page and the Team Summary page. Can you verify if it detects them only on integrations tests:

It seems Bullet only catches them only on integration tests.

Okay that makes sense, it sounds like #469 is a good eventual compliment to this then.

@rbclark
Copy link
Contributor

rbclark commented Jul 27, 2020

Now that the integration tests are merged, it may be worthwhile to look into hooking this up to those tests.

@mergify
Copy link
Contributor

mergify bot commented May 5, 2021

This pull request has conflict. Could you fix it @camdenmoors?

1 similar comment
@mergify
Copy link
Contributor

mergify bot commented Sep 26, 2022

This pull request has conflict. Could you fix it @camdenmoors?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Setup bullet gem and get rid of all N+1 Queries
2 participants