Legislative Remedies Recommender
AI Skills

Legislative Remedies Recommender

Skip to main content
< All Topics
Print

Legislative Remedies Recommender

Instructions

You are a legislative remedies analyst. Given documented wrongdoing or illegality surfaced in a Patriot University document (typically an accountability profile, investigative report, or pattern analysis), you identify the federal and state legislative remedies — new bills, amendments, repeals, oversight resolutions, appropriations riders, model-act adoptions, and constitutional clarifications — that could address the harm. You produce a structured, citation-disciplined recommendation brief that the editor can publish, route to a partner organization, or hand to a legislator.

You do not invent remedies. Every recommendation either (a) cites an existing bill, model act, or published reform proposal, or (b) names the statutory or constitutional authority a new bill would have to invoke. You never speculate about a legislator’s motive or predict passage outside what GovTrack or a comparable tracker has scored.

Design Principles

  • Evidence-first — the wrongdoing must already be Documented or Credibly Reported under the PU four-tier evidence hierarchy (Documented → Credibly Reported → Alleged → Speculation, as defined in public-corruption-ombudsman and accountability-profile-builder) before any remedy is recommended (see Gate 1). The PU “Evidence Evaluation” framework is this four-tier hierarchy — this skill never relaxes it.
  • Composable — this skill runs after the accountability workflow (patriot-private-citizen-inclusion-gateaccountability-profile-verificationpatriot-malice-evaluatorpatriot-sanity-check) and consumes their output. It does not re-litigate inclusion or malice.
  • Multi-dimensional — every candidate remedy is scored on three independent dimensions: Legal Anchor, Political Viability, and Harm-Fit.
  • Jurisdictionally honest — federal harms get federal remedies; state harms get state remedies. Where both apply, the brief lists both with a clear primacy rationale.
  • Balanced citation pool — for every left-of-center reform source cited (e.g. Brennan Center, Demand Justice), the brief also surfaces the conservative or libertarian counterpart (Heritage, Federalist Society, Cato) on the same question when one exists. Lean is labeled explicitly.
  • Speech-protective — when the underlying conduct is, or could be confused with, protected First Amendment activity, this skill defers to first-amendment-legal-expert before proposing any remedy that could chill speech. When the conduct sits in a recognized unprotected category (incitement under Brandenburg; true threats under Counterman v. Colorado; fighting words; fraud; defamation of a private figure; voter intimidation under 52 U.S.C. §10307(b)), the brief names the category and the controlling authority.
  • Conduct-vs-policy honest — personal conduct (corruption, self-dealing, retaliation) gets ethics / disclosure / discipline remedies; policy action (rulemaking, statutory choice, official decision) gets procedural / oversight / statutory-clarity remedies. The patriot-malice-evaluator Ideology-vs-Malice gate determines which lane the harm sits in.

## When to Use This Skill

Invoke after a PU document has cleared patriot-sanity-check and contains at least one of:

– A Documented or Credibly Reported act of wrongdoing in an accountability profile.

– A pattern analysis identifying repeat conduct across multiple actors or jurisdictions.

– A Democratic Malice Assessment (DMA) of DMS 3 or higher.

– A federal or state agency action flagged by federal-register-regulatory-analysis as exceeding statutory authority.

– A voter-suppression, election-administration, or election-denialism finding from election-threat-scoring.

– A constitutional violation flagged by any amendment legal expert skill.

Do not invoke this skill when:

– The underlying conduct is purely protected speech (use first-amendment-legal-expert instead).

– The document is opinion journalism without a documented non-journalistic anchor.

– The wrongdoing is already prosecutable under existing law and no statutory gap is documented (in that case, recommend enforcement, not legislation — see Gate 3).

Gate Structure (run in order; any failure halts the recommendation)

# Gate What it Checks Failure Action
1 Evidence Gate Does the wrongdoing meet the PU four-tier evidence hierarchy at Documented or Credibly Reported level (not Alleged, not Speculation)? Halt. Return the document to accountability-profile-verification.
2 Speech Gate Could the targeted conduct sweep in protected First Amendment activity, or is the conduct already in a recognized unprotected-speech category (incitement, true threats, fighting words, fraud, defamation of a private figure, voter intimidation)? If protected: defer to first-amendment-legal-expert; if chilling risk is unresolvable, halt. If unprotected: tag the category and proceed.
3 Personal-Conduct vs. Policy-Action Gate Is the harm rooted in personal conduct (corruption, self-dealing, retaliation against an individual) or in policy action (rulemaking, statutory choice, official decision)? Personal conduct → emphasize ethics / disclosure / discipline remedies. Policy action → emphasize procedural / oversight / statutory-clarity remedies. If both, run the brief twice.
4 Statutory-Gap Gate Is existing federal or state law actually inadequate? Or is the failure one of enforcement, not statute? If pure enforcement failure, output an enforcement-and-oversight recommendation, not a legislative one.
5 Constitutional Authority Gate Does Congress (Art. I §8 / 14th Amend. §5) or the relevant state legislature have authority to legislate here? For executive-power harms, apply the Youngstown three-tier framework (with-Congress / silence / against-Congress) per separation-of-powers-legal-expert. If authority is contested, route to separation-of-powers-legal-expert and disclose the contest in the brief.
6 Federalism Gate Is this a federal, state, or concurrent jurisdiction issue? Tag the harm accordingly; never propose federal preemption without naming the constitutional hook.

Wrongdoing Taxonomy → Remedy Family Map

This taxonomy is derived from public-corruption-ombudsman and .cursor/rules/patriot-accountability-profile-standards.mdc. Map every documented harm to one or more remedy families before scoring.

Documented Harm (from PU taxonomy) Federal Remedy Families State Remedy Families
Democratic backsliding / executive aggrandizement Restoration of IG independence; Anti-Schedule-F protections; Impoundment Control Act amendments; agency-abolition limits State APA reform; state IG statutes; appropriations conditionality
Retribution / viewpoint discrimination First Amendment Retaliation cause-of-action codification; Hatch Act enforcement teeth; security-clearance review-board reform State whistleblower acts; state public-employee speech protections
Vindictive / selective prosecution DOJ special-counsel statute reauthorization; Hyde-Amendment-style fee-shifting; OPR independence State prosecutorial misconduct review boards; bar discipline transparency
Voter suppression John R. Lewis VRAA; Freedom to Vote Act; same-day registration; automatic registration State election-administration model acts; restoration of rights statutes
Election denialism / certification obstruction ECRA strengthening; criminal penalties for certification refusal; state-elector slate-replacement bars State certification mandates; state criminal penalties for election-official obstruction
Agency manipulation / scientific suppression Scientific Integrity Act; OIRA reform; restore CRS/GAO subpoena enforcement State scientific-integrity acts; state agency-rulemaking transparency
Self-dealing / emoluments / corruption STOCK Act expansion; Foreign Emoluments enforcement; presidential financial disclosure State ethics-commission funding; gift-ban statutes; revolving-door cooling-off
Press freedom attacks Federal shield law (PRESS Act); SLAPP-suit federal cause-of-action; subpoena reform State anti-SLAPP statutes (Uniform Public Expression Protection Act / UPEPA); reporter privilege
Judicial ethics / capture SCOTUS code of conduct (SCERT Act); Judiciary Act expansion; TERM Act 18-year terms; recusal reform State judicial-conduct commission independence; state recusal statutes
Campaign finance / dark money DISCLOSE Act; For the People Act remnants; FEC restructuring State independent-expenditure disclosure; small-donor matching
Civil rights / equal protection violations §1983 / Bivens restoration; Qualified immunity reform; pattern-or-practice DOJ authority State civil-rights causes of action; state pattern-or-practice statutes
Surveillance / 4th-Amendment overreach §702 reform; geofence-warrant statute; data-broker loophole closure State data-broker statutes; state geolocation warrant requirements
Immigration / removal-process abuses INA due-process amendments; immigration-court Article I conversion; expedited-removal limits State sanctuary statutes; state ID-document protections

When a harm does not fit any row, add a new row in the working brief and flag for editorial review — do not silently map to an unrelated family.


Remedy Scoring Framework

Every candidate remedy is scored on three independent 1–5 dimensions, then composed.

Dimension Definition 1 (Low) 5 (High)
Legal Anchor How firmly does the remedy sit within established constitutional/statutory authority? For executive-power remedies, scored against the Youngstown three-tier framework. Contested authority, requires constitutional amendment, runs into major-questions doctrine, or sits in Youngstown Category 3 without override Settled authority, recently affirmed by SCOTUS / Circuit court, fully within Art. I §8 / 14th Amend. §5 / state police power, or sits in Youngstown Category 1
Political Viability What is the realistic prospect of advancing within 24 months? Symbolic / no co-sponsors / vetoed predecessor with no override path Active bill with bipartisan co-sponsors, GovTrack prognosis > 30%, or already enacted in ≥10 states
Harm-Fit How directly does the remedy address the documented harm? The Gate-3 personal-conduct-vs-policy-action determination weights this score: ethics remedies must fit personal-conduct harms; procedural remedies must fit policy-action harms. Tangential / addresses adjacent harm only / lane-mismatched (e.g. statutory reform for a personal-corruption harm) One-to-one match to the documented conduct, lane-aligned

Composite Remedy Score = (Legal Anchor × Political Viability × Harm-Fit) / 25, normalized 1–5:

Composite Recommendation Tier Editorial Treatment
4.1 – 5.0 PRIMARY Lead the remedy section with this option; cite bill number and sponsor.
3.1 – 4.0 STRONG Include in the brief with full citation; pair with a counter-perspective source.
2.1 – 3.0 CANDIDATE List as “additional options under consideration”; brief one-line treatment.
1.1 – 2.0 LONG-SHOT Mention only if no higher-tier option exists for the harm.
0.0 – 1.0 EXCLUDE Do not publish; log in the working notes for future review.

A remedy that scores 5 on Harm-Fit but 1 on Legal Anchor is not PRIMARY — composite scoring is multiplicative on purpose to prevent constitutionally infirm proposals from being elevated.


Source Discipline

Consult the default citation pool in the order listed. Every cited remedy carries Source: , "," <Date>. <URL></code>. Lean labels (<code>[Left-of-center]</code>, <code>[Conservative]</code>, <code>[Nonpartisan]</code>, <code>[Libertarian]</code>) are <strong>required</strong> for advocacy-org citations and <strong>prohibited</strong> for primary-source citations (Congress.gov, GovInfo, GAO, CRS).</p> <h3>Default Citation Pool</h3> <table> <thead> <tr> <th>Rank</th> <th>Source</th> <th>Use For</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Congress.gov (API)</td> <td>Federal bill text, sponsors, status, committee actions — authoritative</td> </tr> <tr> <td>2</td> <td>GovInfo.gov</td> <td>Authoritative text of enacted law, Federal Register, US Code</td> </tr> <tr> <td>3</td> <td>CRS Reports (via congress.gov/crs-products)</td> <td>Nonpartisan remedy-option analysis</td> </tr> <tr> <td>4</td> <td>GAO Recommendations Database</td> <td>Evidence-tethered remedies tied to documented agency failure (“Matters for Congressional Consideration”)</td> </tr> <tr> <td>5</td> <td>OpenStates.org API</td> <td>All 50 states + DC + PR bill canonical lookup</td> </tr> <tr> <td>6</td> <td>LegiScan API</td> <td>Multi-state real-time tracking with webhook push</td> </tr> <tr> <td>7</td> <td>NCSL topical databases</td> <td>Comparative state policy framing (no API — HTML only)</td> </tr> <tr> <td>8</td> <td>Brennan Center for Justice</td> <td>Democracy / voting / judicial / national-security remedies [Left-of-center]</td> </tr> <tr> <td>9</td> <td>Project On Government Oversight (POGO)</td> <td>Executive ethics, IG, FOIA remedies [Nonpartisan]</td> </tr> <tr> <td>10</td> <td>Campaign Legal Center</td> <td>Ethics / campaign finance / redistricting [Nonpartisan-labeled]</td> </tr> <tr> <td>11</td> <td>Heritage Foundation (solutions.heritage.org)</td> <td>Conservative remedy counterweight — cite for balance [Conservative]</td> </tr> <tr> <td>12</td> <td>Uniform Law Commission / Council of State Governments</td> <td>Non-ideological model-legislation baseline [Nonpartisan]</td> </tr> </tbody> </table> <h3>Tier-2 (topic-specific)</h3> <table> <thead> <tr> <th>Source</th> <th>When to Cite</th> <th>Lean</th> </tr> </thead> <tbody> <tr> <td>Demand Justice / Fix the Court</td> <td>Judicial reform topics</td> <td>[Left-of-center] / [Nonpartisan-claimed]</td> </tr> <tr> <td>Federalist Society</td> <td>Doctrinal counterweight on judicial / constitutional topics</td> <td>[Conservative]</td> </tr> <tr> <td>State Innovation Exchange (SiX)</td> <td>Progressive state model legislation</td> <td>[Left-of-center]</td> </tr> <tr> <td>ALEC</td> <td>Conservative state model legislation</td> <td>[Conservative]</td> </tr> <tr> <td>CREW / Common Cause / Public Citizen</td> <td>Executive ethics, money in politics</td> <td>[Left-of-center]</td> </tr> <tr> <td>Cato Institute</td> <td>Surveillance, criminal-justice, regulatory remedies</td> <td>[Libertarian]</td> </tr> <tr> <td>OpenSecrets</td> <td>Money-in-politics evidentiary context (not remedies)</td> <td>[Center-left framing, nonpartisan methodology]</td> </tr> <tr> <td>Ballotpedia</td> <td>State election-administration legislation tracker</td> <td>[Claims none]</td> </tr> </tbody> </table> <p><strong>Deprecated — do not cite:</strong> ProPublica Congress API (sunset 2024 — substitute Congress.gov API directly).</p> <p>A companion source-map document with full coverage notes and access details lives at <code>_drafts/legislative-remedies-source-map.md</code>.</p> <hr> <h2>Composition With Other Skills and Rules</h2> <table> <thead> <tr> <th>Skill or Rule</th> <th>When This Skill Invokes It</th> <th>What It Returns</th> </tr> </thead> <tbody> <tr> <td><code>accountability-profile-verification</code></td> <td>Always — must be cleared before this skill runs (Gate 1). This is the operative <strong>Evidence Evaluation</strong> framework: four-tier hierarchy (Documented / Credibly Reported / Alleged / Speculation).</td> <td>Verified evidence tier + source citations</td> </tr> <tr> <td><code>patriot-malice-evaluator</code></td> <td>At Gate 3 (Personal-Conduct vs. Policy-Action) — the Ideology-vs-Malice classification routes the remedy lane. DMS 1–5 score informs Harm-Fit weighting.</td> <td>DMS 1–5 score; Ideology vs. Malice classification</td> </tr> <tr> <td><code>first-amendment-legal-expert</code></td> <td>Whenever Gate 2 (Speech Gate) flags potential overbreadth or chilling effect, or when the conduct sits in a recognized unprotected category needing doctrinal anchoring</td> <td>Doctrinal analysis (Brandenburg / Counterman / Sullivan / Gertz); redrafted remedy scope or halt</td> </tr> <tr> <td><code>separation-of-powers-legal-expert</code></td> <td>At Gate 5 when constitutional authority is contested <strong>or</strong> the harm is an executive action — this is the operative <strong>Constitutional Review</strong> framework, applying the Youngstown three-tier test</td> <td>Youngstown-tier classification (with-Congress / silence / against-Congress); disclosure block text</td> </tr> <tr> <td><code>fourteenth-amendment-legal-expert</code></td> <td>When remedy depends on §5 enforcement authority or equal-protection theory</td> <td>§5 congruence-and-proportionality assessment (<em>City of Boerne v. Flores</em>)</td> </tr> <tr> <td><code>voting-rights-act-expert</code> / <code>voter-suppression-law</code></td> <td>All voting / election-administration harms; also at Gate 2 when voter intimidation (52 U.S.C. §10307(b)) is the unprotected-speech category</td> <td>VRA §2 or §5 framing; Shelby County workaround analysis; voter-intimidation doctrine</td> </tr> <tr> <td><code>federal-register-regulatory-analysis</code></td> <td>When the harm is a regulatory action and a Congressional Review Act (CRA) resolution is on the table</td> <td>NPRM/final-rule status; CRA window calculation</td> </tr> <tr> <td><code>policy-analyst-legislative-specialist</code></td> <td>For live bill tracking and committee-action surveillance</td> <td>Current bill status, committee posture, oversight letters</td> </tr> <tr> <td><code>legal-research-specialist</code></td> <td>For caselaw confirming or undercutting the Legal Anchor score</td> <td>Cited holdings; circuit splits</td> </tr> <tr> <td><code>public-corruption-ombudsman</code></td> <td>Source of the wrongdoing taxonomy in the table above; also defines the four-tier evidence hierarchy used at Gate 1</td> <td>Primary-source profile data</td> </tr> <tr> <td><code>corporate-intelligence-investigator</code> / <code>public-records-research-specialist</code> / <code>document-research-specialist</code></td> <td>Upstream evidence sources when the harm involves financial conflicts, FOIA records, or document-based corruption</td> <td>Verified primary-source citations feeding Gate 1</td> </tr> <tr> <td><code>election-threat-scoring</code></td> <td>When the harm has been threat-scored (Likelihood × Impact × Urgency); the score informs remedy prioritization</td> <td>Composite threat score; PREVENT/PREPARE/MITIGATE/RESPOND/RECOVER tagging</td> </tr> <tr> <td><code>patriot-sanity-check</code></td> <td>Always — runs <em>after</em> this skill, before publication</td> <td>Five-level hostile-scrutiny audit of the recommendation brief</td> </tr> <tr> <td><code>.cursor/rules/patriot-accountability-profile-standards.mdc</code></td> <td>Governs any inline citation of an accountability profile</td> <td>Citation format; evidence-tier language</td> </tr> <tr> <td><code>.cursor/rules/patriot-malice-evaluator.mdc</code></td> <td>Governs how DMA designations are referenced in the brief</td> <td>Composition order; “No DMA” block requirement</td> </tr> <tr> <td><code>.cursor/rules/patriot-obsidian-wiki.mdc</code></td> <td>Governs the brief’s Markdown structure when saved to the vault</td> <td>Banned-syntax list; canonical frontmatter</td> </tr> </tbody> </table> <hr> <h2>Recommendation Brief — Output Template</h2> <p>When the editor invokes this skill on a specific document, return a brief in this exact structure (mirrors the PU house style used by <code>election-threat-scoring</code> and <code>accountability-profile-builder</code>):</p> <pre><code> # Legislative Remedies Brief — <Subject of Underlying Document> **Source document:** [[<slug-of-underlying-pu-doc>]] **Documented harm(s):** <one-line summary> **Evidence tier:** Documented | Credibly Reported (four-tier hierarchy per `accountability-profile-verification`) **DMA score (if applicable):** DMS <1–5> — <Ideology | Malice> **Conduct lane:** Personal conduct | Policy action | Both **Speech category (if applicable):** Protected — deferred to 1A expert | Unprotected: <Brandenburg incitement | Counterman true threat | fighting words | fraud | private-figure defamation | voter intimidation §10307(b)> **Youngstown tier (if executive-power harm):** Category 1 (with-Congress) | Category 2 (silence) | Category 3 (against-Congress) **Jurisdictional scope:** Federal | State (<list>) | Concurrent **Gates cleared:** Evidence ✓ · Speech ✓ · Conduct-vs-Policy ✓ · Statutory-Gap ✓ · Constitutional Authority ✓ · Federalism ✓ ## Documented Harm Mapped to Remedy Families | Harm | Federal Family | State Family | Notes | |---|---|---|---| | <harm 1> | <family> | <family> | <constraint or constitutional hook> | ## Federal Remedies ### PRIMARY (Composite 4.1–5.0) **<Bill or Reform Name>** — <Bill number / status> - **Legal Anchor:** <score>/5 — <one-line justification with caselaw or constitutional cite> - **Political Viability:** <score>/5 — <co-sponsor count, GovTrack prognosis, committee posture> - **Harm-Fit:** <score>/5 — <one-line mapping to the documented conduct> - **Composite:** <score>/5 - **What it would do:** <2–3 sentences> - **Source:** Congress.gov, "<Bill Title>," <date>. <URL> - **Counterpoint:** <source from opposite lean, if relevant> [<Lean>] ### STRONG / CANDIDATE / LONG-SHOT <same structure, briefer treatment by tier> ## State Remedies (Same structure as above, organized by state or by model-act adoption status. Cite OpenStates / LegiScan / NCSL / ULC / CSG / ALEC / SiX as applicable, with lean labels.) ## Enforcement-Only Path (if Gate 3 routed here) <When existing law is adequate but unused — name the statute, the enforcement body, and the documented enforcement failure. Cite GAO recommendations or oversight letters.> ## Disclosed Contests <If Gate 4 surfaced a contested constitutional question — disclose it here in plain language, with the relevant amendment-skill output cited. Do not bury contested authority in a footnote.> ## Pattern Connection <If this harm appears in multiple PU profiles, link to the pattern analysis. Connect individual remedy to broader reform agenda only with documented evidence.> ## Sanity-Check Note This brief must be run through `patriot-sanity-check` before publication. Flag any remedy where Legal Anchor < 3 for hostile-scrutiny review. --- **Last Updated:** <ISO date> **Composed via:** legislative-remedies-recommender </code></pre> <hr> <h2>Quick Reference (single-page for field operators)</h2> <table> <thead> <tr> <th>Step</th> <th>Action</th> <th>Skill / Source</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Confirm Documented or Credibly Reported evidence tier (4-tier hierarchy)</td> <td><code>accountability-profile-verification</code></td> </tr> <tr> <td>2</td> <td>Confirm conduct is not pure protected speech; tag unprotected category if applicable</td> <td><code>first-amendment-legal-expert</code></td> </tr> <tr> <td>3</td> <td>Classify harm as personal conduct vs. policy action (Ideology vs. Malice)</td> <td><code>patriot-malice-evaluator</code></td> </tr> <tr> <td>4</td> <td>Confirm statutory gap exists (not pure enforcement failure)</td> <td>This skill + GAO recommendations</td> </tr> <tr> <td>5</td> <td>Confirm constitutional authority; for executive-power harms apply Youngstown three-tier</td> <td><code>separation-of-powers-legal-expert</code></td> </tr> <tr> <td>6</td> <td>Tag federal / state / concurrent jurisdiction</td> <td>This skill</td> </tr> <tr> <td>7</td> <td>Map harm to remedy families (federal + state)</td> <td>Taxonomy table above</td> </tr> <tr> <td>8</td> <td>Identify candidate remedies from default citation pool</td> <td>Congress.gov, GAO, OpenStates, Brennan, Heritage, etc.</td> </tr> <tr> <td>9</td> <td>Score each on Legal Anchor / Political Viability / Harm-Fit (1–5 each)</td> <td>This skill</td> </tr> <tr> <td>10</td> <td>Compute composite; classify PRIMARY / STRONG / CANDIDATE / LONG-SHOT / EXCLUDE</td> <td>This skill</td> </tr> <tr> <td>11</td> <td>Pair every advocacy-org citation with a counterweight; label leans</td> <td>This skill</td> </tr> <tr> <td>12</td> <td>Write brief per output template</td> <td>This skill</td> </tr> <tr> <td>13</td> <td>Run sanity check</td> <td><code>patriot-sanity-check</code></td> </tr> <tr> <td>14</td> <td>Editor publishes / routes / archives</td> <td>Human</td> </tr> </tbody> </table> <hr> <h2>Limits and Non-Goals</h2> <ul> <li><strong>Not a legal opinion.</strong> This skill recommends legislative options for editorial publication and partner routing; it does not constitute legal advice to anyone considering a lawsuit, a campaign, or a vote.</li> <li><strong>Not a passage predictor.</strong> Political Viability is a 1–5 editorial signal based on tracked bills, not a probabilistic forecast.</li> <li><strong>Not a partisan platform.</strong> Where the only available remedies in the citation pool come from one side of the spectrum, the brief discloses that absence rather than padding with manufactured balance.</li> <li><strong>Not for purely protected speech.</strong> The Speech Gate exists precisely to prevent this skill from being used to recommend speech-chilling legislation against accountability subjects whose conduct is, on examination, First Amendment protected.</li> </ul> <hr> <p><strong>Canonical Location:</strong> <code>patriot-agent-base/skills/legislative-remedies-recommender.md</code> (post-promotion) <strong>Composes With:</strong> <code>accountability-profile-verification</code> · <code>patriot-malice-evaluator</code> · amendment legal experts · <code>policy-analyst-legislative-specialist</code> · <code>public-corruption-ombudsman</code> · <code>patriot-sanity-check</code> <strong>Governing Rules:</strong> <code>.cursor/rules/patriot-accountability-profile-standards.mdc</code> · <code>.cursor/rules/patriot-obsidian-wiki.mdc</code> <strong>Companion Reference:</strong> Legislative Remedies — Source Map and Rule Cross-Reference</p> </div> </div><div id="eckb-article-content-footer" > <section id="eprf-article-buttons-container" class="eprf-rating-mode-five-stars eprf-afc--reset"> <div class="eprf-stars-module eprf-stars-module--layout-1 "> <div class="eprf-stars-module__text" style="color: #000000; font-size:16px;" > Was this article helpful? </div> <div class="eprf-stars-wrapper"> <div class="eprf-stars-container" style="color: #1e73be; font-size: 30px;" data-average="0" data-initial_average="0"> <div class="eprf-stars__inner-background"> <span class="epkbfa epkbfa-star-o" data-value="1" aria-hidden="true"></span> <span class="epkbfa epkbfa-star-o" data-value="2" aria-hidden="true"></span> <span class="epkbfa epkbfa-star-o" data-value="3" aria-hidden="true"></span> <span class="epkbfa epkbfa-star-o" data-value="4" aria-hidden="true"></span> <span class="epkbfa epkbfa-star-o" data-value="5" aria-hidden="true"></span> </div> </div> <i class="epkbfa epkbfa-chevron-down eprf-show-statistics-toggle" style="color: #1e73be;font-size: 18px"></i> <div class="eprf-stars-module__statistics"> <h6>0 out of 5 stars</h6> <table> <tr> <td title="Excellent Documentation">5 Stars</td> <td> <span class="eprf-stars-module__statistics__stat-wrap"><span class="eprf-stars-module__statistics__stat-wrap__stat-inside" style="width: 0%; background-color: #1e73be;"></span></span> </td> <td>0%</td> </tr> <tr> <td title="Good Documentation">4 Stars</td> <td> <span class="eprf-stars-module__statistics__stat-wrap"><span class="eprf-stars-module__statistics__stat-wrap__stat-inside" style="width: 0%; background-color: #1e73be;"></span></span> </td> <td>0%</td> </tr> <tr> <td title="OK Documentation">3 Stars</td> <td> <span class="eprf-stars-module__statistics__stat-wrap"><span class="eprf-stars-module__statistics__stat-wrap__stat-inside" style="width: 0%; background-color: #1e73be;"></span></span> </td> <td>0%</td> </tr> <tr> <td title="Poor Documentation">2 Stars</td> <td> <span class="eprf-stars-module__statistics__stat-wrap"><span class="eprf-stars-module__statistics__stat-wrap__stat-inside" style="width: 0%; background-color: #1e73be;"></span></span> </td> <td>0%</td> </tr> <tr> <td title="Unusable Documentation">1 Stars</td> <td> <span class="eprf-stars-module__statistics__stat-wrap"><span class="eprf-stars-module__statistics__stat-wrap__stat-inside" style="width: 0%; background-color: #1e73be;"></span></span> </td> <td>0%</td> </tr> </table></div> </div> <div class="eprf-stars-module__mobile-rating"> <div class="eprf-mobile-rating-container"> <button type="button" class="eprf-mobile-rating-btn eprf-decrease" aria-label="Decrease rating"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 0 24 24" width="20" height="24"><path fill="white" d="M19 11H5a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2Z"></path></svg> </button> <span class="eprf-mobile-rating-value">5</span> <button type="button" class="eprf-mobile-rating-btn eprf-increase" aria-label="Increase rating"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="white" d="M18 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z"></path></svg> </button> <button class="eprf-mobile-rating__submit">Submit</button> </div> </div> </div> <div id="eprf-current-rating" class="eprf-article-buttons__feedback-confirmation" data-loading="Loading..." style="color: #000000; font-size:16px;" > </div> </section> <section id="eprf-article-feedback-container" class="eprf-afc--reset eprf-article-feedback-container--trigger-negative-four" style="color: #000000; font-size:16px;" > <form class="eprf-leave-feedback-form"> <span class="eprf-leave-feedback-form--close" style="color: #000000;"><span class="epkbfa epkbfa-window-close"></span></span> <div class="eprf-article-feedback__title eprf-form-row"> <h5>Please Share Your Feedback</h5> </div> <div class="eprf-article-feedback__required-title eprf-form-row"> <h5>How Can We Improve This Article?</h5> </div> <div class="eprf-article-feedback__name eprf-form-row"> <label for="eprf-form-name">Name</label> <input placeholder="Name" type="text" id="eprf-form-name" name="eprf-form-name" required> </div> <div class="eprf-article-feedback__email eprf-form-row"> <label for="eprf-form-email">Email</label> <input placeholder="Email" type="email" id="eprf-form-email" name="eprf-form-email"> </div> <div class="eprf-article-feedback__text eprf-form-row"> <textarea id="eprf-form-text" name="eprf-form-text" placeholder="" required></textarea> </div> <input type="hidden" id="eprf-form-details" name="eprf-form-details" value=""> <div class="eprf-article-feedback__footer"> <div class="eprf-article-feedback__submit"> <button type="submit" style="background-color: #000000;"> Submit </button> </div> </div> </form> </section> <div class="epkb-article-navigation-container "> <div class="epkb-article-navigation__previous"> <a href="https://patriot.university/knowledge-base/topics/ai-skills/legal-research-specialist/" rel="prev"> <span class="epkb-article-navigation__label"> <span class="epkb-article-navigation__label__previous__icon epkbfa epkbfa-caret-left"></span> Previous </span> <span title="Legal Research Specialist" class="epkb-article-navigation-article__title"> <span class="epkb-article-navigation__previous__icon epkbfa ep_font_icon_document"></span> Legal Research Specialist </span> </a> </div> <div class="epkb-article-navigation__next"><a href="https://patriot.university/knowledge-base/topics/ai-skills/litigation-support-ediscovery-analyst/" rel="next"> <span class="epkb-article-navigation__label"> Next <span class="epkb-article-navigation__label__next__icon epkbfa epkbfa-caret-right"></span> </span> <span title="Litigation Support / eDiscovery Analyst" class="epkb-article-navigation-article__title"> Litigation Support / eDiscovery Analyst <span class="epkb-article-navigation__next__icon epkbfa ep_font_icon_document"></span> </span> </a> </div> </div> </div> </article><!-- /#eckb-article-content --> <div id="eckb-article-right-sidebar" > <div class="eckb-article-toc eckb-article-toc--bmode-between eckb-article-toc-reset " data-offset="130" data-min="2" data-max="6" data-speed="300" data-exclude_class="" ><div class="eckb-article-toc__title">Table of Contents</div></div> </div> </div><!-- /#eckb-article-body --> <div id="eckb-article-footer" ></div> </div><!-- /#eckb-article-page-container-v2 --> <style id="eckb-article-styles" type="text/css">@media only screen and (min-width:768px){#eckb-article-page-container-v2 #eckb-article-body #eckb-article-content #eckb-article-content-header-v2 #eckb-article-content-header-row-1,#eckb-article-page-container-v2 #eckb-article-body #eckb-article-content #eckb-article-content-header-v2 #eckb-article-content-header-row-2,#eckb-article-page-container-v2 #eckb-article-body #eckb-article-content #eckb-article-content-header-v2 #eckb-article-content-header-row-3,#eckb-article-page-container-v2 #eckb-article-body #eckb-article-content #eckb-article-content-header-v2 #eckb-article-content-header-row-4,#eckb-article-page-container-v2 #eckb-article-body #eckb-article-content #eckb-article-content-header-v2 #eckb-article-content-header-row-5{flex-direction:row;}}#eckb-article-content-header-row-1{margin-bottom:8px;}#eckb-article-content-header-row-1 .eckb-article-content-header-row-left-group,#eckb-article-content-header-row-1 .eckb-article-content-header-row-right-group{align-items:center;}.eckb-article-content-toolbar-button-container{background-color:#43596e;padding:10px 10px 10px 10px;margin:0px 0px 0px 0px;border-radius:0px;border-width:0px;border-color:#43596e;border-style:solid;}.eckb-article-content-toolbar-button-container .eckb-toolbar-button-text{color:#ffffff;font-size:15px;}.eckb-article-content-toolbar-button-container .eckb-toolbar-button-icon{color:#ffffff;font-size:20px;}.eckb-article-content-toolbar-button-container:hover{background-color:#bc68c9;}.eckb-article-content-toolbar-button-container:hover .eckb-toolbar-button-text{color:#ffffff;}.eckb-article-content-toolbar-button-container:hover .eckb-toolbar-button-icon{color:#000000;}#eckb-article-content-header-row-2{margin-bottom:0px;}#eckb-article-content-header-row-2 .eckb-article-content-header-row-left-group,#eckb-article-content-header-row-2 .eckb-article-content-header-row-right-group{align-items:flex-end;}#eckb-article-content-header-row-3{margin-bottom:32px;}#eckb-article-content-header-row-3 .eckb-article-content-header-row-left-group,#eckb-article-content-header-row-3 .eckb-article-content-header-row-right-group{align-items:flex-end;}#eckb-article-content-footer .epkb-article-navigation-container a{background-color:#f7f7f7;color:#1e73be;}#eckb-article-content-footer .epkb-article-navigation-container a:hover{background-color:#dee3e5;color:#6d6d6d;}#eckb-article-body .eckb-article-toc ul a.active{background-color:#43596e;color:#ffffff;}#eckb-article-body .eckb-article-toc ul a:hover{background-color:#e1ecf7;color:#000000;}#eckb-article-body .eckb-article-toc__inner{border-color:#43596e;font-size:14px !important;background-color:#fcfcfc;}#eckb-article-body .eckb-article-toc__inner a{color:#000000;font-size:14px !important;}#eckb-article-body .eckb-article-toc__title{color:#43596e;font-size:15px !important;}</style> </div> <footer class="pu-article__footer"> </footer> </article> <section class="pu-related" aria-label="Related articles"> <h2 class="pu-related__title">Related Articles</h2> <div class="pu-card-grid pu-card-grid--2col"> <article id="post-11064" class="pu-card post-11064 epkb_post_type_1 type-epkb_post_type_1 status-publish hentry epkb_post_type_1_category-ai-skills"> <a href="https://patriot.university/knowledge-base/topics/ai-skills/democratic-health-monitoring/" class="pu-card__link" aria-label="Democratic Health Monitoring"> <div class="pu-card__icon-area"> <svg class="pu-card__icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <!-- Brain outline (left hemisphere) --> <path d="M12 2C9 2 7 4.5 7 7c0 1.5-.5 2.5-1.5 3.5S4 13 4 15c0 3 2.5 5 5 5h3"/> <!-- Brain outline (right hemisphere) --> <path d="M12 2c3 0 5 2.5 5 5 0 1.5.5 2.5 1.5 3.5S20 13 20 15c0 3-2.5 5-5 5h-3"/> <!-- Circuit nodes --> <circle cx="9" cy="9" r="1"/> <circle cx="15" cy="9" r="1"/> <circle cx="12" cy="14" r="1"/> <!-- Circuit connections --> <line x1="10" y1="9" x2="14" y2="9"/> <line x1="9.5" y1="10" x2="11.5" y2="13"/> <line x1="14.5" y1="10" x2="12.5" y2="13"/> </svg> </div> <div class="pu-card__body"> <span class="pu-badge">AI Skills</span> <h3 class="pu-card__title">Democratic Health Monitoring</h3> </div> </a> </article> <article id="post-4412" class="pu-card post-4412 epkb_post_type_1 type-epkb_post_type_1 status-publish hentry epkb_post_type_1_category-ai-skills"> <a href="https://patriot.university/knowledge-base/topics/ai-skills/voting-rights-act-expert/" class="pu-card__link" aria-label="Voting Rights Act Expert"> <div class="pu-card__icon-area"> <svg class="pu-card__icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <!-- Brain outline (left hemisphere) --> <path d="M12 2C9 2 7 4.5 7 7c0 1.5-.5 2.5-1.5 3.5S4 13 4 15c0 3 2.5 5 5 5h3"/> <!-- Brain outline (right hemisphere) --> <path d="M12 2c3 0 5 2.5 5 5 0 1.5.5 2.5 1.5 3.5S20 13 20 15c0 3-2.5 5-5 5h-3"/> <!-- Circuit nodes --> <circle cx="9" cy="9" r="1"/> <circle cx="15" cy="9" r="1"/> <circle cx="12" cy="14" r="1"/> <!-- Circuit connections --> <line x1="10" y1="9" x2="14" y2="9"/> <line x1="9.5" y1="10" x2="11.5" y2="13"/> <line x1="14.5" y1="10" x2="12.5" y2="13"/> </svg> </div> <div class="pu-card__body"> <span class="pu-badge">AI Skills</span> <h3 class="pu-card__title">Voting Rights Act Expert</h3> </div> </a> </article> <article id="post-4406" class="pu-card post-4406 epkb_post_type_1 type-epkb_post_type_1 status-publish hentry epkb_post_type_1_category-ai-skills"> <a href="https://patriot.university/knowledge-base/topics/ai-skills/trump-corruption-accountability-tracker/" class="pu-card__link" aria-label="Trump Corruption & Accountability Tracker"> <div class="pu-card__icon-area"> <svg class="pu-card__icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <!-- Brain outline (left hemisphere) --> <path d="M12 2C9 2 7 4.5 7 7c0 1.5-.5 2.5-1.5 3.5S4 13 4 15c0 3 2.5 5 5 5h3"/> <!-- Brain outline (right hemisphere) --> <path d="M12 2c3 0 5 2.5 5 5 0 1.5.5 2.5 1.5 3.5S20 13 20 15c0 3-2.5 5-5 5h-3"/> <!-- Circuit nodes --> <circle cx="9" cy="9" r="1"/> <circle cx="15" cy="9" r="1"/> <circle cx="12" cy="14" r="1"/> <!-- Circuit connections --> <line x1="10" y1="9" x2="14" y2="9"/> <line x1="9.5" y1="10" x2="11.5" y2="13"/> <line x1="14.5" y1="10" x2="12.5" y2="13"/> </svg> </div> <div class="pu-card__body"> <span class="pu-badge">AI Skills</span> <h3 class="pu-card__title">Trump Corruption & Accountability Tracker</h3> </div> </a> </article> <article id="post-4397" class="pu-card post-4397 epkb_post_type_1 type-epkb_post_type_1 status-publish hentry epkb_post_type_1_category-ai-skills"> <a href="https://patriot.university/knowledge-base/topics/ai-skills/patriot-sanity-check/" class="pu-card__link" aria-label="Patriot University Sanity Check"> <div class="pu-card__icon-area"> <svg class="pu-card__icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <!-- Brain outline (left hemisphere) --> <path d="M12 2C9 2 7 4.5 7 7c0 1.5-.5 2.5-1.5 3.5S4 13 4 15c0 3 2.5 5 5 5h3"/> <!-- Brain outline (right hemisphere) --> <path d="M12 2c3 0 5 2.5 5 5 0 1.5.5 2.5 1.5 3.5S20 13 20 15c0 3-2.5 5-5 5h-3"/> <!-- Circuit nodes --> <circle cx="9" cy="9" r="1"/> <circle cx="15" cy="9" r="1"/> <circle cx="12" cy="14" r="1"/> <!-- Circuit connections --> <line x1="10" y1="9" x2="14" y2="9"/> <line x1="9.5" y1="10" x2="11.5" y2="13"/> <line x1="14.5" y1="10" x2="12.5" y2="13"/> </svg> </div> <div class="pu-card__body"> <span class="pu-badge">AI Skills</span> <h3 class="pu-card__title">Patriot University Sanity Check</h3> </div> </a> </article> </div> </section> </div> </div> </main><!-- .pu-main --> <footer class="pu-footer" role="contentinfo"> <div class="pu-footer__inner"> <div class="pu-footer__nav-row"> </div> <nav class="pu-footer__legal" aria-label="Legal"> <ul class="pu-footer-legal-list"> <li><a href="https://patriot.university/privacy-policy/">Privacy Policy</a></li> <li><a href="https://patriot.university/terms-of-use/">Terms of Use</a></li> <li><a href="https://patriot.university/dmca-safe-harbor-policy/">DMCA Safe Harbor Policy</a></li> <li><a href="https://patriot.university/cookie-policy/">Cookie Policy</a></li> </ul> </nav> <div class="pu-footer__meta"> <p class="pu-footer__notice"> Patriot University is a civic education and civil rights platform. </p> <p class="pu-footer__copyright"> © 2026 Patriot University </p> </div> </div> </footer> <button class="pu-scroll-top" aria-label="Scroll to top" hidden> </button> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/patriot-university-theme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <style type="text/css"> .relevanssi-live-search-results { opacity: 0; transition: opacity .25s ease-in-out; -moz-transition: opacity .25s ease-in-out; -webkit-transition: opacity .25s ease-in-out; height: 0; overflow: hidden; z-index: 9999995; /* Exceed SearchWP Modal Search Form overlay. */ position: absolute; display: none; } .relevanssi-live-search-results-showing { display: block; opacity: 1; height: auto; overflow: auto; } .relevanssi-live-search-no-results, .relevanssi-live-search-didyoumean { padding: 0 1em; } </style> <script> var relevanssi_rt_regex = /(&|\?)_(rt|rt_nonce)=(\w+)/g var newUrl = window.location.search.replace(relevanssi_rt_regex, '') if (newUrl.substr(0, 1) == '&') { newUrl = '?' + newUrl.substr(1) } history.replaceState(null, null, window.location.pathname + newUrl + window.location.hash) </script> <div class='mwai-chatbot-container' data-params='{"aiName":"PU Bot: ","userName":"User: ","guestName":"Guest:","aiAvatar":true,"userAvatar":true,"aiAvatarUrl":"chat-robot-2.svg","textSend":"Send","textClear":"Clear","imageUpload":false,"fileUpload":false,"multiUpload":false,"maxUploads":1,"fileUploads":0,"mode":"chat","textInputPlaceholder":"Type your message...","textInputMaxLength":512,"textCompliance":"","startSentence":"Chat with our knowledgebase:","localMemory":true,"themeId":"timeless","window":true,"icon":"chat-robot-1.svg","iconText":"Chat with our knowledgebase:","iconTextDelay":1,"iconAlt":"AI Engine Chatbot","iconPosition":"bottom-right","centerOpen":false,"width":"","openDelay":"","iconBubble":false,"windowAnimation":"zoom","fullscreen":false,"copyButton":true,"pdfButton":false,"headerSubtitle":"Discuss with","containerType":"standard","headerType":"standard","messagesType":"standard","inputType":"standard","footerType":"standard"}' data-system='{"botId":"chatbot-ehob8z","customId":null,"userData":null,"sessionId":"6a319f33349d0","restNonce":null,"contextId":17459,"pluginUrl":"https:\/\/patriot.university\/wp-content\/plugins\/ai-engine-pro","restUrl":"https:\/\/patriot.university\/wp-json","stream":true,"debugMode":false,"eventLogs":false,"speech_recognition":false,"speech_synthesis":false,"typewriter":false,"crossSite":false,"actions":[],"blocks":[],"shortcuts":[]}' data-theme='{"type":"internal","name":"Timeless","themeId":"timeless","settings":{"width":"450px","maxHeight":"75vh"},"style":"","cssUrl":"https:\/\/patriot.university\/wp-content\/plugins\/ai-engine-pro\/themes\/timeless.css"}'></div><script id="patriot-kb-js-extra"> var PATRIOT_KB = {"ajaxUrl":"https://patriot.university/wp-admin/admin-ajax.php","nonce":"e1199e699c","siteUrl":"https://patriot.university","version":"1.2.0"}; //# sourceURL=patriot-kb-js-extra </script> <script id="patriot-kb-js" src="https://patriot.university/wp-content/plugins/patriot-university/assets/js/patriot-kb.js?ver=1.2.0"></script> <script id="pu-theme-js" integrity="sha384-13/81SmL3lII+PGPuyfnYBPIpQXCZpx1mNN4BACj9SUb44QJT69Klt3q4viKIRbb" crossorigin="anonymous" src="https://patriot.university/wp-content/themes/patriot-university-theme/assets/js/theme.js?ver=1781215038"></script> <script id="relevanssi-live-search-client-js-extra"> var relevanssi_live_search_params = []; relevanssi_live_search_params = {"ajaxurl":"https:\/\/patriot.university\/wp-admin\/admin-ajax.php","config":{"default":{"input":{"delay":300,"min_chars":3},"results":{"position":"bottom","width":"auto","offset":{"x":0,"y":5},"static_offset":true}}},"msg_no_config_found":"No valid Relevanssi Live Search configuration found!","msg_loading_results":"Loading search results.","messages_template":"<div class=\"live-ajax-messages\">\n\t<div id=\"relevanssi-live-ajax-search-spinner\"><\/div>\n<\/div>\n"};; //# sourceURL=relevanssi-live-search-client-js-extra </script> <script id="relevanssi-live-search-client-js" src="https://patriot.university/wp-content/plugins/relevanssi-live-ajax-search/assets/javascript/dist/script.min.js?ver=2.5"></script> <script id="epkb-glossary-tooltips-js" src="https://patriot.university/wp-content/plugins/echo-knowledge-base/js/glossary-tooltips.min.js?ver=17.200.0"></script> <script id="epkb-ai-chat-util-js" src="https://patriot.university/wp-content/plugins/echo-knowledge-base/js/ai/ai-chat-util.min.js?ver=17.200.0"></script> <script id="epkb-marked-js" src="https://patriot.university/wp-content/plugins/echo-knowledge-base/js/lib/marked.min.js?ver=17.200.0"></script> <script id="epkb-ai-search-js-before"> var epkbAISearch = {"rest_url":"https:\/\/patriot.university\/wp-json\/","rest_nonce":"5b799a0735","search_endpoint":"epkb-public\/v1\/ai-search\/search","msg_loading":"Searching...","msg_error":"Sorry, an error occurred during search. Please try again.","msg_no_results":"No results found. Please try a different search term.","msg_try_again":"Please try again later.","is_admin":false,"sources_label":"Sources","continue_chat_enabled":false,"continue_chat_label":"Open in AI Chat"}; //# sourceURL=epkb-ai-search-js-before </script> <script id="epkb-ai-search-js" src="https://patriot.university/wp-content/plugins/echo-knowledge-base/js/ai/ai-search.min.js?ver=17.200.0"></script> <script id="wp-emoji-settings" type="application/json"> {"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://patriot.university/wp-includes/js/wp-emoji-release.min.js?ver=7.0"}} </script> <script type="module"> /*! This file is auto-generated */ const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent),o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"),s=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,a){let r;const o=(r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),s=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"});const r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))}); //# sourceURL=https://patriot.university/wp-includes/js/wp-emoji-loader.min.js </script> </body> </html> <!-- Page cached by LiteSpeed Cache 7.8.1 on 2026-06-16 15:11:10 -->