{"id":683,"date":"2025-06-30T04:06:22","date_gmt":"2025-06-30T04:06:22","guid":{"rendered":"https:\/\/office.iium.edu.my\/ocd\/epmc\/?page_id=683"},"modified":"2025-06-30T04:06:23","modified_gmt":"2025-06-30T04:06:23","slug":"sw-generator","status":"publish","type":"page","link":"https:\/\/office.iium.edu.my\/ocd\/epmc\/index.php\/sw-generator\/","title":{"rendered":"SW Generator"},"content":{"rendered":"\n<style>\n    \/*\n     * Custom styles for the Scheduled Waste Code Suggester app\n     * tailored for embedding within a WordPress Hestia theme.\n     * These styles are self-contained within this HTML snippet.\n     *\/\n\n    \/*\n     * The main container for the application.\n     * `margin: 40px auto;` centers the container horizontally and provides vertical spacing.\n     *\/\n    .hestia-sw-suggester-container {\n        font-family: 'Inter', sans-serif; \/* Maintain Inter font for this component *\/\n        background-color: #ffffff; \/* White background consistent with Hestia's clean look *\/\n        border-radius: 1rem; \/* Rounded corners for a modern feel *\/\n        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15); \/* Soft, professional shadow *\/\n        padding: 2.5rem; \/* Generous internal padding *\/\n        max-width: 700px; \/* Wider to accommodate more content *\/\n        width: 100%; \/* Ensure it takes full width on smaller screens *\/\n        margin: 40px auto; \/* Center horizontally and provide vertical margin *\/\n        display: flex;\n        flex-direction: column;\n        gap: 1.5rem; \/* Spacing between elements *\/\n        border: 1px solid #e2e8f0; \/* Subtle light border *\/\n    }\n\n    \/* Styling for labels in input groups *\/\n    .hestia-sw-suggester-container .input-group label {\n        font-weight: 600;\n        color: #2d3748; \/* Darker gray for better contrast *\/\n        margin-bottom: 0.5rem;\n        display: block;\n    }\n\n    \/* Styling for select and textarea input fields *\/\n    .hestia-sw-suggester-container .input-group select,\n    .hestia-sw-suggester-container .input-group textarea {\n        width: 100%;\n        padding: 0.75rem 1rem;\n        border: 1px solid #a0aec0; \/* Medium gray border *\/\n        border-radius: 0.5rem;\n        background-color: #edf2f7; \/* Very light gray background for inputs *\/\n        transition: border-color 0.2s, box-shadow 0.2s; \/* Smooth transitions for focus *\/\n    }\n\n    \/* Focus styles for select and textarea *\/\n    .hestia-sw-suggester-container .input-group select:focus,\n    .hestia-sw-suggester-container .input-group textarea:focus {\n        outline: none; \/* Remove default outline *\/\n        border-color: #3182ce; \/* Blue focus color *\/\n        box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.3); \/* Blue focus ring *\/\n    }\n\n    \/* Specific styling for textarea to allow vertical resizing *\/\n    .hestia-sw-suggester-container textarea {\n        resize: vertical;\n        min-height: 100px;\n    }\n\n    \/* Styling for the button *\/\n    .hestia-sw-suggester-container button {\n        background-color: #1e40af; \/* Deeper blue (Tailwind blue-800) *\/\n        color: white;\n        padding: 0.9rem 1.8rem;\n        border-radius: 0.75rem;\n        font-weight: 600;\n        cursor: pointer;\n        transition: background-color 0.2s, transform 0.1s, box-shadow 0.2s; \/* All-in-one transition *\/\n        box-shadow: 0 6px 15px rgba(30, 64, 175, 0.3); \/* Soft shadow *\/\n        letter-spacing: 0.025em; \/* Slight letter spacing for professionalism *\/\n    }\n\n    \/* Hover effect for the button *\/\n    .hestia-sw-suggester-container button:hover {\n        background-color: #1a365d; \/* Even deeper blue on hover *\/\n        transform: translateY(-2px); \/* Lift effect *\/\n        box-shadow: 0 8px 20px rgba(30, 64, 175, 0.4); \/* More pronounced shadow on hover *\/\n    }\n\n    \/* Active (click) effect for the button *\/\n    .hestia-sw-suggester-container button:active {\n        transform: translateY(0); \/* Press down effect *\/\n        box-shadow: 0 4px 10px rgba(30, 64, 175, 0.3); \/* Reset shadow *\/\n    }\n\n    \/* Styling for the result box *\/\n    .hestia-sw-suggester-container .result-box {\n        background-color: #e6f0ff; \/* Lighter blue background (Tailwind blue-50) *\/\n        border: 1px solid #90cdf4; \/* Blue-200 border *\/\n        border-radius: 0.75rem;\n        padding: 1.5rem;\n        margin-top: 1.5rem;\n        color: #2a4365; \/* Dark blue text for readability *\/\n        box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.04); \/* Subtle inner shadow *\/\n    }\n\n    \/* Styling for the heading within the result box *\/\n    .hestia-sw-suggester-container .result-box h3 {\n        font-size: 1.35rem; \/* Slightly larger heading *\/\n        font-weight: 700;\n        color: #1a365d; \/* Darker blue for heading *\/\n        margin-bottom: 0.75rem;\n    }\n\n    \/* Styling for paragraphs within the result box *\/\n    .hestia-sw-suggester-container .result-box p {\n        margin-bottom: 0.5rem;\n        line-height: 1.7; \/* Increased line height for better readability *\/\n    }\n\n    \/* Styling for strong\/bold text within the result box *\/\n    .hestia-sw-suggester-container .result-box strong {\n        color: #2b6cb0; \/* Stronger blue for emphasis *\/\n    }\n\n    .hestia-sw-suggester-container .suggestion-item {\n        margin-bottom: 1rem;\n        padding-bottom: 1rem;\n        border-bottom: 1px dashed #bfdbfe; \/* Light dashed border between suggestions *\/\n    }\n\n    .hestia-sw-suggester-container .suggestion-item:last-child {\n        border-bottom: none; \/* No border for the last item *\/\n        margin-bottom: 0;\n        padding-bottom: 0;\n    }\n\n<\/style>\n\n<!-- Tailwind CSS CDN and Font Link are included here for self-containment. -->\n<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\">\n\n<div class=\"hestia-sw-suggester-container\">\n    <h2 class=\"text-3xl font-bold text-center text-gray-800 mb-6\">Scheduled Waste Code Suggester<\/h2>\n\n    <div class=\"input-group\">\n        <label for=\"swCategory\">Select SW Category:<\/label>\n        <select id=\"swCategory\">\n            <option value=\"\">&#8212; Select SW Category &#8212;<\/option>\n            <option value=\"SW1\">SW 1 \u2013 Metal and Metal-Bearing Wastes<\/option>\n            <option value=\"SW2\">SW 2 \u2013 Wastes Containing Principally Inorganic Constituents<\/option>\n            <option value=\"SW3\">SW 3xx \u2013 Organic Wastes<\/option>\n            <option value=\"SW4\">SW 4xx \u2013 Organic\/Inorganic Mixed Wastes<\/option>\n            <option value=\"SW5\">SW 5xx \u2013 Other Wastes<\/option>\n        <\/select>\n    <\/div>\n\n    <div class=\"input-group\">\n        <label for=\"wasteCharacteristics\">Enter Key Characteristics of the Waste (e.g., organic or inorganic, physical properties, chemical properties, expiry or not):<\/label>\n        <textarea id=\"wasteCharacteristics\" placeholder=\"(organic or inorganic, physical properties, chemical properties, expiry or not)\"><\/textarea>\n    <\/div>\n\n    <button onclick=\"suggestSWCode()\">Suggest SW Code<\/button>\n\n    <div id=\"swResult\" class=\"result-box hidden\">\n        <h3 class=\"text-xl font-semibold\">Suggested Scheduled Waste Code(s):<\/h3>\n        <div id=\"suggestedSWCodesList\">\n            <!-- Suggestions will be inserted here by JavaScript -->\n        <\/div>\n        <p class=\"text-sm text-gray-600 mt-4\">Note: This is a suggestion. Always refer to the official regulations for final classification.<\/p>\n    <\/div>\n<\/div>\n\n<script>\n    \/*\n     * JavaScript data for Scheduled Waste (SW) codes and their associated keywords.\n     * This data is derived from the \"Keywords for Scheduled Wastes According to EQA1974.csv\" file.\n     * Each entry includes the SW code, a description, its broad category, and a list of keywords\n     * (all lowercased for case-insensitive matching).\n     *\/\n    const scheduledWasteData = [\n        \/\/ SW 1 - Metal and Metal-Bearing Wastes\n        { swCode: 'SW101', description: 'Arsenic and Its Compounds', category: 'SW1', keywords: ['arsenic', 'arsenate', 'arsenic pentoxide', 'arsenic sludge', 'arsenic solutions', 'arsenic sulfides', 'arsenic trioxide', 'arsenic waste', 'arsenic-contaminated materials', 'arsenic-contaminated soil', 'arsenite', 'calcium arsenate', 'gallium arsenide', 'cca-treated wood ash', 'cca-treated wood sludge', 'glass manufacturing additives', 'lead arsenate', 'metalloid waste', 'orpiment', 'pesticide waste containing arsenic', 'pigment residues (arsenic-based)', 'realgar', 'semiconductor manufacturing waste', 'wood preservatives containing arsenic'] },\n        { swCode: 'SW102', description: 'Cadmium and Lead-Acid Battery Wastes', category: 'SW1', keywords: ['cadmium', 'cadmium compounds', 'cadmium pigments', 'cadmium plating sludge', 'cadmium plating solution', 'cadmium stabilizers (plastics)', 'cadmium waste', 'contaminated soil with cadmium', 'drained batteries', 'electronic waste with cadmium components', 'electroplating wastewater treatment sludge (cadmium)', 'fluorescent lamp powder (cadmium)', 'lead-acid batteries', 'solder containing cadmium', 'spent batteries', 'sulfuric acid batteries', 'ups batteries', 'automotive batteries', 'battery casings', 'battery electrolyte', 'battery plates', 'battery recycling waste', 'battery recycling scraps', 'cadmium batteries (ni-cd)'] },\n        { swCode: 'SW103', description: 'Wastes of Batteries Containing Cadmium, Nickel, Mercury, or Lithium, and Chromium Compounds', category: 'SW1', keywords: ['chromium', 'chromium compounds', 'chromium-based catalysts', 'chromates', 'chrome pigments', 'chromic acid', 'chromium plating sludge', 'chromium plating solution', 'chromium waste', 'contaminated soil with chromium', 'cooling tower blowdown (chromium-treated)', 'dichromates', 'hexavalent chromium (cr vi)', 'leather tanning waste (chromium salts)', 'trivalent chromium (cr iii)', 'wood preservatives (chromium)', 'battery recycling waste', 'button batteries', 'button cells', 'cadmium batteries', 'li-ion batteries', 'lithium batteries', 'mercury batteries', 'nicd batteries', 'nickel-cadmium (ni-cd) batteries', 'nickel batteries', 'pigments', 'rechargeable batteries', 'refractory materials containing chromium', 'spent batteries'] },\n        { swCode: 'SW104', description: 'Heavy Metals in Dross, Ash, Dust, and Slag', category: 'SW1', keywords: ['dross', 'ash', 'dust', 'slag', 'aluminium', 'lead', 'antimony', 'arsenic', 'beryllium', 'cadmium', 'chromium', 'copper', 'mercury', 'nickel', 'selenium', 'tellurium', 'thallium', 'vanadium', 'alloy slag', 'ammunition waste (lead)', 'battery manufacturing residue', 'cable sheathing (lead)', 'contaminated soil with lead', 'crt glass', 'electronic waste with lead components', 'foundry dust', 'furnace ash', 'heavy metal ash', 'incineration residue', 'lead ash', 'lead compounds', 'lead dross', 'lead paint waste', 'lead pipes', 'lead slag', 'lead waste', 'leaded glass', 'metal ashes', 'metal dross', 'metal dust', 'metal slags', 'metallurgical waste', 'non-ferrous slag', 'printing industry waste (lead type)', 'smelter ash', 'smelter dust', 'solder containing lead', 'tetraethyl lead sludge'] },\n        { swCode: 'SW105', description: 'Mercury and Its Compounds in Sludges', category: 'SW1', keywords: ['mercury', 'mercury compounds', 'sludge', 'galvanic sludges', 'anodizing sludge', 'barometers (mercury)', 'chlor-alkali plant waste (mercury cells)', 'contaminated soil with mercury', 'dental amalgam waste', 'electroforming sludge', 'electroplating sludge', 'elemental mercury', 'fluorescent lamps (mercury vapor)', 'galvanic cell waste', 'galvanizing sludge', 'gold mining waste (mercury amalgamation)', 'laboratory chemicals (mercury salts)', 'mercury chloride', 'mercury sulfide', 'manometers', 'mercury oxide batteries', 'mercury switches', 'mercury waste', 'metal finishing sludge', 'plating bath residue', 'plating bath sludge', 'sludge from mercury recovery', 'spent plating solution', 'mercury thermometers'] },\n        { swCode: 'SW106', description: 'Nickel and Residues from Acid Pickling', category: 'SW1', keywords: ['nickel', 'nickel compounds', 'acid pickling liquor', 'pickling residue', 'residues from the recovery of acid pickling liquor', 'acid bath residue', 'acid cleaning residue', 'acid rinse waste', 'acid wash sludge', 'coin manufacturing waste', 'contaminated soil with nickel', 'electroplating wastewater treatment sludge (nickel)', 'magnetic media waste', 'contaminated nickel alloy scrap', 'nickel plating sludge', 'nickel plating solution', 'nickel waste', 'nickel-cadmium (ni-cd) batteries', 'nickel-metal hydride (ni-mh) batteries', 'pickle liquor', 'pickling bath waste', 'pickling sludge', 'spent nickel catalysts', 'stainless steel dust (high in nickel)', 'stainless steel grindings (high in nickel)', 'steel pickling waste', 'spent pickling solution'] },\n        { swCode: 'SW107', description: 'Slags from Copper Processing and Selenium Wastes', category: 'SW1', keywords: ['slags from copper processing', 'selenium', 'selenium compounds', 'arsenic slag', 'cadmium selenide', 'cadmium slag', 'contaminated soil with selenium', 'copper processing waste', 'copper refinery residue', 'copper refining residue', 'copper slag', 'copper smelter slag', 'glass manufacturing decolorizer (selenium)', 'lead slag', 'photocopier drums (selenium-based)', 'photocopier cartridges (selenium-based)', 'pigment production (selenium sulfide)', 'refining slag', 'rubber vulcanizing agents (selenium)', 'selenates', 'selenides', 'selenites', 'selenium waste', 'semiconductor manufacturing waste', 'smelting waste', 'photographic chemicals (selenium)'] },\n        { swCode: 'SW108', description: 'Leaching Residues from Zinc Processing and Tellurium Wastes', category: 'SW1', keywords: ['leaching residues from zinc processing', 'tellurium', 'tellurium compounds', 'zinc leaching', 'zinc residue', 'blasting caps', 'cadmium telluride (solar cells)', 'catalyst preparation (tellurium compounds)', 'contaminated soil with tellurium', 'electro-winning residue', 'metallurgical alloys (tellurium addition)', 'rubber vulcanizing agents (tellurium)', 'semiconductor manufacturing waste', 'tellurides', 'tellurium waste', 'thermoelectric devices', 'zinc dust', 'zinc extraction waste', 'zinc leach residue', 'zinc leachate', 'zinc process sludge', 'zinc processing waste', 'zinc refinery sludge', 'zinc sludge'] },\n        { swCode: 'SW109', description: 'Mercury and Thallium Wastes', category: 'SW1', keywords: ['mercury', 'mercury compounds', 'thallium', 'thallium compounds', 'amalgam', 'amalgam waste', 'catalysts in organic synthesis (thallium)', 'contaminated soil with thallium', 'elemental mercury', 'fluorescent bulb waste', 'low-temperature thermometers', 'medical imaging agent residues', 'mercury sludge', 'mercury solution', 'mercury spill', 'mercury cleanup materials', 'mercury-contaminated debris', 'optical lenses', 'rodenticides (thallium-based)', 'semiconductor doping agents', 'specialized electronics', 'thallium salts', 'thallium sulfate', 'thallium waste', 'thermometers (thallium)'] },\n        { swCode: 'SW110', description: 'Metal-Bearing Wastes from Electrical and Electronic Assemblies', category: 'SW1', keywords: ['metal-bearing wastes', 'electrical assemblies', 'electronic assemblies', 'accumulators', 'capacitors', 'cadmium contaminated', 'chromium contaminated', 'copper contaminated', 'lead contaminated', 'lithium contaminated', 'manganese contaminated', 'mercury contaminated', 'nickel contaminated', 'polychlorinated biphenyl (pcb) contaminated', 'activated glass', 'pcb capacitors', 'smelting waste', 'melting waste', 'refining waste', 'anode slimes', 'ash', 'baghouse dust', 'battery waste', 'broken electronics', 'capacitor waste', 'casting sand (metal contaminated)', 'circuit board waste', 'contaminated electronics', 'crt glass', 'crt screens', 'dross', 'dust', 'e-waste', 'electrolytic refining sludges', 'electronic components', 'electronic parts', 'electronic scrap', 'electrostatic precipitator (esp) dust', 'filter cakes from metal purification', 'fines', 'flue gas treatment residue', 'furnace refractory lining (metal contaminated)', 'heavy metal electronics', 'leaching residues', 'mercury switches', 'metal powder waste', 'pcb boards', 'pcb waste', 'skimmings', 'slag', 'spent foundry sand', 'swarf', 'turnings (contaminated or fine)'] },\n\n        \/\/ SW 2 - Wastes Containing Principally Inorganic Constituents\n        { swCode: 'SW201', description: 'Asbestos Wastes', category: 'SW2', keywords: ['asbestos', 'asbestos sludge', 'asbestos dust', 'asbestos fibers', 'amosite', 'asbestos brake linings', 'asbestos pads', 'asbestos cement', 'broken asbestos cement sheets', 'crushed asbestos cement sheets', 'asbestos clutch facings', 'asbestos gaskets', 'asbestos insulation', 'asbestos roofing', 'asbestos sheets', 'asbestos tiles (broken)', 'asbestos-containing material', 'chrysotile', 'crocidolite', 'demolition waste containing asbestos', 'fireproofing material (asbestos)', 'friable asbestos', 'insulation board (asbestos)', 'lagging material (asbestos)', 'non-friable asbestos (if generating dust\/fibers)', 'personal protective equipment (ppe) contaminated with asbestos fibers', 'roof sheets (asbestos)'] },\n        { swCode: 'SW202', description: 'Spent Catalysts (Non-Metal Bearing)', category: 'SW2', keywords: ['spent catalysts', 'non-metal bearing catalysts', 'activated carbon (not sw411)', 'activated earth catalysts', 'bleaching earth (not oily sw313)', 'alumina catalysts', 'catalyst fines from regeneration', 'catalyst support materials', 'ceramic beads (catalyst support)', 'catalytic converter waste (non-metal)', 'chemical catalysts (non-metal)', 'clay-based catalysts', 'desulfurization catalysts (non-metallic)', 'fine catalyst powders', 'hydrocracking catalysts (non-metal)', 'metal oxide catalysts (if inorganic non-metal primary)', 'polymerization catalysts (non-metallic)', 'refinery catalysts (non-metal)', 'reforming catalysts (non-metallic)', 'silica-alumina catalysts', 'used catalysts (non-metal)', 'vanadium catalysts', 'zeolite', 'zeolite catalysts'] },\n        { swCode: 'SW203', description: 'Immobilized Scheduled Wastes', category: 'SW2', keywords: ['immobilized scheduled wastes', 'chemically fixed sludge', 'chemically fixed waste', 'immobilized sludge', 'immobilized waste', 'solidified sludge', 'solidified waste', 'stabilized sludge', 'stabilized waste', 'cement-stabilized hazardous waste', 'cemented waste', 'chemical fixation residue', 'chemically fixed waste', 'concrete with immobilized hazardous materials', 'encapsulated waste', 'fixed sludge', 'immobilized hazardous waste', 'immobilized residue', 'polymerized waste', 'pozzolanic-stabilized waste', 'residue from waste immobilization processes', 'treated filter cakes', 'vitrified waste (not solely incineration)', 'waste treated by solidification\/stabilization (s\/s) processes'] },\n        { swCode: 'SW204', description: 'Sludges Containing One or Several Metals', category: 'SW2', keywords: ['sludges containing metals', 'chromium sludge', 'sludges from printed circuit board', 'sludges from wastewater treatment plants', 'aluminum sludge', 'beryllium sludge', 'cadmium sludge', 'copper sludge', 'lead sludge', 'nickel sludge', 'tin sludge', 'vanadium sludge', 'zinc sludge', 'api separator sludge (metal-rich)', 'chemical precipitation sludge (metals)', 'contaminated sludge (metals)', 'daf float (metal-rich)', 'electroplating sludge (general)', 'electroplating waste (sludge)', 'heavy metal sludge', 'industrial sludge (metals)', 'industrial wwtp sludge (metals)', 'ion exchange regeneration effluent sludge (metals)', 'metal finishing sludge', 'metal hydroxide sludge', 'metal sludge', 'neutralization sludge with metals', 'plating sludge', 'printed circuit board (pcb) manufacturing sludge', 'etching sludge', 'plating sludge', 'wastewater treatment plant (wwtp) sludge containing heavy metals'] },\n        { swCode: 'SW205', description: 'Waste Gypsum and Spent Inorganic Acids', category: 'SW2', keywords: ['waste gypsum', 'spent inorganic acids', 'chemical industry gypsum', 'power plant gypsum', 'inorganic acid catalysts', 'acid etching solutions', 'acidic cleaning agents (inorganic)', 'anodizing acid solution', 'spent lead-acid battery acid', 'calcium sulfate (gypsum)', 'spent chromic acid (also sw103)', 'descaling acids', 'desulfurization residue (gypsum)', 'fgd gypsum', 'gypsum board waste', 'gypsum waste', 'spent hydrochloric acid', 'spent hydrofluoric acid', 'inorganic laboratory acid waste', 'spent nitric acid', 'phosphogypsum', 'spent phosphoric acid', 'acidic pickling liquor', 'plasterboard waste', 'spent sulfuric acid', 'synthetic gypsum'] },\n        { swCode: 'SW206', description: 'Spent Inorganic Acids and Fluoride Sludges', category: 'SW2', keywords: ['spent inorganic acids', 'acid solutions', 'fluoride sludges', 'acid etching waste', 'acid tank cleaning', 'aluminum etching waste (fluoride)', 'calcium fluoride sludge', 'chemical pickling waste', 'drinking water treatment sludge (fluoride removal)', 'fluoride sludge', 'glass etching waste (hydrofluoric acid residue)', 'hydrochloric acid', 'hydrochloric acid waste', 'inorganic acid solution', 'nitric acid', 'nitric acid waste', 'phosphoric acid waste', 'semiconductor manufacturing wet etching residue (fluoride)', 'spent acid', 'spent acid bath', 'steel pickling liquor sludge (if fluoride present)', 'sulfuric acid waste', 'waste acid tank', 'wastewater treatment sludge (fluoride removal)'] },\n        { swCode: 'SW207', description: 'Spent Caustic Solutions and Fluoride Sludges', category: 'SW2', keywords: ['spent caustic solutions', 'fluoride sludges', 'spent alkaline cleaning solutions', 'aluminum fluoride', 'aluminum fluoride sludge', 'spent bottle washing caustic', 'alkaline circuit board stripping solution', 'spent alkaline degreasing solutions', 'fluoride-containing sludge', 'fluorine compound sludge', 'fluorosilicate sludge', 'fluorosilicic sludge', 'hf-containing waste', 'alkaline ion exchange regeneration effluent', 'mercaptan removal spent caustic (refinery)', 'alkaline paint stripping solution', 'caustic ph adjustment waste', 'spent potassium hydroxide solution', 'spent sodium hydroxide solution', 'spent etching sludge'] },\n\n        \/\/ SW 3xx - Organic Wastes\n        { swCode: 'SW301', description: 'Organic Acids and Acidic Organic Wastes', category: 'SW3', keywords: ['organic acid solutions', 'acidic organic wastes', 'ph of 2 or less', 'acetic acid', 'acidic effluents', 'acidic solvents', 'acidified waste', 'butyric acid', 'citric acid', 'corrosive acids', 'corrosive liquids', 'formic acid', 'lactic acid', 'oxalic acid', 'propionic acid', 'spent acid (organic)', 'acid catalyst residue', 'acidic cleaning agents (organic)', 'benzoic acid', 'chloroacetic acid', 'corrosive acidic waste', 'dichloroacetic acid', 'organic pickling acids', 'salicylic acid', 'trichloroacetic acid', 'valeric acid'] },\n        { swCode: 'SW302', description: 'Soldering Fluxes and Associated Wastes', category: 'SW3', keywords: ['soldering fluxes', 'inorganic acid flux', 'organic acid flux', 'rosin flux', 'brazing flux', 'flux cleaner', 'flux paste', 'flux remover', 'flux residue', 'flux solution', 'solvent mixture (flux related)', 'zinc chloride (flux)', 'acidic flux', 'alkaline flux', 'ammonium chloride (flux)', 'dross with flux', 'halide-containing flux', 'soldering waste', 'solvent-based flux', 'water-based flux', 'welding flux', 'zinc chloride flux'] },\n        { swCode: 'SW303', description: 'Adhesive Wastes', category: 'SW3', keywords: ['adhesive wastes', 'acrylic adhesive', 'adhesive', 'contact cement', 'cyanoacrylate', 'epoxy glue', 'glue', 'glue residue', 'glue stick', 'hot melt glue', 'organic solvent (adhesive)', 'polyurethane adhesive', 'pressure-sensitive adhesive', 'resin glue', 'solvent adhesive', 'structural adhesive', 'white glue', 'adhesive remover', 'contact adhesive', 'cured adhesive with solvent', 'debonding agents', 'hot melt adhesive', 'melamine-formaldehyde resin (adhesive)', 'phenolic adhesive', 'rubber cement (adhesive)', 'silicone adhesive', 'solvent-based adhesive', 'uncured adhesive', 'urea-formaldehyde resin (adhesive)', 'water-based adhesive'] },\n        { swCode: 'SW304', description: 'Soap and Glycerol Production Wastes', category: 'SW3', keywords: ['soap production wastes', 'glycerol production wastes', 'biodiesel byproduct', 'crude glycerol', 'fatty acid residue', 'glycerin cake', 'glycerol', 'glycerol water', 'neutralization sludge (soap\/glycerol)', 'saponification waste', 'soap lye', 'soap plant waste', 'soap scum', 'soap sludge', 'soapstock', 'spent lye', 'alkali wash water from soap production', 'esterification residues', 'free fatty acids', 'methanol contaminated glycerol', 'ethanol contaminated glycerol', 'transesterification residues'] },\n        { swCode: 'SW305', description: 'Spent Lubricating Oils', category: 'SW3', keywords: ['spent lubricating oils', 'black oil', 'compressor oil', 'crankcase oil', 'engine oil', 'gear oil', 'heat treatment oil', 'mineral-based lubricating oil', 'motor oil', 'non-emulsified cutting oil', 'quenching oil (mineral-based)', 'semi-synthetic lubricating oil', 'synthetic lubricating oil', 'transmission fluid (non-hydraulic)', 'turbine oil', 'used lubricant', 'used oil', 'used oil filter bearing oil'] },\n        { swCode: 'SW306', description: 'Used Hydraulic Oils', category: 'SW3', keywords: ['used hydraulic oils', 'anti-wear hydraulic oil', 'biodegradable hydraulic oil', 'fire-resistant hydraulic fluid', 'phosphate ester (hydraulic fluid)', 'hydraulic fluid', 'hydraulic oil filter', 'hydraulic oil spill', 'hydraulic system oil', 'hydraulic system flushing oil', 'machine oil (hydraulic)', 'mineral-based hydraulic oil', 'polyalphaolefin (hydraulic)', 'synthetic hydraulic oil (ester-based)', 'water-glycol hydraulic oil'] },\n        { swCode: 'SW307', description: 'Emulsified Oils and Metalworking Fluids', category: 'SW3', keywords: ['emulsified oils', 'metalworking fluids', 'coolant fluid', 'cutting oil', 'emulsified oil', 'emulsion', 'grinding fluid', 'machining coolant', 'oil coolant', 'oil mist collector waste', 'oil-water emulsion', 'oil-water mixture', 'soluble oil', 'used coolant', 'oil-based coolant fluid', 'cutting oil emulsion', 'drawing compound emulsion', 'grinding coolant', 'oil skimmings with water', 'oily wastewater emulsion', 'rolling emulsion', 'semi-synthetic cutting fluid', 'synthetic cutting fluid (emulsified)'] },\n        { swCode: 'SW308', description: 'Oily Sludge from Marine Vessels and Tanks', category: 'SW3', keywords: ['oily sludge from marine vessels', 'oily sludge from tanks', 'cargo tank residue', 'marine fuel sludge', 'marine sludge', 'oil tanker sludge', 'oily water separator sludge (marine)', 'ship bilge', 'ship engine room sludge', 'tank washings (marine)', 'tanker cleaning waste (marine)', 'oily ballast water sludge', 'cargo tank washings (oil)', 'crude oil tanker sludge', 'ship fuel oil sludge', 'marpol annex i waste', 'petroleum product tanker sludge', 'oily ship bilge'] },\n        { swCode: 'SW309', description: 'Oil-Contaminated Waters', category: 'SW3', keywords: ['oil-contaminated water', 'ballast water', 'bilge water', 'engine room bilge', 'marine wastewater (oily)', 'oil-water separator effluent', 'oily bilge', 'ship wastewater (oily)', 'shipboard wastewater (oily)', 'cargo hold wash water (if oily)', 'machinery space bilge water', 'oily ballast water', 'segregated ballast (if contaminated)', 'unsegregated ballast'] },\n        { swCode: 'SW310', description: 'Petroleum Tank Sludge', category: 'SW3', keywords: ['petroleum tank sludge', 'mineral oil tank cleaning waste', 'oil tank cleaning waste', 'residue from oil storage', 'storage tank sediment', 'tank bottom residue', 'tank bottom sludge', 'tank cleaning waste', 'tank heel', 'tank scale', 'diesel tank sludge', 'fuel oil tank sludge', 'kerosene tank sludge', 'petrol tank sludge', 'petroleum coke fines in sludge', 'residue from oil storage tank maintenance', 'storage tank sediment (mineral oil)'] },\n        { swCode: 'SW311', description: 'Oily Sludges from Separators and Sumps', category: 'SW3', keywords: ['oily sludges from separators', 'oily sludges from sumps', 'oil separator sludge', 'oil skimming waste', 'oil sludge', 'oil trap sludge', 'oil-contaminated sludge', 'oily sludge', 'spent oil (sludge)', 'used oil residue (sludge)', 'waste oil (general)', 'waste oil cake', 'api separator sludge (general)', 'fuel oil sludge (general)', 'lubricating oil sludge', 'oil purification sludge', 'oily residue from separators', 'oily soil (unspecified source)', 'oily sand (unspecified source)', 'waste oil from sumps', 'waste oil from interceptors'] },\n        { swCode: 'SW312', description: 'Automotive and Workshop Oily Wastes', category: 'SW3', keywords: ['automotive oil', 'car wash sludge', 'garage oil waste', 'grease trap waste', 'maintenance pit sludge', 'oil trap sludge', 'pit sludge', 'service bay waste', 'workshop oil', 'bearing grease', 'oily car wash sludge', 'chassis grease', 'garage interceptor sludge', 'graphite grease', 'automotive grease trap waste', 'industrial grease trap waste', 'lubricating grease', 'molybdenum grease', 'oil filter sludge', 'automotive pit sludge'] },\n        { swCode: 'SW313', description: 'Oil-Contaminated Soil and Re-refining Wastes', category: 'SW3', keywords: ['oil-contaminated soil', 're-refining wastes', 'contaminated sand', 'contaminated soil (hydrocarbon)', 'hydrocarbon-contaminated soil', 'oil leak soil', 'oil spill absorbent waste', 'oil spill cleanup', 'oil-contaminated soil', 'oily soil', 'remediation soil', 'used oil spill cleanup materials', 'acid tar from re-refining (if not sw316)', 'filter cake from oil re-refining', 'oil-contaminated sand', 're-refining clay', 're-refining distillation bottoms', 'soil contaminated with lubricating oil', 'soil contaminated with hydraulic oil', 'soil contaminated with engine oil', 'spent bleaching earth (oil refining)'] },\n        { swCode: 'SW314', description: 'Petroleum Refinery Sludge', category: 'SW3', keywords: ['petroleum refinery sludge', 'desalter sludge', 'maintenance sludge (refinery)', 'process tank sludge (refinery)', 'refinery bottom residue', 'refinery tank sludge', 'shutdown waste (refinery)', 'tank farm sludge', 'alkylation sludge (if not highly acidic)', 'api separator sludge (refinery)', 'coker sludge', 'oily cooling tower sludge', 'daf sludge (refinery)', 'heat exchanger bundle cleaning sludge (refinery)', 'intermediate refinery tank sludge', 'product refinery tank sludge', 'slop oil emulsion solids'] },\n        { swCode: 'SW315', description: 'Tar and Bitumen Wastes', category: 'SW3', keywords: ['tar wastes', 'bitumen wastes', 'asphalt residue', 'bitumen waste', 'coal tar', 'creosote tar', 'distillation tar', 'petroleum coke', 'pitch (tar\/bitumen)', 'roofing tar', 'tar', 'tar pit', 'tar sludge', 'tarry residue', 'tarry waste', 'asphalt waste', 'coal tar pitch', 'creosote-contaminated tar (not primarily wood preservative)', 'tar decanter sludge', 'tar paint residue', 'tar pit waste'] },\n        { swCode: 'SW316', description: 'Acidic Tar and Sludge Acid from Refining', category: 'SW3', keywords: ['acidic tar', 'sludge acid from refining', 'acid oil', 'acid sludge', 'acid tar', 'refinery acid sludge', 'sludge acid', 'spent sulfuric sludge', 'sulfuric acid sludge', 'waste acid (refining)', 'acid treatment sludge', 'alkylation sludge (sulfuric acid based)', 'highly acidic organic sludge', 'oil re-refining acid sludge', 'spent sulfuric acid sludge (oil refining)', 'spent sulfuric acid sludge (chemical production)'] },\n        { swCode: 'SW317', description: 'Organometallic Compounds and Additives', category: 'SW3', keywords: ['organometallic compounds', 'organometallic additives', 'antiknock compounds', 'lead compounds (organometallic)', 'leaded gasoline additives', 'methylcyclopentadienyl manganese tricarbonyl (mmt)', 'organotin compounds', 'tel', 'tetraethyl lead', 'tin compounds (organometallic)', 'antiknock compound residue', 'ferrocene waste', 'grignard reagent waste', 'leaded gasoline sludge', 'organoarsenic compounds', 'organomercury compounds', 'dibutyltin (dbt)', 'tributyltin (tbt)', 'triphenyltin (tpt)', 'other organometallic catalyst residues', 'tetramethyl lead (tml)'] },\n        { swCode: 'SW318', 'description': 'Polychlorinated Biphenyls (PCBs) and Terphenyls (PCTs)', category: 'SW3', keywords: ['polychlorinated biphenyls (pcbs)', 'terphenyls (pcts)', 'askarel', 'capacitor oil (pcb)', 'chlorinated oil (pcb\/pct)', 'dielectric fluid (pcb\/pct)', 'pcb', 'pcb waste', 'pcb-contaminated equipment', 'pct', 'polychlorinated terphenyls', 'transformer oil (pcb)', 'aroclor', 'pcb-contaminated capacitor oil', 'chlorinated oils (unspecified if pcb\/pct)', 'clophen', 'kanechlor', 'pcb-contaminated electrical equipment', 'pcb-contaminated heat transfer fluid', 'pcb-contaminated hydraulic fluid', 'pyralene'] },\n        { swCode: 'SW319', description: 'Phenolic Compounds and Resins', category: 'SW3', keywords: ['phenolic compounds', 'phenolic resins', 'bisphenol a', 'chlorophenol', 'cresol', 'nonylphenol', 'phenol', 'phenol formaldehyde resin', 'phenol sludge', 'phenolic compound', 'phenolic resin', 'resin waste (phenolic)', 'xylenol', 'alkylphenol', 'bakelite dust', 'bakelite residue', 'bisphenol a residue', 'pentachlorophenol (pcp)', 'tetrachlorophenol', 'trichlorophenol', 'cresylic acid', 'nitrophenol', 'phenolic resin waste', 'phenolic wastewater concentrate', 'resin manufacturing waste (phenolic)'] },\n        { swCode: 'SW320', description: 'Formaldehyde and Formaldehyde-Based Resins', category: 'SW3', keywords: ['formaldehyde', 'formaldehyde-based resins', 'formaldehyde resin', 'formaldehyde solution', 'formaldehyde-based adhesive', 'formalin', 'melamine formaldehyde', 'paraformaldehyde', 'phenol formaldehyde', 'urea formaldehyde', 'embalming fluid waste', 'formaldehyde off-gas scrubber liquid', 'glutaraldehyde (if co-occurring or similar hazard)', 'melamine-formaldehyde resin waste', 'uncured phenol-formaldehyde resin waste', 'sterilizing solution (formaldehyde-based)', 'uncured urea-formaldehyde resin waste'] },\n        { swCode: 'SW321', description: 'Rubber and Latex Wastes', category: 'SW3', keywords: ['rubber wastes', 'latex wastes', 'butadiene rubber', 'glove plant waste', 'heavy metal-contaminated rubber', 'latex', 'latex waste', 'natural rubber', 'nitrile latex', 'rubber', 'rubber compound', 'rubber crumb', 'rubber dust', 'rubber latex sludge', 'rubber processing waste', 'solvent-contaminated rubber', 'synthetic rubber', 'cadmium (rubber)', 'carbon black (rubber grade with contaminants)', 'heavy metal catalysts from rubber production', 'lead (rubber)', 'zinc (rubber)', 'latex concentrate sludge', 'rubber crumb with solvent', 'rubber crumb with heavy metal', 'rubber dissolving solvent waste', 'tire manufacturing waste (uncured\/contaminated)', 'uncured rubber compound', 'vulcanization waste'] },\n        { swCode: 'SW322', description: 'Non-Halogenated Solvents', category: 'SW3', keywords: ['non-halogenated solvents', 'acetone', 'butanol', 'ethanol', 'ethyl acetate', 'isopropanol', 'methanol', 'methyl ethyl ketone (mek)', 'non-chlorinated solvent', 'paint thinner (non-halogenated)', 'solvent mixture (non-halogenated)', 'toluene', 'xylene', 'cleaning solvent (non-halogenated)', 'cyclohexane', 'isopropyl alcohol (ipa)', 'mineral spirit', 'n-hexane', 'naphtha', 'non-halogenated solvent mixtures', 'solvent degreasing waste (non-halogenated)', 'stoddard solvent', 'white spirit'] },\n        { swCode: 'SW323', description: 'Halogenated Solvents', category: 'SW3', keywords: ['halogenated solvents', '1,1-trichloroethane', 'carbon tetrachloride', 'chlorinated solvent', 'chloroform', 'dichloromethane', 'methylene chloride', 'perchloroethylene', 'solvent degreaser (halogenated)', 'trichloroethylene', 'brominated solvents', 'chlorobenzene', 'fluorinated solvents', 'freons (cfcs, hcfcs if solvent)', 'halogenated paint stripper', 'perchloroethylene (pce)', 'solvent degreasing waste (halogenated)', 'tetrachloroethylene'] },\n        { swCode: 'SW324', description: 'Solvent Recovery Residues', category: 'SW3', keywords: ['distillation bottom', 'distillation residue', 'mixed solvent sludge', 'solvent distillation residue', 'solvent recovery waste', 'solvent residue', 'solvent still waste', 'solvent tank sludge', 'spent solvent', 'still bottom (solvent)', 'solvent evaporator bottoms', 'ink sludge with solvent', 'paint sludge with solvent', 'pigment sludge with solvent', 'solvent purification sludge', 'spent solvent recovery residue', 'thin film evaporator residue (solvent)'] },\n        { swCode: 'SW325', description: 'Uncured Resins', category: 'SW3', keywords: ['uncured resins', 'epoxy', 'epoxy resin', 'phenolic resin (uncured)', 'polyester resin (uncured)', 'resin compound (uncured)', 'resin mixture (uncured)', 'resin off-spec (uncured)', 'resin paste (uncured)', 'uncured adhesive', 'unsaturated polyester', 'vinyl ester resin', 'epoxy hardener', 'liquid molding resin waste (uncured)', 'pre-preg waste (uncured)', 'resin casting waste (uncured)', 'resin catalyst', 'uncured alkyd resin', 'uncured polyurethane resin'] },\n        { swCode: 'SW326', description: 'Organophosphate Pesticides', category: 'SW3', keywords: ['organophosphate pesticides', 'organophosphate compounds', 'chlorpyrifs', 'diazinon', 'dimethoate', 'malathion', 'methyl parathion', 'organic phosphate', 'parathion', 'pesticide concentrates (organophosphate)', 'dichlorvos (ddvp)', 'glyphosate (if formulated as organophosphate)', 'nerve agent degradation products (organophosphorus based)', 'organic phosphate compounds', 'organophosphate pesticide residue', 'phorate', 'terbufos', 'triaryl phosphates', 'tributyl phosphate (tbp)'] },\n        { swCode: 'SW327', description: 'Glycol-Based Coolants and Heat Transfer Fluids', category: 'SW3', keywords: ['glycol-based coolants', 'heat transfer fluids', 'antifreeze', 'coolant concentrate', 'cooling system waste', 'ethylene glycol', 'glycol-based coolant', 'heat transfer fluid', 'propylene glycol', 'radiator fluid', 'thermal fluid', 'thermal oil', 'engine coolant', 'glycol-based de-icing fluid', 'used ethylene glycol', 'glycol-contaminated water', 'synthetic organic heat transfer fluid', 'diphenyl oxide (heat transfer)', 'biphenyl oxide (heat transfer)', 'used propylene glycol', 'glycol-based solar thermal fluid'] },\n\n        \/\/ SW 4xx - Organic\/Inorganic Mixed Wastes\n        { swCode: 'SW401', description: 'Alkaline Wastes with Heavy Metals', category: 'SW4', keywords: ['alkaline wastes with heavy metals', 'alkali (with metals)', 'alkali sludge (with metals)', 'alkaline etching waste', 'alkaline metal waste', 'caustic cleaning waste (with metals)', 'caustic soda (with metals)', 'caustic waste (with metals)', 'heavy metal hydroxide sludge', 'lithium hydroxide (with metals)', 'potassium hydroxide (with metals)', 'sodium hydroxide (with metals)', 'alkaline battery manufacturing waste', 'caustic waste with heavy metals (cd, cr, cu, ni, pb, zn)', 'alkaline electroplating sludge (heavy metal)', 'alkaline metal finishing waste', 'spent alkaline cleaning solution with heavy metals'] },\n        { swCode: 'SW402', description: 'Strong Alkaline Solutions', category: 'SW4', keywords: ['strong alkaline solutions', 'ph of 11.5 or greater', 'alkaline cleaning solution', 'alkaline wash', 'caustic rinse', 'caustic soda', 'high ph effluent', 'lye waste', 'potassium hydroxide solution', 'sodium hydroxide solution', 'strong bases', 'alkaline degreasing solutions', 'high ph boiler blowdown', 'cement kiln dust (if ph >= 11.5)', 'high ph lime sludge', 'mercaptan removal caustic', 'high ph wastewater', 'potassium hydroxide sludge', 'sodium hydroxide sludge', 'alkaline scrubber liquor', 'strong base sludge'] },\n        { swCode: 'SW403', description: 'Carcinogenic, Mutagenic, and Teratogenic Pharmaceutical Wastes', category: 'SW4', keywords: ['carcinogenic drugs', 'mutagenic drugs', 'teratogenic drugs', 'chemotherapy waste', 'controlled substances (pharma)', 'cytotoxic drugs', 'expired drugs (pharma)', 'narcotic waste', 'pharmaceutical intermediates (carcinogenic\/mutagenic\/teratogenic)', 'pharma waste (carcinogenic\/mutagenic\/teratogenic)', 'psychotropics', 'rejected batches of pharmaceuticals (carcinogenic\/mutagenic\/teratogenic)', 'discarded antibiotics', 'benzodiazepines', 'opioids (controlled substances)', 'hormonal preparations', 'research pharmaceutical waste', 'discarded vaccines'] },\n        { swCode: 'SW404', description: 'Clinical and Infectious Wastes', category: 'SW4', keywords: ['clinical waste', 'infectious waste', 'anatomical waste', 'biohazard waste', 'blood-soaked material', 'contaminated ppe (clinical)', 'hospital waste (infectious)', 'isolation ward waste', 'laboratory waste (infectious)', 'medical waste', 'microbiological waste', 'pathogenic waste', 'pathological waste', 'quarantined waste', 'red bag waste', 'sharps', 'infected animal carcasses', 'biological specimens', 'dialysis waste', 'human blood', 'human blood products', 'microbial cultures', 'pathological waste (tissues, organs)', 'quarantine waste', 'scalpels', 'yellow bag waste (clinical)', 'bacteria (clinical waste)', 'fungi (clinical waste)', 'actinomycetes (clinical waste)'] },\n        { swCode: 'SW405', description: 'Pharmaceutical Manufacturing Wastes', category: 'SW4', keywords: ['pharmaceutical manufacturing wastes', 'api manufacturing waste', 'batch rejects (pharma)', 'drug manufacturing waste', 'drug synthesis waste', 'pharma production waste', 'pharmaceutical intermediate waste', 'pharmaceutical sludge', 'pill plant waste', 'process residue (pharma)', 'tablet coating waste', 'active pharmaceutical ingredient (api) residues', 'fermentation broth (pharma)', 'filter aids from pharma', 'intermediate chemical products (pharma)', 'off-spec pharmaceuticals', 'purification waste (pharma)', 'rejected raw materials (pharma)', 'solvent waste from pharmaceutical production'] },\n        { swCode: 'SW406', description: 'Incineration Residues and Ash', category: 'SW4', keywords: ['incineration residues', 'ash (incineration)', 'boiler ash', 'clinker (incineration)', 'combustion ash', 'fly ash', 'furnace ash', 'incineration clinker', 'incinerator ash', 'incinerator bottom ash', 'incinerator slag', 'slag (incineration)', 'solid waste incinerator residue', 'waste-to-energy ash', 'air pollution control (apc) residues from incineration', 'baghouse dust (incineration)', 'clinker ash'] },\n        { swCode: 'SW407', description: 'Dioxins and Furans', category: 'SW4', keywords: ['dioxins', 'furans', 'incineration byproducts', 'pcdd', 'pcdf', 'persistent organic pollutants', 'polychlorinated dibenzo-p-dioxins', 'polychlorinated dibenzofurans', 'toxic combustion byproducts', 'dioxin isomers', '2,3,7,8-tetrachlorodibenzo-p-dioxin', 'bleaching clay from pulp\/paper (dioxin contaminated)', 'pesticide manufacturing residues (dioxin)', 'incinerator ash (dioxins\/furans)', 'incinerator residues (dioxins\/furans)', 'waste from production of chlorinated phenols', 'waste from production of chlorinated herbicides'] },\n        { swCode: 'SW408', description: 'Chemical Spill Cleanup Wastes', category: 'SW4', keywords: ['chemical spill cleanup wastes', 'chemical neutralization waste', 'chemical spill', 'chemical spill cleanup', 'contaminated soil from spills', 'decontamination waste', 'emergency response waste', 'emergency spill kit waste', 'spill absorbent', 'spill cleanup', 'spill pad absorbents', 'acid spill residue', 'alkali spill residue', 'booms (spill)', 'chemical spill cleanup debris', 'cyanide spill residue', 'granules used for chemical spills', 'mercury spill cleanup waste', 'neutralization residues from spills', 'pads (spill)', 'soil contaminated with unspecified hazardous chemicals'] },\n        { swCode: 'SW409', description: 'Contaminated Containers and Equipment', category: 'SW4', keywords: ['contaminated containers', 'contaminated equipment', 'bags (contaminated)', 'chemical containers', 'chemical totes', 'contaminated ibcs', 'contaminated packaging', 'lab glassware (contaminated)', 'oil cans (contaminated)', 'pesticide drums (contaminated)', 'solvent drums (contaminated)', 'used reagent bottles', 'empty acid bottles', 'uncleaned acid bottles', 'empty alkali bottles', 'uncleaned alkali bottles', 'decommissioned chemical storage tanks', 'contaminated machinery parts', 'contaminated personal protective equipment (ppe) (excluding rags, sw410)', 'contaminated sacks', 'contaminated lab glassware', 'paint cans (contaminated)', 'pesticide bottles (contaminated)', 'solvent tins (contaminated)'] },\n        { swCode: 'SW410', description: 'Contaminated Absorbents and Wipes', category: 'SW4', keywords: ['contaminated absorbents', 'contaminated wipes', 'absorbent pads', 'contaminated gloves', 'contaminated masks', 'contaminated paper', 'contaminated ppe', 'disposable coveralls (contaminated)', 'filters (contaminated)', 'oil-soaked rags', 'papers (contaminated)', 'plastic sheeting (contaminated)', 'plastics (contaminated)', 'rags (contaminated)', 'solvent-soaked wipes', 'used filters (contaminated)', 'chemical absorbent pads', 'oil absorbent pads', 'absorbent pillows', 'contaminated filter cartridges (oil)', 'contaminated paper towels', 'contaminated ppe (gloves, masks, overalls)', 'fuel filters (contaminated)', 'contaminated lab kimwipes', 'paint-contaminated rags', 'paint-contaminated brushes', 'paint-contaminated rollers'] },\n        { swCode: 'SW411', description: 'Spent Activated Carbon', category: 'SW4', keywords: ['spent activated carbon', 'carbon adsorption waste', 'carbon canisters', 'carbon filters', 'charcoal filters', 'spent carbon', 'spent carbon beds', 'spent granular carbon', 'used carbon', 'vapor phase carbon', 'spent activated charcoal', 'carbon beds from air purification', 'carbon beds from water purification', 'spent carbon filter media', 'carbon from heavy metal removal', 'carbon from solvent recovery', 'carbon from voc abatement systems', 'spent granular activated carbon (gac)', 'spent powdered activated carbon (pac)'] },\n        { swCode: 'SW412', description: 'Cyanide Sludges', category: 'SW4', keywords: ['cyanide sludges', 'cyanide bath sludge', 'cyanide plating waste', 'cyanide precipitation sludge', 'cyanide process residue', 'cyanide sludge', 'electroplating cyanide (sludge)', 'gold processing sludge (cyanide)', 'blast furnace sludge (if cyanide present)', 'cyanide destruction sludge', 'filter cake containing cyanide', 'cyanide leach gold processing sludge', 'heat treatment quench sludge (cyanide)', 'metal finishing cyanide sludge', 'steel hardening cyanide sludge'] },\n        { swCode: 'SW413', description: 'Cyanide Solids', category: 'SW4', keywords: ['cyanide solids', 'cyanide briquettes', 'cyanide compounds', 'cyanide contaminated salt', 'cyanide reagents', 'cyanide salts', 'nacn waste', 'potassium cyanide (solid)', 'calcium cyanide waste', 'unused cyanide hardening salts', 'spent cyanide hardening salts', 'off-spec cyanide salts', 'potassium cyanide (kcn) waste', 'residues of cyanide plating salts', 'sodium cyanide (nacn) waste', 'spilled cyanide salts'] },\n        { swCode: 'SW414', description: 'Cyanide Solutions', category: 'SW4', keywords: ['cyanide solutions', 'cyanide leachate', 'cyanide plating solution', 'cyanide process water', 'cyanide rinse water', 'cyanide wash', 'cyanide-contaminated liquids', 'analytical reagent waste (cyanide)', 'cyanide quenching bath solution', 'electroplating cyanide rinse water', 'cyanide stripping solution', 'spent gold leach solution (mining)', 'spent cyanide plating bath'] },\n        { swCode: 'SW415', description: 'Cyanide-Contaminated Oils', category: 'SW4', keywords: ['cyanide-contaminated oils', 'cyanide (in oil)', 'cyanide bath oil', 'cyanide case hardening oil', 'cyanide heat treatment oil', 'cyanide oil', 'cyanide quenching oil', 'quench oil (cyanide contaminated)', 'quenching oil (cyanide contaminated)', 'cyanide salt bath quenching oil', 'heat treatment oil with cyanide contamination', 'oil from cyanide carburizing processes', 'oil from cyanide nitriding processes', 'sludge from cyanide quench tanks'] },\n        { swCode: 'SW416', description: 'Ink and Paint Sludges', category: 'SW4', keywords: ['ink sludges', 'paint sludges', 'ink residue', 'ink sludge', 'ink tank cleaning waste', 'paint booth residue', 'paint sludge', 'pigment filter cake', 'pigment paste', 'pigment sludge', 'pigment tank waste', 'printing ink sludge', 'coating sludge', 'dye sludge (paint\/ink)', 'paint manufacturing sludge', 'paint spray booth filters', 'paint spray booth water curtain sludge', 'pigment production waste', 'powder coating waste sludge', 'ink tank washings', 'paint tank washings', 'varnish sludge'] },\n        { swCode: 'SW417', description: 'Waste Inks, Paints, and Dyes', category: 'SW4', keywords: ['waste inks', 'waste paints', 'waste dyes', 'colorant waste', 'dye', 'dye sludge (liquid)', 'dye waste', 'expired varnish', 'ink waste', 'leftover ink', 'old paint', 'paint residue', 'pigment', 'pigment waste', 'printing ink', 'varnish', 'varnish residue', 'dry pigment powder waste', 'lacquer waste', 'liquid dye concentrate waste', 'off-spec ink', 'off-spec paint', 'off-spec varnish', 'off-spec dye', 'printing ink wash-up solutions', 'stain waste', 'unused dye'] },\n        { swCode: 'SW418', description: 'Defective Inks and Paints (Solvent-Based)', category: 'SW4', keywords: ['defective inks', 'defective paints', 'solvent-based ink', 'solvent-based paint', 'defective ink', 'ink production waste', 'off-grade paint', 'off-spec ink', 'off-spec paint', 'organic solvent paint', 'paint batch rejects', 'rejected paint', 'solvent paint waste', 'cleaning solvents from printing', 'cleaning solvents from painting (ink\/paint solids)', 'mis-tints', 'production rejects (ink\/paint)', 'organic solvent carriers for ink\/paint'] },\n        { swCode: 'SW419', description: 'Isocyanate Wastes', category: 'SW4', keywords: ['isocyanate wastes', 'di-isocyanate', 'di-isocyanates', 'foam offcuts (isocyanate)', 'isocyanate', 'isocyanate resin', 'mdi', 'methylene diphenyl diisocyanate', 'polyurethane foam waste', 'polyurethane resin (isocyanate)', 'tdi', 'toluene diisocyanate', 'isocyanate catalyst waste', 'isocyanate drum residue', 'isocyanate container residue', 'isophorone diisocyanate (ipdi) waste', 'polymeric mdi (pmdi) waste', 'uncured polyurethane foam waste', 'foam from isocyanate'] },\n        { swCode: 'SW420', description: 'Landfill Leachate', category: 'SW4', keywords: ['landfill leachate', 'dump leachate', 'landfill collection liquid', 'landfill runoff', 'landfill seepage', 'leachate', 'waste dump leachate', 'condensate from landfill gas extraction systems', 'contaminated groundwater from landfill plumes', 'leachate collection system waste', 'leachate from hazardous waste landfill', 'leachate treatment sludge', 'leachate treatment concentrate'] },\n        { swCode: 'SW421', description: 'Mixed Hazardous Wastes', category: 'SW4', keywords: ['mixed hazardous wastes', 'co-mingled waste', 'hazardous blends', 'mixed chemical waste', 'mixed scheduled waste', 'multi-class waste', 'co-mingled scheduled wastes from different codes', 'consolidated hazardous waste streams', 'drums with unknown mixed hazardous contents', 'laboratory waste with multiple hazardous components'] },\n        { swCode: 'SW422', description: 'Contaminated Non-Hazardous Wastes', category: 'SW4', keywords: ['contaminated non-hazardous wastes', 'contaminated packaging (non-hazardous)', 'cross-contaminated waste', 'mixed packaging waste (with sw)', 'mixed scheduled and non-scheduled waste', 'scheduled and general waste (mixed)', 'construction debris contaminated with scheduled waste', 'general waste containing hazardous residue', 'general waste mixed with hazardous materials', 'soil mixed with hazardous and non-hazardous debris'] },\n        { swCode: 'SW423', description: 'Photographic Chemical Wastes', category: 'SW4', keywords: ['photographic chemical wastes', 'darkroom chemicals', 'developer (photo)', 'fixer (photo)', 'photo fixer', 'photo processing solution', 'photographic chemicals', 'photographic film waste', 'processing solution (photo)', 'silver recovery waste (photo)', 'x-ray developer', 'photo bleach solution', 'silver-containing fixer solution', 'photographic film processing waste', 'plate developer (printing)', 'rinse water from photographic processing', 'photo silver recovery unit sludge', 'stop bath (photo)'] },\n        { swCode: 'SW424', description: 'Oxidizing Agents', category: 'SW4', keywords: ['bleach residue', 'hydrogen peroxide', 'oxidant waste', 'oxidizer', 'oxidizing agent', 'oxidizing chemical', 'oxidizing solution', 'peracetic acid', 'peroxide', 'potassium permanganate', 'sodium hypochlorite', 'industrial bleach residue', 'calcium hypochlorite', 'chlorates', 'concentrated industrial strength hypochlorites', 'inorganic peroxides', 'concentrated nitrates', 'nitric acid (if primarily oxidizing)', 'perchlorates', 'permanganates', 'peroxides (hydrogen peroxide >8%)', 'persulfates', 'potassium chromate', 'sodium dichromate'] },\n        { swCode: 'SW425', description: 'Pesticide, Herbicide, and Biocide Wastes', category: 'SW4', keywords: ['pesticide wastes', 'herbicide wastes', 'biocide wastes', 'biocide (liquid)', 'biocide (solid)', 'biocide residue', 'fungicide waste', 'herbicide', 'herbicide container', 'herbicide waste', 'insecticide drum', 'insecticide solution', 'pesticide', 'pesticide concentrate', 'pesticide rinse', 'pesticide wash water', 'sludge (pesticide)', 'industrial biocide solutions', 'hazardous borate compounds (pesticide)', 'contaminated soil from pesticide spills', 'cooling tower biocide', 'herbicide spray tank residue', 'insecticide drum rinsate', 'insecticide container rinsate', 'obsolete pesticide concentrate', 'pesticide manufacturing waste (formulation)', 'rodenticide waste', 'non-cca wood preservative solutions', 'non-creosote wood preservative solutions'] },\n        { swCode: 'SW426', description: 'Defective or Expired Pesticides', category: 'SW4', keywords: ['defective pesticides', 'expired pesticides', 'obsolete biocide', 'off-grade pesticide', 'off-spec pesticide', 'off-spec herbicide', 'off-spec biocide', 'pesticide disposal waste', 'rejected herbicide', 'banned pesticides', 'damaged pesticide containers with product', 'recalled pesticide', 'recalled herbicide', 'recalled biocide', 'unused agricultural chemicals'] },\n        { swCode: 'SW427', description: 'Phosphate Sludges', category: 'SW4', keywords: ['phosphate sludges', 'calcium hydroxide (sludge)', 'calcium hydroxide sludge', 'calcium sludge', 'lime sludge (phosphate related)', 'mineral sludge (phosphate related)', 'phosphate coating sludge', 'phosphating process waste', 'phosphating sludge', 'phosphating tank sludge', 'bonderizing sludge', 'industrial calcium hydroxide sludge', 'iron phosphate sludge', 'industrial lime sludge (not solely high ph)', 'manganese phosphate sludge', 'metal phosphating bath residue', 'phosphating tank', 'wastewater treatment sludge (metal precipitation with lime\/phosphate)', 'zinc phosphate sludge'] },\n        { swCode: 'SW428', description: 'Treated Timber and Wood Preservative Wastes', category: 'SW4', keywords: ['treated timber', 'wood preservative wastes', 'cca', 'chromated copper arsenate', 'creosote', 'creosote oil', 'timber preservative', 'treated timber waste', 'wood pole treatment', 'wood preservative', 'wood treatment waste', 'ammoniacal copper zinc arsenate (acza)', 'hazardous borate compounds (wood preservative)', 'cca solution', 'cca sludge', 'chromated copper arsenate (cca) treated wood waste', 'sawdust (treated wood)', 'offcuts (treated wood)', 'end-of-life (treated wood)', 'copper naphthenate', 'creosote sludge', 'creosote-treated wood waste', 'oil-borne preservatives', 'pentachlorophenol (pcp) treated wood waste (if not sw319)', 'wood treatment chemicals (e.g., zinc naphthenate) residues'] },\n        { swCode: 'SW429', description: 'Discarded Laboratory Chemicals', category: 'SW4', keywords: ['discarded laboratory chemicals', 'discarded chemical', 'discarded reagent', 'excess reagent', 'expired lab chemical', 'laboratory chemical waste', 'out-of-date chemical', 'surplus chemical', 'unused chemical', 'expired laboratory chemicals', 'off-specification chemicals (non-manufacturing)', 'school laboratory chemical waste', 'small quantities of spilled lab chemicals', 'surplus research chemicals', 'unidentified lab chemicals (requiring characterization)'] },\n        { swCode: 'SW430', description: 'Obsolete Laboratory Stock Chemicals', category: 'SW4', keywords: ['obsolete laboratory stock chemicals', 'chemical inventory waste', 'chemical stock waste', 'expired stock (lab)', 'lab chemical (obsolete)', 'laboratory surplus', 'obsolete lab chemical', 'obsolete reagent', 'outdated chemical', 'discontinued analytical standards', 'expired stock chemicals', 'legacy chemicals from closed labs', 'outdated chemical kits'] },\n        { swCode: 'SW431', description: 'Explosive Wastes', category: 'SW4', keywords: ['explosive wastes', 'ammunition waste', 'blasting caps', 'detonator waste', 'explosive', 'explosive powder', 'explosive residue', 'firework waste', 'propellant waste', 'pyrotechnic compound', 'explosive ammunition waste', 'azide waste', 'blasting agents residue', 'detonator components (waste)', 'firework manufacturing waste', 'firework display waste', 'organic nitrates (explosive grade)', 'shock-sensitive materials'] },\n        { swCode: 'SW432', description: 'Organic Peroxides', category: 'SW4', keywords: ['organic peroxides', 'benzoyl peroxide', 'curing agent waste (peroxide)', 'mekp', 'methyl ethyl ketone peroxide', 'organic peroxy acid', 'peroxide (organic)', 'peroxide resin', 'peroxy compound', 'acetyl peroxide', 'cumene hydroperoxide', 'hardener containing organic peroxide', 'methyl ethyl ketone peroxide (mekp)', 'peroxide catalysts', 'polymerization initiators (peroxide based)', 'reactive peroxide solutions with self-accelerating decomposition temperature (sadt) materials'] },\n\n        \/\/ SW 5xx \u2013 Other Wastes\n        { swCode: 'SW501', description: 'Residues from Scheduled Waste Treatment', category: 'SW5', keywords: ['residues from scheduled waste treatment', 'filter cake (sw treatment)', 'hazardous waste residue', 'immobilized waste (sw treatment)', 'leftover sludge (sw treatment)', 'process sludge (sw treatment)', 'recovery residue (sw treatment)', 'sludge from sw treatment', 'solidified waste (sw treatment)', 'stabilization residue (sw treatment)', 'treatment plant sludge (sw)', 'waste treatment cake', 'chemical oxidation sludge (sw treatment)', 'distillation bottoms from hazardous waste treatment', 'encapsulated hazardous waste', 'filter cake from hazardous waste filtration', 'spent ion exchange resin (from hazardous waste treatment)', 'leachate treatment residue (if not sw420)', 'neutralization sludge (sw treatment)', 'precipitation sludge (sw treatment)', 'scrubber sludge from hazardous air pollutant control'] }\n    ];\n\n    \/*\n     * Function to suggest the Scheduled Waste (SW) code(s) based on user input.\n     * It matches keywords across all SW data entries and returns all relevant matches,\n     * sorted by relevance.\n     *\/\n    function suggestSWCode() {\n        const selectedCategory = document.getElementById('swCategory').value; \/\/ Get selected category\n        const wasteCharacteristics = document.getElementById('wasteCharacteristics').value.toLowerCase();\n        const swResultDiv = document.getElementById('swResult');\n        const suggestedSWCodesListDiv = document.getElementById('suggestedSWCodesList');\n\n        \/\/ Clear previous results\n        suggestedSWCodesListDiv.innerHTML = '';\n        swResultDiv.classList.add('hidden'); \/\/ Hide until new results are ready\n\n        let matches = [];\n\n        \/\/ Filter data based on the selected broad category\n        const filteredData = scheduledWasteData.filter(item => {\n            return selectedCategory === '' || item.category === selectedCategory;\n        });\n\n        \/\/ Split characteristics into individual search terms\n        \/\/ Ensure terms are not empty after splitting and are at least 3 characters long for better relevance\n        const searchTerms = wasteCharacteristics.split(\/[\\s,]+\/).filter(term => term.length > 2);\n\n        if (searchTerms.length === 0) {\n            suggestedSWCodesListDiv.innerHTML = '<p>Please enter some characteristics to get suggestions.<\/p>';\n            swResultDiv.classList.remove('hidden');\n            return;\n        }\n\n        \/\/ Iterate through filtered data to find matches and score them\n        filteredData.forEach(item => { \/\/ Iterate over filteredData, not scheduledWasteData\n            let currentScore = 0;\n            const matchedKeywords = new Set(); \/\/ To track unique matched keywords for this item\n\n            searchTerms.forEach(term => {\n                item.keywords.forEach(keyword => {\n                    \/\/ Check if any keyword in the item *contains* the search term\n                    if (keyword.includes(term)) {\n                        currentScore++;\n                        matchedKeywords.add(keyword); \/\/ Add the specific keyword that matched\n                    }\n                });\n            });\n\n            \/\/ Prioritize exact SW code matches if characteristics include one\n            if (wasteCharacteristics.includes(item.swCode.toLowerCase())) {\n                currentScore += 10; \/\/ High score for direct SW code mention\n            }\n\n            if (currentScore > 0) {\n                matches.push({\n                    swCode: item.swCode,\n                    description: item.description,\n                    category: item.category, \/\/ Include category for context\n                    score: currentScore,\n                    matchedKeywords: Array.from(matchedKeywords) \/\/ Store matched keywords for display\n                });\n            }\n        });\n\n        \/\/ Sort matches by score in descending order\n        matches.sort((a, b) => b.score - a.score);\n\n        \/\/ Display results\n        if (matches.length > 0) {\n            matches.forEach(match => {\n                const itemDiv = document.createElement('div');\n                itemDiv.classList.add('suggestion-item');\n                itemDiv.innerHTML = `\n                    <p><strong>SW Code:<\/strong> ${match.swCode} (Category: ${match.category})<\/p>\n                    <p><strong>Description:<\/strong> ${match.description}<\/p>\n                    ${match.matchedKeywords.length > 0 ? `<p class=\"text-sm text-gray-700\">Matched on: ${match.matchedKeywords.join(', ')}<\/p>` : ''}\n                `;\n                suggestedSWCodesListDiv.appendChild(itemDiv);\n            });\n        } else {\n            suggestedSWCodesListDiv.innerHTML = '<p>No Scheduled Waste code suggestions found for the entered characteristics within the selected category. Please try different keywords or select a different category.<\/p>';\n        }\n        swResultDiv.classList.remove('hidden'); \/\/ Show the result box\n    }\n<\/script>\n\n\n\n\n<style>\n    \/*\n     * Custom styles for the Waste Packaging Suggester app\n     * tailored for embedding within a WordPress Hestia theme.\n     * These styles are self-contained within this HTML snippet.\n     *\/\n\n    \/*\n     * The main container for the application.\n     * We've removed `body` specific styles as Hestia handles the overall page layout.\n     * `margin: 40px auto;` centers the container horizontally and provides vertical spacing.\n     *\/\n    .hestia-waste-packaging-container {\n        font-family: 'Inter', sans-serif; \/* Maintain Inter font for this component *\/\n        background-color: #ffffff; \/* White background consistent with Hestia's clean look *\/\n        border-radius: 1rem; \/* Rounded corners for a modern feel *\/\n        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15); \/* Soft, professional shadow *\/\n        padding: 2.5rem; \/* Generous internal padding *\/\n        max-width: 650px; \/* Max width to fit well within Hestia's content area *\/\n        width: 100%; \/* Ensure it takes full width on smaller screens *\/\n        margin: 40px auto; \/* Center horizontally and provide vertical margin *\/\n        display: flex;\n        flex-direction: column;\n        gap: 1.5rem; \/* Spacing between elements *\/\n        border: 1px solid #e2e8f0; \/* Subtle light border *\/\n    }\n\n    \/* Styling for labels in input groups *\/\n    .hestia-waste-packaging-container .input-group label {\n        font-weight: 600;\n        color: #2d3748; \/* Darker gray for better contrast *\/\n        margin-bottom: 0.5rem;\n        display: block;\n    }\n\n    \/* Styling for select and textarea input fields *\/\n    .hestia-waste-packaging-container .input-group select,\n    .hestia-waste-packaging-container .input-group textarea {\n        width: 100%;\n        padding: 0.75rem 1rem;\n        border: 1px solid #a0aec0; \/* Medium gray border *\/\n        border-radius: 0.5rem;\n        background-color: #edf2f7; \/* Very light gray background for inputs *\/\n        transition: border-color 0.2s, box-shadow 0.2s; \/* Smooth transitions for focus *\/\n    }\n\n    \/* Focus styles for select and textarea *\/\n    .hestia-waste-packaging-container .input-group select:focus,\n    .hestia-waste-packaging-container .input-group textarea:focus {\n        outline: none; \/* Remove default outline *\/\n        border-color: #3182ce; \/* Blue focus color *\/\n        box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.3); \/* Blue focus ring *\/\n    }\n\n    \/* Specific styling for textarea to allow vertical resizing *\/\n    .hestia-waste-packaging-container textarea {\n        resize: vertical;\n        min-height: 100px;\n    }\n\n    \/* Styling for the button *\/\n    .hestia-waste-packaging-container button {\n        background-color: #1e40af; \/* Deeper blue (Tailwind blue-800) *\/\n        color: white;\n        padding: 0.9rem 1.8rem;\n        border-radius: 0.75rem;\n        font-weight: 600;\n        cursor: pointer;\n        transition: background-color 0.2s, transform 0.1s, box-shadow 0.2s; \/* All-in-one transition *\/\n        box-shadow: 0 6px 15px rgba(30, 64, 175, 0.3); \/* Soft shadow *\/\n        letter-spacing: 0.025em; \/* Slight letter spacing for professionalism *\/\n    }\n\n    \/* Hover effect for the button *\/\n    .hestia-waste-packaging-container button:hover {\n        background-color: #1a365d; \/* Even deeper blue on hover *\/\n        transform: translateY(-2px); \/* Lift effect *\/\n        box-shadow: 0 8px 20px rgba(30, 64, 175, 0.4); \/* More pronounced shadow on hover *\/\n    }\n\n    \/* Active (click) effect for the button *\/\n    .hestia-waste-packaging-container button:active {\n        transform: translateY(0); \/* Press down effect *\/\n        box-shadow: 0 4px 10px rgba(30, 64, 175, 0.3); \/* Reset shadow *\/\n    }\n\n    \/* Styling for the result box *\/\n    .hestia-waste-packaging-container .result-box {\n        background-color: #e6f0ff; \/* Lighter blue background (Tailwind blue-50) *\/\n        border: 1px solid #90cdf4; \/* Blue-200 border *\/\n        border-radius: 0.75rem;\n        padding: 1.5rem;\n        margin-top: 1.5rem;\n        color: #2a4365; \/* Dark blue text for readability *\/\n        box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.04); \/* Subtle inner shadow *\/\n    }\n\n    \/* Styling for the heading within the result box *\/\n    .hestia-waste-packaging-container .result-box h3 {\n        font-size: 1.35rem; \/* Slightly larger heading *\/\n        font-weight: 700;\n        color: #1a365d; \/* Darker blue for heading *\/\n        margin-bottom: 0.75rem;\n    }\n\n    \/* Styling for paragraphs within the result box *\/\n    .hestia-waste-packaging-container .result-box p {\n        margin-bottom: 0.5rem;\n        line-height: 1.7; \/* Increased line height for better readability *\/\n    }\n\n    \/* Styling for strong\/bold text within the result box *\/\n    .hestia-waste-packaging-container .result-box strong {\n        color: #2b6cb0; \/* Stronger blue for emphasis *\/\n    }\n<\/style>\n\n<!-- Tailwind CSS CDN and Font Link are included here for self-containment.\n     In a production WordPress site, these would ideally be enqueued via functions.php\n     for better performance and theme integration. -->\n<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\">\n\n<div class=\"hestia-waste-packaging-container\">\n    <h2 class=\"text-3xl font-bold text-center text-gray-800 mb-6\">Waste Packaging Suggester<\/h2>\n\n    <div class=\"input-group\">\n        <label for=\"wasteType\">Select Waste Type:<\/label>\n        <select id=\"wasteType\">\n            <option value=\"\">&#8212; Select Waste Type &#8212;<\/option>\n            <option value=\"inorganicOrOrganicLiquid\">Inorganic or Organic Liquid Waste<\/option>\n            <option value=\"solidWaste\">Solid Waste<\/option>\n            <option value=\"broadWasteStreams\">Broad Waste Streams (Oils, Solvents, Acids)<\/option>\n            <option value=\"clinicalOrPathogenic\">Clinical \/ Pathogenic Wastes<\/option>\n            <option value=\"drySolidSmallQuantity\">Dry Solid Waste (Small Quantity, No Free-Flow Liquid)<\/option>\n            <option value=\"drySolidNoLiquid\">Dry Solid Waste (No Free-Flow Liquid)<\/option>\n        <\/select>\n    <\/div>\n\n    <div class=\"input-group\">\n        <label for=\"characteristics\">Enter Key Characteristics (e.g., corrosive, diethyl ether, sludge):<\/label>\n        <textarea id=\"characteristics\" placeholder=\"Describe the waste characteristics here...\"><\/textarea>\n    <\/div>\n\n    <button onclick=\"suggestPackaging()\">Get Suggestion<\/button>\n\n    <div id=\"suggestionResult\" class=\"result-box hidden\">\n        <h3 class=\"text-xl font-semibold\">Suggested Packaging:<\/h3>\n        <p><strong>Container:<\/strong> <span id=\"recommendedContainer\"><\/span><\/p>\n        <p><strong>Requirements:<\/strong> <span id=\"packagingRequirements\"><\/span><\/p>\n    <\/div>\n<\/div>\n\n<script>\n    \/*\n     * JavaScript function to suggest packaging based on waste type and characteristics.\n     * This script is self-contained within this HTML snippet.\n     *\/\n    function suggestPackaging() {\n        \/\/ Get references to DOM elements\n        const wasteType = document.getElementById('wasteType').value;\n        const characteristics = document.getElementById('characteristics').value.toLowerCase();\n        const resultDiv = document.getElementById('suggestionResult');\n        const containerSpan = document.getElementById('recommendedContainer');\n        const requirementsSpan = document.getElementById('packagingRequirements');\n\n        let recommendedContainer = 'Not Found';\n        let packagingRequirements = 'Please provide more specific information or select a waste type.';\n\n        \/\/ Define keywords for easier checking of characteristics\n        const isCorrosive = characteristics.includes('corrosive') || characteristics.includes('acid') || characteristics.includes('alkaline');\n        const isDiethylEther = characteristics.includes('diethyl ether');\n        const isChloroform = characteristics.includes('chloroform');\n        const isSolventCompatiblePlastic = characteristics.includes('compatible with plastics');\n        const isSludge = characteristics.includes('sludge');\n        const isEwaste = characteristics.includes('e-waste');\n        const isPharmaceuticalWaste = characteristics.includes('pharmaceutical waste');\n        const isLaboratoryWaste = characteristics.includes('laboratory waste');\n        const isContaminatedGloves = characteristics.includes('contaminated gloves');\n        const isOil = characteristics.includes('oil');\n        const isSolvent = characteristics.includes('solvent');\n        const isAcid = characteristics.includes('acid');\n        const isDust = characteristics.includes('dust');\n        const isSlag = characteristics.includes('slag');\n        const isAsh = characteristics.includes('ash');\n        const isClinker = characteristics.includes('clinker');\n        const isContaminatedRags = characteristics.includes('contaminated rags') || characteristics.includes('contaminated garnet');\n        const isExpiredDrugs = characteristics.includes('expired drugs');\n        const isCosmetics = characteristics.includes('cosmetics');\n\n        \/\/ Logic to determine packaging based on waste type and characteristics\n        switch (wasteType) {\n            case 'inorganicOrOrganicLiquid':\n                if (isCorrosive && (!isDiethylEther && !isChloroform)) {\n                    recommendedContainer = 'Bunghole drum (plastic - compatible with most solvents)';\n                    packagingRequirements = 'No hole, no bulge, and free of dents and corrosion.';\n                } else if (isDiethylEther || isChloroform) {\n                    recommendedContainer = 'Bunghole drum (steel - for solvents not compatible with plastics)';\n                    packagingRequirements = 'No hole, no bulge, and free of dents and corrosion.';\n                } else if (isSolventCompatiblePlastic) {\n                    recommendedContainer = 'Bunghole drum (plastic - compatible with most solvents)';\n                    packagingRequirements = 'No hole, no bulge, and free of dents and corrosion.';\n                }\n                else if (isOil || isSolvent || isAcid) {\n                    \/\/ This case is also covered by \"Broad Waste Streams\" but added here for completeness\n                    \/\/ if only \"inorganicOrOrganicLiquid\" is selected by the user.\n                    recommendedContainer = 'Jerrican or Carboy';\n                    packagingRequirements = 'No hole or crack.';\n                }\n                else {\n                    recommendedContainer = 'Bunghole drum (steel\/plastic) or Jerrican\/Carboy';\n                    packagingRequirements = 'No hole, no bulge, and free of dents and corrosion (for drums); No hole or crack (for jerrican\/carboy).';\n                }\n                break;\n\n            case 'solidWaste':\n                if (isCorrosive) {\n                    \/\/ Although steel drums are generally not for corrosive, the data suggests steel\/plastic.\n                    \/\/ Plastic is preferred for corrosive, steel for non-corrosive solid waste.\n                    recommendedContainer = 'Open top drum with cover and clamp (plastic preferred for corrosive, steel for non-corrosive)';\n                    packagingRequirements = 'No hole, no bulge, and free of dents and corrosion.';\n                } else if (isSludge || isEwaste || isPharmaceuticalWaste || isLaboratoryWaste || isContaminatedGloves) {\n                    recommendedContainer = 'Open top drum with cover and clamp (steel\/plastic)';\n                    packagingRequirements = 'No hole, no bulge, and free of dents and corrosion.';\n                } else {\n                    recommendedContainer = 'Open top drum with cover and clamp (steel\/plastic)';\n                    packagingRequirements = 'No hole, no bulge, and free of dents and corrosion.';\n                }\n                break;\n\n            case 'broadWasteStreams':\n                if (isOil || isSolvent || isAcid) {\n                    recommendedContainer = 'Intermediate Bulk Container (IBC)';\n                    packagingRequirements = 'No hole or crack.';\n                } else {\n                    recommendedContainer = 'Intermediate Bulk Container (IBC)';\n                    packagingRequirements = 'No hole or crack. (Suitable for general broad waste streams like oils, solvents, and acids).';\n                }\n                break;\n\n            case 'clinicalOrPathogenic':\n                recommendedContainer = 'Clinical waste containers';\n                packagingRequirements = 'No hole or crack.';\n                break;\n\n            case 'drySolidSmallQuantity':\n                if (isEwaste || isContaminatedRags || isExpiredDrugs || isCosmetics) {\n                    recommendedContainer = 'Corrugated box or carton box';\n                    packagingRequirements = 'No tear or hole.';\n                } else {\n                    recommendedContainer = 'Corrugated box or carton box';\n                    packagingRequirements = 'No tear or hole. (Suitable for dry solid waste with no free-flow liquid, generated in small quantity).';\n                }\n                break;\n\n            case 'drySolidNoLiquid':\n                if (isDust || isSlag || isAsh || isClinker || isEwaste || isContaminatedRags) {\n                    recommendedContainer = 'Flexible Intermediate Bulk Containers (FIBCs) \/ Jumbo Bags (preferably HDPE)';\n                    packagingRequirements = 'Must have double lining, and bags should not be filled more than 90% to ensure secure packaging.';\n                } else {\n                    recommendedContainer = 'Flexible Intermediate Bulk Containers (FIBCs) \/ Jumbo Bags (preferably HDPE)';\n                    packagingRequirements = 'Must have double lining, and bags should not be filled more than 90% to ensure secure packaging. (Suitable for dry solid waste with no free-flow liquid).';\n                }\n                break;\n\n            default:\n                \/\/ Fallback if no waste type is selected or recognized\n                recommendedContainer = 'Please select a Waste Type.';\n                packagingRequirements = 'Additional characteristics might help narrow down the suggestion.';\n                break;\n        }\n\n        \/\/ Update the result display\n        containerSpan.textContent = recommendedContainer;\n        requirementsSpan.textContent = packagingRequirements;\n        resultDiv.classList.remove('hidden'); \/\/ Make the result box visible\n    }\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Scheduled Waste Code Suggester Select SW Category: &#8212; Select SW Category &#8212;SW 1 \u2013 Metal and Metal-Bearing WastesSW 2 \u2013 Wastes Containing Principally Inorganic ConstituentsSW 3xx \u2013 Organic WastesSW 4xx \u2013 Organic\/Inorganic Mixed WastesSW 5xx \u2013 Other Wastes Enter Key Characteristics of the Waste (e.g., organic or inorganic, physical properties, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/office.iium.edu.my\/ocd\/epmc\/index.php\/wp-json\/wp\/v2\/pages\/683"}],"collection":[{"href":"https:\/\/office.iium.edu.my\/ocd\/epmc\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/office.iium.edu.my\/ocd\/epmc\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/office.iium.edu.my\/ocd\/epmc\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/office.iium.edu.my\/ocd\/epmc\/index.php\/wp-json\/wp\/v2\/comments?post=683"}],"version-history":[{"count":1,"href":"https:\/\/office.iium.edu.my\/ocd\/epmc\/index.php\/wp-json\/wp\/v2\/pages\/683\/revisions"}],"predecessor-version":[{"id":684,"href":"https:\/\/office.iium.edu.my\/ocd\/epmc\/index.php\/wp-json\/wp\/v2\/pages\/683\/revisions\/684"}],"wp:attachment":[{"href":"https:\/\/office.iium.edu.my\/ocd\/epmc\/index.php\/wp-json\/wp\/v2\/media?parent=683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}