Please rotate your device to landscape mode for a better experience.
Login

Reign
GP: 0 | W: 0 | L: 0 | OTL: 0 | P: 0
GF: 0 | GA: 0 | PP%: 0% | PK%: 0%
GM : Kutte - Interims GM | Morale : 99 | Team Overall : N/A

Team Leaders

Team Stats
Team Info

General ManagerKutte - Interims GM
DivisionPacific Division
ConferenceWestern Conference
CaptainAkil Thomas
Assistant #1Beckett Sennecke
Assistant #2Milos Kelemen


Arena Info

Capacity8,000
Attendance
Season Tickets800


Roster Info

Pro Team34
Farm Team17
Contract Limit51 / 65
Prospects12


Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
# Player Name C L R D CON PTCK FG DI SK ST EN DU PH FO PA SC DF PS EX LD PO MO OV TA SPAgeContractSalary
1Egor AfanasyevXX100.00606060606070706060606060604860072002411,378,125$
2Declan ChisholmX100.00655094777283907225686670655662076002511,400,000$
3Tomas LavoieX100.0060606060607070606060606060465507600192825,000$
Scratches
1Grant SlukynskyX100.0060606060607070606060606060485907900232700,000$
2Blade JenkinsXXX100.00606060606070706060606060605462071002500$
3Jakub DemekXX100.0060606060607070606060606060405507501221750,000$
4Akil Thomas (C)XXX100.00735693667476776964656669655664076002500$
5Jan JenikXXX100.00625081697675876364636267655262080002500$
6Milos Kelemen (A)XX100.00606060606070706060606060604855053002600$
7Wyatt BongiovanniX100.00606060606070706060606060604458063002600$
8Rory KerinsXXX100.0060509373667991666465666765405507300231735,000$
9Roni HirvonenXXX100.00606060606070706060606060604055026002300$
10Brandon CoeXX100.00606060606070706060606060604055032002400$
11Matyas SapovalivX100.00606060606070706060606060604055021002100$
12Filip MesarXX100.00606060606070706060606060604055024002100$
13Filip BystedtXXX100.00606060606070706060606060604055022002100$
14Josh SamanskiXXX100.0060606060607070606060606060405502800231650,000$
15Yegor SidorovXXX100.0060606060607070606060606060405507601211650,000$
16Jakub StanclXX100.0060606060607070606060606060405503801201825,000$
17Beckett Sennecke (A)XX100.00606060606070706060606060604655064001921,500,000$
18Patrick ThomasX100.0060606060607070606060606060485504000212825,000$
19Jacob JulienX100.0060606060607070606060606060465505000212750,000$
20Jeremie PoirierX100.00606060606070706060606060605057062002311,312,500$
21Maxence GuenetteX100.00606060606070706060606060605157053002400$
22Kirill KudryavtsevX100.00605092697581916225646173654055074002100$
23Damien CarfagnaX100.0060606060607070606060606060405502400231650,000$
24Blake SmithX100.0060606060607070606060606060405507800211650,000$
25Spencer GillX100.0060606060607070606060606060405505000191975,000$
26Lukas FischerX100.00606060606070706060606060604055055001911,250,000$
27Chase PietilaX100.0060606060607070606060606060445506000212750,000$
TEAM AVERAGE100.006159656262717361586161626145570560
Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
# Goalie Name CON PTSK DU EN SZ AG RB SC HS RT PH PS EX LD PO MO OV TA SPAgeContractSalary
Scratches
1Ville Husso100.0065757083736367667260706166044003000$
2Callum Tung100.006070706060606060606060405506600221650,000$
3Martin Jones100.0060707060606060606060607876064003500$
4Brett Mirwald100.0060707060606060606060604055071002200$
TEAM AVERAGE100.00617170666361626263606355630610
Coaches Name PH DF OF PD EX LD PO CNT Age Contract Salary


Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
# Player Name Team NamePOSGP G A P +/- PIM PIM5 HIT HTT SHT OSB OSM SHT% SB MP AMG PPG PPA PPP PPS PPM PKG PKA PKP PKS PKM GW GT FO% FOT GA TA EG HT P/20 PSG PSS FW FL FT S1 S2 S3
Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
# Goalie Name Team NameGP W L OTL PCT GAA MP PIM SO GA SA SAR A EG PS % PSA ST BG S1 S2 S3


Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
Player Name Team NamePOS Age Birthday Country Rookie Weight Height No Trade Available For Trade Acquired By Last Trade Date Force Waivers Waiver Possible Contract Contract Signature Date Force UFA Emergency Recall Type Current Salary Salary RemainingSalary Cap Salary Cap Remaining Exclude from Salary Cap Salary Year 2Salary Year 3Salary Year 4Salary Year 5Salary Year 6Salary Year 7Salary Year 8Salary Year 9Salary Year 10Salary Cap Year 2Salary Cap Year 3Salary Cap Year 4Salary Cap Year 5Salary Cap Year 6Salary Cap Year 7Salary Cap Year 8Salary Cap Year 9Salary Cap Year 10No Trade Year 2No Trade Year 3No Trade Year 4No Trade Year 5No Trade Year 6No Trade Year 7No Trade Year 8No Trade Year 9No Trade Year 10Link
Akil ThomasReign (LAK)C/LW/RW252000-01-02CANNo195 Lbs6 ft0NoNoN/ANoNo02025-09-13FalseFalsePro & Farm0$0$No---------------------------
Beckett SenneckeReign (LAK)LW/RW192006-01-28CANNo194 Lbs6 ft2NoNoDraftNoNo22025-08-26FalseFalsePro & Farm1,500,000$1,500,000$150,000$150,000$No1,500,000$--------1,500,000$--------No--------
Blade JenkinsReign (LAK)C/LW/RW252000-04-11USANo194 Lbs6 ft1NoNoN/ANoNo02025-09-13FalseFalsePro & Farm0$0$No---------------------------
Blake SmithReign (LAK)D212004-10-05CANNo225 Lbs6 ft5NoNoFree AgentNoNo12025-06-11FalseFalsePro & Farm650,000$650,000$65,000$65,000$No---------------------------
Brandon CoeReign (LAK)LW/RW242001-12-01CANNo190 Lbs6 ft4NoNoN/ANoNo02025-09-13FalseFalsePro & Farm0$0$No---------------------------
Brett MirwaldReign (LAK)G222003-09-13CANNo194 Lbs6 ft0NoNoN/ANoNo0FalseFalsePro & Farm0$0$No---------------------------
Callum TungReign (LAK)G222003-11-23CANNo198 Lbs6 ft3NoNoFree AgentNoNo12025-06-11FalseFalsePro & Farm650,000$650,000$65,000$65,000$No---------------------------
Chase PietilaReign (LAK)D212004-03-03USANo187 Lbs6 ft0NoNoDraftNoNo22025-08-26FalseFalsePro & Farm750,000$750,000$75,000$75,000$No750,000$--------750,000$--------No--------
Damien CarfagnaReign (LAK)D232002-12-12USANo185 Lbs6 ft0NoNoFree AgentNoNo12025-06-11FalseFalsePro & Farm650,000$650,000$65,000$65,000$No---------------------------
Declan ChisholmReign (LAK)D252000-01-12CANNo190 Lbs6 ft1NoNoN/ANoNo12025-09-13FalseFalsePro & Farm1,400,000$1,400,000$140,000$140,000$No---------------------------
Egor AfanasyevReign (LAK)LW/RW242001-01-23RUSNo211 Lbs6 ft4NoNoN/ANoNo12025-09-13FalseFalsePro & Farm1,378,125$1,378,125$137,812$137,812$No---------------------------
Filip BystedtReign (LAK)C/LW/RW212004-02-04SWENo198 Lbs6 ft4NoNoN/ANoNo0FalseFalsePro & Farm0$0$No---------------------------
Filip MesarReign (LAK)LW/RW212004-01-03SVKNo176 Lbs5 ft10NoNoN/ANoNo0FalseFalsePro & Farm0$0$No---------------------------
Grant SlukynskyReign (LAK)C232002-05-12USANo198 Lbs5 ft11NoNoAssign ManuallyNoNo22026-04-06FalseFalsePro & Farm700,000$700,000$70,000$70,000$No700,000$--------700,000$--------No--------
Jacob JulienReign (LAK)C212004-09-12CANNo181 Lbs6 ft2NoNoProspectNoNo22025-08-26FalseFalsePro & Farm750,000$750,000$75,000$75,000$No750,000$--------750,000$--------No--------
Jakub DemekReign (LAK)LW/RW222003-06-06SVKNo203 Lbs6 ft4NoNoProspectNoNo12024-08-30FalseFalsePro & Farm750,000$750,000$75,000$75,000$No---------------------------
Jakub StanclReign (LAK)LW/RW202005-04-10CZENo198 Lbs6 ft3NoNoProspectNoNo12024-08-30FalseFalsePro & Farm825,000$825,000$82,500$82,500$No---------------------------
Jan JenikReign (LAK)C/LW/RW252000-09-15CZENo199 Lbs6 ft2NoNoN/ANoNo02025-09-13FalseFalsePro & Farm0$0$No---------------------------
Jeremie PoirierReign (LAK)D232002-06-02CANNo190 Lbs6 ft1NoNoN/ANoNo12025-09-13FalseFalsePro & Farm1,312,500$1,312,500$131,250$131,250$No---------------------------
Josh SamanskiReign (LAK)C/LW/RW232002-03-22GERNo190 Lbs6 ft3NoNoFree AgentNoNo12025-06-11FalseFalsePro & Farm650,000$650,000$65,000$65,000$No---------------------------
Kirill KudryavtsevReign (LAK)D212004-02-05RUSNo200 Lbs5 ft11NoNoN/ANoNo0FalseFalsePro & Farm0$0$No---------------------------
Lukas FischerReign (LAK)D192006-09-09USANo185 Lbs6 ft3NoNoProspectNoNo12025-07-04FalseFalsePro & Farm1,250,000$1,250,000$125,000$125,000$No---------------------------
Martin JonesReign (LAK)G351990-01-10CANNo203 Lbs6 ft5NoNoTrade2025-06-23NoNo0FalseFalsePro & Farm0$0$No---------------------------
Matyas SapovalivReign (LAK)C212004-02-12CZENo183 Lbs6 ft3NoNoN/ANoNo0FalseFalsePro & Farm0$0$No---------------------------
Maxence GuenetteReign (LAK)D242001-04-28CANNo181 Lbs6 ft1NoNoN/ANoNo02024-08-31FalseFalsePro & Farm0$0$No---------------------------
Milos KelemenReign (LAK)LW/RW261999-07-06SVKNo210 Lbs6 ft2NoNoN/ANoNo02024-08-31FalseFalsePro & Farm0$0$No---------------------------
Patrick ThomasReign (LAK)C212004-08-21CANNo179 Lbs5 ft10NoNoProspectNoNo22025-08-26FalseFalsePro & Farm825,000$825,000$82,500$82,500$No825,000$--------825,000$--------No--------
Roni HirvonenReign (LAK)C/LW/RW232002-01-10FINNo172 Lbs5 ft9NoNoN/ANoNo02025-09-13FalseFalsePro & Farm0$0$No---------------------------
Rory KerinsReign (LAK)C/LW/RW232002-04-23CANNo175 Lbs5 ft10NoNoN/ANoNo12025-09-13FalseFalsePro & Farm735,000$735,000$73,500$73,500$No---------------------------
Spencer GillReign (LAK)D192006-08-17CANNo194 Lbs6 ft4NoNoProspectNoNo12025-07-04FalseFalsePro & Farm975,000$975,000$97,500$97,500$No---------------------------
Tomas LavoieReign (LAK)D192006-03-31CANNo216 Lbs6 ft2NoNoDraftNoNo22025-08-26FalseFalsePro & Farm825,000$825,000$82,500$82,500$No825,000$--------825,000$--------No--------
Ville HussoReign (LAK)G301995-02-06FINNo205 Lbs6 ft3NoNoN/ANoNo0FalseFalsePro & Farm0$0$No---------------------------
Wyatt BongiovanniReign (LAK)C261999-07-24USANo194 Lbs6 ft0NoNoN/ANoNo02025-09-13FalseFalsePro & Farm0$0$No---------------------------
Yegor SidorovReign (LAK)C/LW/RW212004-06-18BLRNo183 Lbs6 ft0NoNoProspectNoNo12024-08-30FalseFalsePro & Farm650,000$650,000$65,000$65,000$No---------------------------
Total PlayersAverage AgeAverage WeightAverage HeightAverage ContractAverage Year 1 Salary
3422.88193 Lbs6 ft20.74506,636$



5 vs 5 Forward
Line #Left WingCenterRight WingTime %PHYDFOF
128122
2Egor Afanasyev28122
325122
419122
5 vs 5 Defense
Line #DefenseDefenseTime %PHYDFOF
1Declan Chisholm28122
228122
3Tomas Lavoie25122
4Declan Chisholm19122
Power Play Forward
Line #Left WingCenterRight WingTime %PHYDFOF
150122
2Egor Afanasyev50122
Power Play Defense
Line #DefenseDefenseTime %PHYDFOF
1Declan ChisholmTomas Lavoie50122
250122
Penalty Kill 4 Players Forward
Line #CenterWingTime %PHYDFOF
150122
250122
Penalty Kill 4 Players Defense
Line #DefenseDefenseTime %PHYDFOF
1Declan ChisholmTomas Lavoie50122
250122
Penalty Kill 3 Players
Line #WingTime %PHYDFOFDefenseDefenseTime %PHYDFOF
150122Declan ChisholmTomas Lavoie50122
25012250122
4 vs 4 Forward
Line #CenterWingTime %PHYDFOF
150122
250122
4 vs 4 Defense
Line #DefenseDefenseTime %PHYDFOF
1Declan Chisholm50122
250122
Last Minutes Offensive
Left WingCenterRight WingDefenseDefense
Declan Chisholm
Last Minutes Defensive
Left WingCenterRight WingDefenseDefense
Declan Chisholm
Extra Forwards
Normal PowerPlayPenalty Kill
, , ,
Extra Defensemen
Normal PowerPlayPenalty Kill
Declan Chisholm, , Declan ChisholmDeclan Chisholm,
Penalty Shots
, , , ,
Goalie
#1 : , #2 :


Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
OverallHomeVisitor
# VS Team GP W L T OTW OTL SOW SOL GF GA Diff GP W L T OTW OTL SOW SOL GF GA Diff GP W L T OTW OTL SOW SOL GF GA Diff P PCT G A TP SO EG GP1 GP2 GP3 GP4 SHF SH1 SP2 SP3 SP4 SHA SHB Pim Hit PPA PPG PP% PKA PK GA PK% PK GF W OF FO T OF FO OF FO% W DF FO T DF FO DF FO% W NT FO T NT FO NT FO% PZ DF PZ OF PZ NT PC DF PC OF PC NT
Total00000000000000000000000000000000000.000000000000000000000000%000%0000%000%000%000000

Total For Players
Games PlayedPointsStreakGoalsAssistsPointsShots ForShots AgainstShots BlockedPenalty MinutesHitsEmpty Net GoalsShutouts
00N/A0000000000
All Games
GPWLOTWOTL SOWSOLGFGA
000000000
Home Games
GPWLOTWOTL SOWSOLGFGA
000000000
Visitor Games
GPWLOTWOTL SOWSOLGFGA
000000000
Last 10 Games
WLOTWOTL SOWSOL
000000
Power Play AttempsPower Play GoalsPower Play %Penalty Kill AttempsPenalty Kill Goals AgainstPenalty Kill %Penalty Kill Goals For
000%000%0
Shots 1 PeriodShots 2 PeriodShots 3 PeriodShots 4+ PeriodGoals 1 PeriodGoals 2 PeriodGoals 3 PeriodGoals 4+ Period
00000000
Face Offs
Won Offensive ZoneTotal OffensiveWon Offensive %Won Defensif ZoneTotal DefensiveWon Defensive %Won Neutral ZoneTotal NeutralWon Neutral %
000%000%000%
Puck Time
In Offensive ZoneControl In Offensive ZoneIn Defensive ZoneControl In Defensive ZoneIn Neutral ZoneControl In Neutral Zone
000000


Last Played Games
Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
DayGame Visitor Team Score Home Team Score ST OT SO RI Link



Arena Capacity - Ticket Price Attendance - %
Level 1Level 2
Capacity25005500
Ticket Price3415
Attendance0%0%
Attendance PCT0%0%

Income
Home Games LeftAverage Attendance - %Average Income per GameYear to Date RevenueCapacityTeam Popularity
41 0 - 0%0$0$8000110

Expenses
Year To Date ExpensesPlayers Total SalariesPlayers Total Salaries CapCoaches Salaries
0$ 1,722,562$ 1,722,562$ 0$
Salary Cap Per DaysSalary Cap To DatePlayers In Salary CapPlayers Out of Salary Cap
0$ 0$ 19 0

Estimate
Estimated Season RevenueRemaining Season DaysExpenses Per DaysEstimated Season Expenses
0$ 0 0$ 0$




Reign Players Stat Leaders (Regular Season)

# Player Name GP G A P +/- PIM HIT HTT SHT SHT% SB MP AMG PPG PPA PPP PPS PKG PKA PKP PKS GW GT FO% HT P/20 PSG PSS

Reign Goalies Stat Leaders (Regular Season)

# Goalie Name GP W L OTL PCT GAA MP PIM SO GA SA SAR A EG PS % PSA

Reign Career Team Stats

OverallHomeVisitor
Year GP W L T OTW OTL SOW SOL GF GA Diff GP W L T OTW OTL SOW SOL GF GA Diff GP W L T OTW OTL SOW SOL GF GA Diff P G A TP SO EG GP1 GP2 GP3 GP4 SHF SH1 SP2 SP3 SP4 SHA SHB Pim Hit PPA PPG PP% PKA PK GA PK% PK GF W OF FO T OF FO OF FO% W DF FO T DF FO DF FO% W NT FO T NT FO NT FO% PZ DF PZ OF PZ NT PC DF PC OF PC NT

Reign Players Stat Leaders (Play-Off)

# Player Name GP G A P +/- PIM HIT HTT SHT SHT% SB MP AMG PPG PPA PPP PPS PKG PKA PKP PKS GW GT FO% HT P/20 PSG PSS

Reign Goalies Stat Leaders (Play-Off)

# Goalie Name GP W L OTL PCT GAA MP PIM SO GA SA SAR A EG PS % PSA