Skip to content
EDI 889 — EDI TransactionPublished Nov 3, 2026

EDI 889 Promotion Announcement: Trade Deal Guide

EDI 889 Promotion Announcement explained: G42 status codes, promotion dates, G46 allowances, G94/G95 performance options and G45 items, with live examples.

The EDI 889 is the trade deal in structured form. When a grocery manufacturer funds a holiday feature, a temporary price reduction or a display, the retailer needs to know which items, how much per case, which dates count, and what it has to do to earn the money. The 889 carries all of that, so the deal reaches the retailer's buying and deal systems as data instead of a PDF deal sheet someone keys in.

This guide covers what the 889 carries, how grocery promotion dates and allowance types work, two live examples (a new promotion and a date change), every segment you will map, and the errors that turn into disputed deductions months later.

What Is an EDI 889?

An EDI 889 is the Promotion Announcement transaction set defined by the ASC X12 standards body. It lets a broker, distributor or manufacturer announce promotion allowance amounts, dates and performance conditions, and also replace, cancel or change the dates of a promotion, or accept one that was offered. It belongs to the grocery UCS family, uses grocery "G" segments, and travels in functional group QG (Product Information) with the 888 Item Maintenance.

Authoritative references for 889 work:

  • The X12 transaction set catalog defines the 889 structure, its segment order and the code lists for promotion status, date qualifiers, allowance codes and promotion conditions
  • GS1 US governs the UPC case codes and consumer UPCs that identify each promoted item
  • Each retailer's promotion or deal implementation guide sets which allowance codes, handling methods and performance conditions it accepts

Who sends it? Usually the manufacturer or its broker. X12 defines the 889 as multidirectional, so a retailer or wholesaler can send one back to accept a promotion and state which options it chose.

Who receives it? A grocery retailer or wholesaler, into the system its buyers use to plan promotions and that its accounts payable team later uses to settle them.

When is it sent? Ahead of the promotion's order window, and again whenever the deal changes: new dates, a replacement, a cancellation.

Why does it matter? Trade promotion money moves through deductions and bill-backs long after the event. If the retailer's deal record does not match yours (different dates, a different per-case rate, an item you did not fund), the difference comes back as a deduction you have to research and dispute. An 889 that both sides load from the same data is the simplest way to avoid that.

How Grocery Trade Promotions Are Structured

Three ideas cover most of what an 889 expresses.

Allowance types. The money is described by an allowance code (what it is for) and a method of handling (how it is paid). The common pairings in grocery:

Deal typeHow it is paid889 method of handling (G4602)
Off-invoice allowanceDeducted from the invoice price on cases bought in the window02 Off Invoice
Bill-back allowanceRetailer buys at full cost, then bills the supplier after proving performance01 Bill Back
Scan allowancePaid on units sold at the register during the eventSet by the retailer's guide; often an allowance code such as 68 Scanner Allowance with its own settlement process
Accrual or flat fundA fund earned on prior purchases, or a fixed amount20 Accrual Fund, 21 Flat Fund

Date windows. A promotion has more than one date range, and each has its own G62 qualifier. The retailer orders during the order window, receives during the ship window, and runs the event in the store during the promotion or performance window. Off-invoice deals are usually tied to the ship or order dates. Performance and scan deals are tied to the in-store dates.

Performance options. A deal can offer more than one way to earn it. Option 1 might be a plain off-invoice allowance with a minimum order. Option 2 might add a bill-back for running an ad and an end-aisle display. The 889 numbers each option, ties each allowance to an option, and lists the conditions with AND or OR logic.

Interactive Example: New Promotion (G42 Status 01)

A granola manufacturer announces a December holiday baking event to a grocery chain. The header sets status 01 (new) and the promotion number, then four dates: the promotion runs December 1 to 31 and the ship window is November 15 to December 15. The detail has two allowances. Option 1 is a $1.50 per case off-invoice allowance with a 10-case minimum. Option 2 is a $0.75 per case bill-back for running an ad and an end-aisle display. Both apply to the two items listed in G45.

Use the Plain English tab for a readable summary, or click any segment to break it down element by element.

Live exampleGrocery Chain (Trade Promotion)EDI 889

Grocery 889 Promotion Announcement

A new promotion (G42 status 01) with promotion and ship windows in G62, an off-invoice case allowance and a bill-back performance allowance in G46, the performance options in G94/G95, and the promoted items in G45

Document
889 Promotion Announcement
From / to
PINEHOLLOW → HARBORGROCER
Segments
26
Interchange date
Oct 20, 2026

Raw EDI (X12)

1
ISA*00* *00* *ZZ*PINEHOLLOW *ZZ*HARBORGROCER *261020*1400*U*00401*000003001*0*P*:~
2
GS*QG*PINEHOLLOW*HARBORGROCER*20261020*1400*3001*X*004010UCS~
3
ST*889*0001~
4
G42*01*PRM-26-0417~
5
G62*15*20261201~
6
G62*16*20261231~
7
G62*25*20261115~
8
G62*26*20261215~
9
NTE*GEN*HOLIDAY BAKING AISLE EVENT~
10
N1*BY*HARBOR GROCERY*1*069854900~
11
N1*SU*PINE HOLLOW FOODS*1*081234567~
12
LX*1~
13
G46*101*02*1.50*CA*****1*OFF INVOICE CASE ALLOWANCE~
14
G46*90*01*0.75*CA*****2*AD AND DISPLAY PERFORMANCE~
15
G94**1~
16
G95**06**10*CA~
17
G94**2~
18
G95**10~
19
G95*01*41~
20
G45*008451200116*084512001168*PRM-26-0417**VN*PH-GRN-HNY16*12*16*OZ~
21
G69*HONEY ALMOND GRANOLA 16 OZ~
22
G45*008451200123*084512001236*PRM-26-0417**VN*PH-GRN-CRN16*12*16*OZ~
23
G69*CRANBERRY PECAN GRANOLA 16 OZ~
24
SE*22*0001~
25
GE*1*3001~
26
IEA*1*000003001~

Human-Readable

Interchange

Sender ID(ZZ)PINEHOLLOW
Receiver ID(ZZ)HARBORGROCER
Date261020
Time1400
Standards IDU
Version00401
Control Number000003001
Acknowledgment RequestedNo
UsageProduction
Included Groups (IEA01)1

Functional Group

Functional IDQGQG
SenderPINEHOLLOW
ReceiverHARBORGROCER
Date20261020
Time1400
Control Number3001
Agency CodeX
Version004010UCS
Transactions1
Reported Transaction Count (GE01)1

Transaction 889

Promotion Announcement
Transaction Type889
Control Number0001
Segments, ST to SE22
Count in SE0122 (matches)

Segment Detail

G42Promotion Announcement Identification
G4201Promotion Status (01 new, 02 change, 03 cancel, 04 replace, 05 confirm, 06 replace dates, 07 accept)01
G4202Allowance or Charge Number (Promotion ID)PRM-26-0417
G62Date/Time
G6201Date Qualifier15
G6202Date20261201
G62Date/Time
G6201Date Qualifier16
G6202Date20261231
G62Date/Time
G6201Date Qualifier25
G6202Date20261115
G62Date/Time
G6201Date Qualifier26
G6202Date20261215
NTENote/Special Instruction
NTE01Note TypeGEN
NTE02NoteHOLIDAY BAKING AISLE EVENT
N1Party Identification
N101Entity CodeBY
N102NameHARBOR GROCERY
N103ID Qualifier1
N104ID Code069854900
N1Party Identification
N101Entity CodeSU
N102NamePINE HOLLOW FOODS
N103ID Qualifier1
N104ID Code081234567
LXAssigned Number
LX01Assigned Number1
G46Promotion Allowance/Charge
G4601Allowance or Charge Code101
G4602Handling Method (01 bill back, 02 off invoice)02
G4603Rate1.50
G4604Rate UnitCA
G4609Option Number1
G4610DescriptionOFF INVOICE CASE ALLOWANCE
G46Promotion Allowance/Charge
G4601Allowance or Charge Code90
G4602Handling Method (01 bill back, 02 off invoice)01
G4603Rate0.75
G4604Rate UnitCA
G4609Option Number2
G4610DescriptionAD AND DISPLAY PERFORMANCE
G94Promotion Conditions
G9402Option Number1
G95Performance Requirements
G9502Promotion Condition Code06
G9504Quantity10
G9505Unit of MeasureCA
G94Promotion Conditions
G9402Option Number2
G95Performance Requirements
G9502Promotion Condition Code10
G95Performance Requirements
G9501Condition Qualifier (01 AND, 02 OR)01
G9502Promotion Condition Code41
G45Line Item Detail, Promotion
G4501U.P.C. Case Code008451200116
G4502Consumer UPC084512001168
G4503Allowance or Charge Number (Promotion ID)PRM-26-0417
G4505Product ID QualifierVN
G4506Product IDPH-GRN-HNY16
G4507Pack12
G4508Size16
G4509Size UnitOZ
G69Line Item Detail (Description)
G6901Item DescriptionHONEY ALMOND GRANOLA 16 OZ
G45Line Item Detail, Promotion
G4501U.P.C. Case Code008451200123
G4502Consumer UPC084512001236
G4503Allowance or Charge Number (Promotion ID)PRM-26-0417
G4505Product ID QualifierVN
G4506Product IDPH-GRN-CRN16
G4507Pack12
G4508Size16
G4509Size UnitOZ
G69Line Item Detail (Description)
G6901Item DescriptionCRANBERRY PECAN GRANOLA 16 OZ
1 functional group1 transactionControl #000003001Valid

Interactive Example: Promotion Date Change (G42 Status 06)

Two weeks later the retailer asks to move the event back a week. The supplier sends a short 889 with status 06 (replace all dates) and the same promotion number. It restates the four dates and the parties, and leaves the allowances and items as announced.

Live exampleGrocery Chain (Trade Promotion)EDI 889

Grocery 889 Promotion Date Change

A follow-up 889 that moves an announced promotion's dates (G42 status 06, replace all dates) without restating the allowances or items

Document
889 Promotion Announcement
From / to
PINEHOLLOW → HARBORGROCER
Segments
14
Interchange date
Nov 6, 2026

Raw EDI (X12)

1
ISA*00* *00* *ZZ*PINEHOLLOW *ZZ*HARBORGROCER *261106*1130*U*00401*000003002*0*P*:~
2
GS*QG*PINEHOLLOW*HARBORGROCER*20261106*1130*3002*X*004010UCS~
3
ST*889*0002~
4
G42*06*PRM-26-0417~
5
G62*15*20261208~
6
G62*16*20270107~
7
G62*25*20261122~
8
G62*26*20261222~
9
NTE*GEN*EVENT MOVED ONE WEEK LATER AT RETAILER REQUEST~
10
N1*BY*HARBOR GROCERY*1*069854900~
11
N1*SU*PINE HOLLOW FOODS*1*081234567~
12
SE*10*0002~
13
GE*1*3002~
14
IEA*1*000003002~

Human-Readable

Interchange

Sender ID(ZZ)PINEHOLLOW
Receiver ID(ZZ)HARBORGROCER
Date261106
Time1130
Standards IDU
Version00401
Control Number000003002
Acknowledgment RequestedNo
UsageProduction
Included Groups (IEA01)1

Functional Group

Functional IDQGQG
SenderPINEHOLLOW
ReceiverHARBORGROCER
Date20261106
Time1130
Control Number3002
Agency CodeX
Version004010UCS
Transactions1
Reported Transaction Count (GE01)1

Transaction 889

Promotion Announcement
Transaction Type889
Control Number0002
Segments, ST to SE10
Count in SE0110 (matches)

Segment Detail

G42Promotion Announcement Identification
G4201Promotion Status (01 new, 02 change, 03 cancel, 04 replace, 05 confirm, 06 replace dates, 07 accept)06
G4202Allowance or Charge Number (Promotion ID)PRM-26-0417
G62Date/Time
G6201Date Qualifier15
G6202Date20261208
G62Date/Time
G6201Date Qualifier16
G6202Date20270107
G62Date/Time
G6201Date Qualifier25
G6202Date20261122
G62Date/Time
G6201Date Qualifier26
G6202Date20261222
NTENote/Special Instruction
NTE01Note TypeGEN
NTE02NoteEVENT MOVED ONE WEEK LATER AT RETAILER REQUEST
N1Party Identification
N101Entity CodeBY
N102NameHARBOR GROCERY
N103ID Qualifier1
N104ID Code069854900
N1Party Identification
N101Entity CodeSU
N102NamePINE HOLLOW FOODS
N103ID Qualifier1
N104ID Code081234567
1 functional group1 transactionControl #000003002Valid

889 Structure at a Glance

AreaSegmentNameUsageNotes
HeaderSTTransaction Set HeaderMandatoryST01 = 889
HeaderG42Promotion Announcement IdentificationMandatoryStatus and promotion number
HeaderN9Reference IdentificationOptionalExtra references
HeaderG61ContactOptional
HeaderG62Date/TimeMandatory, up to 50Promotion, order, ship and performance dates
HeaderNTENoteOptionalFree-text deal notes
HeaderG43Promotion/Price List AreaOptionalAreas the promotion covers
HeaderG23Terms of SaleOptional
Header loopN1, N2, N3, N4, G62Party name, address and datesMandatory loopBuyer, supplier, broker
Header loopG94 / G95Promotion Conditions and Performance RequirementsOptional loopHeader-level options
Detail loopLXAssigned NumberMandatory per loopStarts each promotion detail group
Detail loopG46Promotion Allowance/ChargeOptional, up to 20The money
Detail loopG51Free Goods/Product ConditionOptionalFree goods deals
Option loopG94Promotion ConditionsMandatory per optionOption number
Requirement loopG95, G62Performance Requirements and datesMandatory per requirementWhat the retailer must do
Item loopG45Line Item Detail, PromotionMandatory per itemPromoted item
Item loopG69, G43, G51, G23, G62, G22, QTYDescription, area, free goods, terms, dates, pricing, quantityOptional
TrailerSETransaction Set TrailerMandatorySegment count and control number

GS01 is QG. Retailer guides commonly name the version 004010UCS in GS08.

Key Segments Explained

G42: Promotion Announcement Identification

G42*01*PRM-26-0417~
ElementNameExampleWhat it means
G4201Promotion Status Code01What this 889 does to the promotion (table below)
G4202Allowance or Charge NumberPRM-26-0417Your promotion number. Every later change, invoice deduction and dispute refers to it
G4203Transaction Type CodeOptional, where the retailer's guide uses it
G4201StatusUse
01NewFirst announcement of a promotion
02ChangeChange to part of an announced promotion
03CancelWithdraw the promotion
04ReplaceFull replacement of a previous announcement
05ConfirmationConfirm a promotion
06Replace All DatesReplace the dates of a previous announcement with the dates in this one
07AcceptRetailer accepts the promotion and states which options it selected

Keep the promotion number stable across every status. A changed number turns a date change into a second promotion in the retailer's deal system.

G62: Promotion Dates

G62*15*20261201~
G62*16*20261231~
G62*25*20261115~
G62*26*20261215~

G6201 is the date qualifier and G6202 the date. The promotion qualifiers in the X12 code list come in start and end pairs:

QualifierMeaning
15 / 16Promotion start / end
23 / 24Promotion order date start / end
25 / 26Promotion ship date start / end
27 / 28Promotion requested delivery date start / end
29 / 30Promotion performance date start / end
31 / 32Promotion invoice protection start / end
33 / 34Promotion floor stock protection start / end

The header requires at least one G62. Which pairs a retailer requires, and which window it applies each allowance to, is defined in its guide. Get this wrong and an off-invoice allowance is missing from invoices for cases shipped in the right window.

N1: Parties

N1*BY*HARBOR GROCERY*1*069854900~
N1*SU*PINE HOLLOW FOODS*1*081234567~

The N1 loop is mandatory and names the buyer and supplier (and a broker, where one is involved), here by DUNS number. Each N1 loop can carry its own G62 dates.

LX and G46: Promotion Allowance/Charge

Each detail group starts with LX and lists its allowances in G46.

G46*101*02*1.50*CA*****1*OFF INVOICE CASE ALLOWANCE~
G46*90*01*0.75*CA*****2*AD AND DISPLAY PERFORMANCE~
ElementNameExampleWhat it means
G4601Allowance or Charge Code101What the allowance is for, from the X12 list
G4602Method of Handling02How it is paid. 02 off invoice, 01 bill back
G4603Allowance or Charge Rate1.50Amount per unit
G4604Unit of MeasureCAThe unit the rate applies to
G4605AmountA total amount instead of a rate (two implied decimals)
G4606 / G4607Percent qualifier and percentA percentage instead of a rate
G4608Exception NumberIdentifies an exception to an offered promotion
G4609Option Number1Ties this allowance to the matching G94 option
G4610DescriptionOFF INVOICE CASE ALLOWANCEFree text

A G46 carries a rate, an amount or a percent, never more than one. Some allowance codes that grocery deals use: 43 Display Allowance, 47 Price and Marketing Allowance, 65 New Item Allowance, 66 Slotting Allowance, 68 Scanner Allowance, 90 Performance Allowance, 97 Cents Off, 100 Advertising Allowance and 101 Voluntary Price Reduction. The sample uses 101 for the off-invoice case allowance and 90 for the performance bill-back. Retailers map these codes to their own deal types differently, so the code list in the retailer's guide decides which to send.

G94 and G95: Options and Performance Requirements

G94**1~
G95**06**10*CA~
G94**2~
G95**10~
G95*01*41~

G94 opens an option: G9402 is the option number that G4609 points to. G95 lists what the retailer must do for that option.

ElementNameExampleWhat it means
G9501Promotion Condition Qualifier01Links this requirement to the one before it. 01 = AND, 02 = OR
G9502Promotion Condition Code41The requirement (codes below)
G9503Assigned NumberSequence number
G9504 / G9505Quantity and unit10 / CAFor conditions with a quantity, such as a minimum order
G9506DescriptionFree text. Required when G9502 is 99
G9507NumberNumber of days in the promotion period

Read the sample as: option 1 requires a minimum order of 10 cases (06). Option 2 requires an advertisement (10) AND an end-aisle display (41). Common condition codes include 06 minimum order quantity, 10 advertisement (size not specified), 17 full-page advertisement, 33 circular advertisement, 40 display, 41 end-aisle display, 60 reduced price, 84 product scanning report required and 99 free-form text.

G45: Line Item Detail, Promotion

G45*008451200116*084512001168*PRM-26-0417**VN*PH-GRN-HNY16*12*16*OZ~
ElementNameExampleWhat it means
G4501U.P.C. Case Code008451200116The case the allowance applies to
G4502Consumer UPC084512001168The shelf unit's UPC
G4503Allowance or Charge NumberPRM-26-0417The promotion number
G4504Exception NumberAn exception to the offered promotion
G4505 / G4506Product ID qualifier and IDVN / PH-GRN-HNY16Your item number
G4507Pack12Units per case
G4508 / G4509Size and unit16 / OZConsumer unit size
G4510 / G4511Date qualifier and dateItem-specific date, such as the next promotion date
G4512Inner PackEaches per inner
G4513Allowance or Charge RateAn item-specific rate where it differs from the G46 rate

The case code and UPC must match what the retailer set up from your 888 or 832. An item the retailer cannot match is dropped from the deal, and the allowance you meant to fund on it never reaches the invoice.

Other 889 Segments

  • G43 names the promotion or price list areas the deal covers. How those areas are coded is set by the retailer's guide.
  • G51 describes free goods deals (buy a quantity, get product free) at the promotion or item level, but not both.
  • G22 gives the suggested promoted retail price and multiple.
  • NTE carries free-text deal notes. Put anything a system must act on in a coded segment, not in a note.

Where 889 Money Shows Up Later

An 889 is a promise. It turns into money on other documents, and each one has to agree with it:

  1. Order. The retailer orders in the window on an 875 or 850, often expecting the deal cost.
  2. Invoice. Off-invoice allowances appear as allowance lines on the 880 grocery invoice or 810, against the promotion number.
  3. DSD deliveries. For direct store delivery, deals are applied at the back door through G72 allowances on the 894 Delivery/Return Base Record. An allowance the store has no record of is removed at check-in.
  4. Bill-backs and scans. After the event, the retailer bills or deducts for performance and scan allowances, sometimes on an 812 credit/debit adjustment.
  5. Payment. The 820 remittance shows what was deducted against which promotion. Scan allowances are often reconciled against 852 product activity data.

If the dates, rates or items differ anywhere in that chain, the deduction lands on whichever side has the weaker record.

EDI 889 vs 888, 832 and 879

DocumentPurposeRelationship to the 889
889 Promotion AnnouncementAnnounce, change, cancel or accept a trade promotion
888 Item MaintenanceSet up and maintain grocery itemsThe items in G45 must already be set up
832 Price/Sales CatalogGeneral catalog with items and pricesSome retailers accept promotional pricing on the 832 instead
879 Price InformationList cost and price changesPermanent cost changes go here, not on the 889
894 Delivery/Return Base RecordDSD delivery recordApplies deal allowances at the store door

Common 889 Errors and How to Prevent Them

ErrorWhat happensPrevention
Wrong date qualifierAllowance applied to the wrong window, or missing from invoicesMap each window to its qualifier pair from the retailer's guide
Promotion number changes between versionsDuplicate deals, or a change applied to nothingKeep G4202 fixed for the life of the promotion
Rate and amount both sent in G46Syntax rejectionSend one of rate, amount or percent
Option numbers do not tie outAllowances not linked to their performance conditionsMake every G4609 match a G9402
Item not set up at the retailerItem dropped from the dealConfirm the 888 or 832 setup before announcing
Unit mismatchPer-case allowance applied per each, or the reverseSend the unit in G4604 that the retailer buys in
Cancel sent lateRetailer runs the event and bills back for itSend status 03 as soon as the deal is withdrawn, and confirm receipt with the buyer
Allowance code the retailer does not mapDeal held for manual reviewUse the code list in the retailer's guide

These problems usually surface as retail chargebacks and deductions after the event. The EDI inspector shows every G46, G94, G95 and G45 element by name, so you can check that options, rates and items tie out before the 889 goes out.

889 Implementation Checklist

  • Confirm the retailer takes deals on the 889, and not through a portal or a deal sheet
  • Get its guide: the date qualifiers it requires, allowance codes, handling methods and condition codes
  • Confirm whether it sends 889s back with status 07 to accept, and how you should process them
  • Use one promotion number per deal from your trade promotion system, and keep it for every change
  • Check each promoted item is set up at the retailer
  • Test a new promotion, a date change, a replacement and a cancellation
  • Reconcile invoices, deductions and remittances against the promotion number after each event

For the wider picture, see our grocery EDI requirements guide and the EDI document types reference.

Getting Promotional Orders Right With OrderSync

Promotions bring order spikes, and many of those orders do not arrive as clean EDI. Wholesalers email spreadsheets, independents send PDFs, and DSD accounts phone in extra cases for the display.

OrderSync reads orders in any format, including EDI 875s and 850s, emails, PDFs and spreadsheets, matches each line to your items and units, and outputs valid X12 or clean data to your ERP, so the promotional volume is entered once and correctly. Paste any 889 into the free EDI inspector to see it parsed with a plain-English summary, read about EDI for food distributors, or book a 15-minute walkthrough to see your own orders processed.

Frequently Asked Questions

What is an EDI 889?

The EDI 889 Promotion Announcement is an X12 transaction set used in grocery to announce trade promotions. It carries the promotion number and status, the order, ship and promotion dates, the allowances and how they are paid, the performance conditions, and the promoted items.

Who sends the EDI 889?

Usually a manufacturer or its broker sends it to a grocery retailer or wholesaler. X12 defines it as multidirectional, so the retailer can also send an 889 back with status 07 to accept a promotion and say which options it selected.

What is the difference between off-invoice and bill-back in an 889?

The method of handling in G4602 sets it. Off invoice (02) means the allowance is deducted from the invoice for cases bought in the window. Bill back (01) means the retailer pays full cost and bills the supplier afterwards, usually after proving the required performance.

What does the G42 segment contain?

G42 identifies the promotion. G4201 is the status code (01 new, 02 change, 03 cancel, 04 replace, 05 confirmation, 06 replace all dates, 07 accept) and G4202 is the promotion number that every later change, invoice and deduction refers to.

How do you change promotion dates on an EDI 889?

Send a new 889 with the same promotion number in G4202 and status 06 (replace all dates), carrying the new G62 dates. The allowances and items from the original announcement stay in place. For broader changes, use status 02 or 04 as the retailer's guide directs.

What are G94 and G95 in an EDI 889?

G94 opens a promotion option and gives its option number, which allowances reference in G4609. G95 lists the performance requirements for that option, such as a minimum order, an advertisement or an end-aisle display, linked with AND (01) or OR (02).

How does the 889 relate to the 888 and 894?

The 888 sets up the items, the 889 announces deals on those items, and for direct store delivery the 894 applies the deal allowances at the store door. The case codes and UPCs must match across all three.

James Darby
Last updated: 11/3/2026

Related Resources