{"id":1349,"date":"2024-06-09T00:42:50","date_gmt":"2024-06-08T16:42:50","guid":{"rendered":"https:\/\/www.ah-snchain.cn\/?page_id=1349"},"modified":"2025-01-22T19:56:51","modified_gmt":"2025-01-22T11:56:51","slug":"%e5%b7%a5%e5%85%b7","status":"publish","type":"page","link":"https:\/\/www.ah-snchain.cn\/?page_id=1349","title":{"rendered":"\u5de5\u5177"},"content":{"rendered":"<div id=\"pl-1349\"  class=\"panel-layout\" ><div id=\"pg-1349-0\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-1349-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-1349-0-0-0\" class=\"widget_text so-panel widget widget_custom_html panel-first-child\" data-index=\"0\" ><div class=\"textwidget custom-html-widget\"><!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>IES Online Viewer<\/title>\n    <style>\n        \/* \u8df3\u8f6c\u754c\u9762\u6837\u5f0f *\/\n        .chat-container {\n            text-align: center;\n            padding: 40px;\n            border: 1px solid #ddd; \/* \u4e0e\u7f51\u7ad9\u4e00\u81f4\u7684\u8fb9\u6846\u6837\u5f0f *\/\n            border-radius: 10px;\n            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n            margin: 20px 0;\n        }\n        .chat-container h1 {\n            font-size: 2rem;\n            margin-bottom: 20px;\n            color: #0073e6;\n        }\n        .chat-container p {\n            font-size: 1.5rem; \/* \u8c03\u5927\u5b57\u4f53 *\/\n            margin-bottom: 30px;\n            color: #555;\n            font-weight: bold; \/* \u52a0\u7c97\u5b57\u4f53 *\/\n        }\n        .chat-container .btn {\n            display: inline-block;\n            padding: 12px 24px;\n            font-size: 1rem;\n            font-weight: bold;\n            color: #fff;\n            background-color: #0073e6;\n            border: none;\n            border-radius: 5px;\n            cursor: pointer;\n            text-decoration: none;\n            transition: background-color 0.3s ease;\n        }\n        .chat-container .btn:hover {\n            background-color: #005bb5;\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <!-- \u5176\u4ed6\u5185\u5bb9 -->\n        <div class=\"chat-container\">\n            <h1>IES Online Viewer<\/h1>\n            <p>\u6b22\u8fce\u4f7f\u7528Photometric Editor<\/p>\n            <a href=\"https:\/\/photometriceditor.com\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">\u7acb\u5373\u4f53\u9a8c<\/a>\n        <\/div>\n        <!-- \u5176\u4ed6\u5185\u5bb9 -->\n    <\/div>\n<\/body>\n<\/html><\/div><\/div><div id=\"panel-1349-0-0-1\" class=\"so-panel widget widget_sow-editor\" data-index=\"1\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<h5 style=\"text-align: center;\">\u6b22\u8fce\u4f7f\u7528\u5149\u8c31\u6570\u636e\u8ba1\u7b97\u5668<br \/>\nCalculate CIE 1931 xy Coordinates from Spectral Power Distribution (SPD)<\/h5>\n<\/div>\n<\/div><\/div><div id=\"panel-1349-0-0-2\" class=\"widget_text so-panel widget widget_custom_html panel-last-child\" data-index=\"2\" ><div class=\"textwidget custom-html-widget\"><script src=\"\/js\/bootstrap.min.js\"><\/script>\n<script src=\"\/js\/Chart.min.js\"><\/script>\n<script src=\"\/js\/spdChartsXY.js\"><\/script>\n<style>\n.SPDData {\n    background-attachment: local;\n    background-image: linear-gradient(to right, white 10px, transparent 10px), linear-gradient(to left, white 10px, transparent 10px), repeating-linear-gradient(white, white 30px, #ccc 30px, #ccc 32px, white 32px);\n    line-height: 32px;\n    padding: 8px 10px;\n    overflow: hidden;\n    border-style: none;\n    resize: none;\n}\n.SPDInput {\n    position: fixed;\n    width: 100%;\n    max-width: 600px;\n    left: 50%;\n \u00a0 \u00a0top: 50%;\n    transform: translate(-50%, -50%);\n    background: #fff;\n    z-index: 99999;\n    padding: 30px;\n    overflow: scroll;\n    max-height: 80%;\n}\n#leftMostData {\n    float: left;\n    overflow: hidden;\n    width: 100px;\n}\n#leftData {\n    float: left;\n    overflow: hidden;\n}\n#rightData {\n    overflow: hidden;\n}\n#overlaybackground {\n    position: absolute;\n    width: 100%;\n    height: 100%;\n    background-color: rgba(0, 0, 0, .7);\n    z-index: 99998;\n}\n.close {\n    position: absolute;\n    top: .5rem;\n    right: .5rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 2.5rem;\n    height: 2.5rem;\n    border: none;\n    background-color: transparent;\n    font-size: 1.5rem;\n    transition: .25s linear;\n    transform: rotate(-45deg);\n}\n#overlaybackground {\n    display: none;\n}\n<\/style>\n<div id=\"overlaybackground\">\n    <div class=\"SPDInput\" id=\"spdDiv\">\n        <button class=\"close\" onclick=\"closeModal();\">+<\/button>\n        <h1>User SPD Input<\/h1>\n        <a class=\"btn btn-primary\" onclick=\"processSPD();\">SUBMIT<\/a>\n        <br><br>\n        <input type=\"radio\" id=\"1nm\" onchange=\"toggleSpacing();\" name=\"space\" checked \/>\n        <label for=\"1nm\">1 nm increments<\/label>\n        <br>\n        <input type=\"radio\" id=\"2nm\" onchange=\"toggleSpacing();\" name=\"space\" \/>\n        <label for=\"2nm\">2 nm increments<\/label>\n        <br><br><br>\n        <div id=\"leftMostData\">&nbsp;<\/div>\n        <div id=\"leftData\">\n            <center><b>Wavelength (nm)<\/b><\/center>\n            <div class=\"SPDData\" id=\"wlinput\"><\/div>\n        <\/div>\n        <div id=\"rightData\">\n            &nbsp;&nbsp;<b>Irradiance (A.U.)<\/b><br>\n            <textarea class=\"SPDData\" id=\"irrinput\" onchange=\"processChange();\" onkeyup=\"processChange();\" onclick=\"recordPos();\" data-role=\"none\"><\/textarea>\n            <br><br>\n            <a class=\"btn btn-primary\" onclick=\"processSPD();\">SUBMIT<\/a>\n        <\/div>\n    <\/div>\n<\/div>\n<script>\nvar spacing;\nvar st = document.getElementById(\"spdDiv\");\nvar currHeightDiv = 0;\nvar currHeightPage = 0;\nfunction recordPos() {\n    currHeightDiv = st.scrollTop;\n    currHeightPage = window.scrollY;\n}\n\nfunction showSPDWindow() {\n    document.getElementById(\"overlaybackground\").style.display = \"block\";\n    initializeInputs();\n}\n\nfunction processSPD() {\n    var inputSPD = document.getElementById(\"irrinput\").value;\n    var rawSPD = inputSPD.split(\"\\n\");\n    var status = 0;\n    var wle = 380;\n    for (var y = 0; y < rawSPD.length; y++) {\n        if (isNaN(Number(rawSPD[y]))) {\n            status = 1;\n            wle = y * spacing + 380;\n        }\n    }\n\n    if (status == 0) {\n        if (spacing == 1) {\n            defaultSPD = [];\n            for (var x = 0; x < rawSPD.length; x++) {\n                if (x % 2 == 0) {\n                    defaultSPD.push(rawSPD[x]);\n                }\n            }\n        } else {\n            defaultSPD = rawSPD;\n        }\n        updateChart();\n        document.getElementById(\"overlaybackground\").style.display = \"none\";\n    } else {\n        alert(\"Error in input near \" + wle + \" nm. Please confirm input is a valid number.\");\n    }\n}\n\nfunction toggleSpacing() {\n    if (confirm(\"Changing the input wavelength interval will remove any SPD data in the table below. Continue?\")) {\n        initializeInputs();\n    } else {\n        var radio1 = document.getElementById('1nm');\n        if (radio1.checked) {\n            document.getElementById('1nm').checked = 'false';\n            document.getElementById('2nm').checked = 'true';\n        } else {\n            document.getElementById('2nm').checked = 'false';\n            document.getElementById('1nm').checked = 'true';\n        }\n    }\n}\n\nfunction initializeInputs() {\n    document.getElementById(\"wlinput\").innerHTML = '';\n    document.getElementById(\"irrinput\").value = '';\n    var radio1 = document.getElementById('1nm');\n    if (radio1.checked) {\n        spacing = 1;\n    } else {\n        spacing = 2;\n    }\n\n    for (var x = 0; x < 401; x++) {\n        if ((x % spacing) == 0) {\n            document.getElementById(\"wlinput\").innerHTML += (x + 380) + ' nm <br>';\n            if (x < 400) {\n                document.getElementById(\"irrinput\").value += '\\n';\n            }\n        }\n    }\n    var o = document.getElementById(\"irrinput\");\n    o.style.height = \"10px\";\n    o.style.height = (o.scrollHeight - 25) + \"px\";\n}\n\nfunction closeModal() {\n    document.getElementById(\"overlaybackground\").style.display = 'none';\n}\n\nfunction processChange() {\n    var o = document.getElementById(\"irrinput\");\n    var numRowsAdded = o.value.split(\"\\n\").length - 400 \/ spacing - 2;\n    if (numRowsAdded > 0) {\n        var upto = o.value.substr(0, o.selectionStart - 1);\n        var after = o.value.substr(o.selectionStart - 1, o.value.length);\n        var numRowsPrior = upto.split(\"\\n\").length - numRowsAdded - 1;\n        var totalLength = (numRowsAdded * 1 + 1) + numRowsPrior;\n\n        upto = upto + \"\\n\";\n        if (after.substr(0, 1) == \"\\n\") {\n            after = after.substr(1, after.length);\n            if (after.substr(0, 1) == \"\\n\") {\n                after = after.substr(1, after.length);\n            }\n        }\n\n        var keep = after.substr(nthIndex(after, \"\\n\", numRowsAdded - 1) + 1, after.length);\n\n        if (totalLength > (400 \/ spacing)) {\n            numRowsAdded = numRowsAdded + (400 \/ spacing - totalLength) + 1;\n            o.value = upto.substr(0, nthIndex(upto, \"\\n\", 400 \/ spacing + 1));\n            if (o.value == '') {\n                o.value = keep.substr(0, nthIndex(keep, \"\\n\", 400 \/ spacing + 1));\n            }\n        } else {\n            o.value = upto + \"\\n\" + keep;\n        }\n\n        o.scrollTop = '0';\n        st.scrollTop = currHeightDiv;\n        window.scrollTo(0, currHeightPage);\n    }\n}\n\nfunction nthIndex(str, pat, n) {\n    var L = str.length, i = -1;\n    while (n-- && i++ < L) {\n        i = str.indexOf(pat, i);\n        if (i < 0) break;\n    }\n    return i;\n}\n<\/script>\n\n<div id=\"dash\" style=\"width:100%;background-color: #efefef; padding-bottom: 8px;\">\n    <center><b>xy:<span id='xyColor'>&nbsp;&nbsp;<\/span><span id='xy'><\/span>&nbsp;|&nbsp;CCT:&nbsp;<span id='cct'><\/span>&nbsp;|&nbsp;Duv:&nbsp;<span id='duv'><\/span>&nbsp;|&nbsp;CRI (Ra):&nbsp;<span id='crira'><\/span>&nbsp;|&nbsp;R9:&nbsp;<span id='crir9'><\/b><\/span><\/center>\n<\/div>\n<div class=\"ListItem\">\n    <h2 id='input'>Calculate CIE 1931 xy Coordinates from Spectral Power Distribution (SPD)<\/h2>\n    <p>This online CIE 1931 xy calculator takes a spectral power distribution (SPD) input in either 1 nm or 2 nm resolution, and calculates the CIE 1931 xy coordinates. Click on \"Input SPD\" to load your SPD. Several notes on the SPD input:<\/p>\n    <p>- For best results, copy and paste irradiance data from a spreadsheet program or plain text editor, with line breaks between each wavelength data point.<\/p>\n    <p>- Wavelength range is 380 - 780 nm.<\/p>\n    <p>- Irradiance values are in arbitrary units. The calculator will automatically normalize all values.<\/p>\n<\/div>\n<section class=\"container\">\n    <div class=\"right-half tableitem\" style=\"vertical-align:top;\">\n        <div style=\"margin-top:14px; text-align: center;\">\n            <a class=\"btn btn-primary\" onclick=\"showSPDWindow();\">INPUT SPD<\/a>\n        <\/div>\n        <div class=\"ListItem\">\n            <h2 id='spd'>SPD Input<\/h2><br>\n            <div id=\"spdwrap\">\n                <div class=\"frontpage\">\n                    <canvas id=\"lineChart3\" width=\"400\" height=\"130\" style='width:100%;'><\/canvas>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n<div style=\"width: 100%; max-width: 1080px; margin: 0 auto; padding:20px; max-height: 600px; display: none;\">\n    <section class=\"container\" style='background:#fff; overflow:auto;'>\n        <h2>CIE 1931 xy Result: <\/h2>\n        <span id=\"cieresult\" style=\"font-size:300%;\">-<\/span>\n        <br><br>\n        <div class=\"frontpage\" id=\"ciecontainer\" style=\"position:relative;\">\n            <div id=\"ciewrap\" style=\"width: 100%; position: relative;\">\n                <canvas id=\"myChart\" class=\"myChart\" style=\"position: absolute; top: 0px; left: 0px; z-index: 3;\"><\/canvas>\n                <div id=\"cie\" class=\"cie\" style=\"position: absolute; top: 0px; left: 0px; z-index: 1; \">\n                    <canvas id=\"backgroundcie\"><\/canvas>\n                <\/div>\n            <\/div>\n        <\/div>\n        <div>\n            <input style=\"width:100%\" type=\"range\" id=\"value-zoom\" value=\"50\" onchange=\"zoomChange(0);\" \/>\n        <\/div>\n    <\/section>\n<\/div>\n<div style=\"width: 100%; max-width: 800px; margin: 0 auto; padding:20px; display:none;\">\n    <h2>Calculated CRI General (R1-R8): <\/h2>\n    <span id=\"raresult\" style=\"font-size:300%;\">-<\/span>\n    <h2>Calculated CRI Extended (R1-R15): <\/h2>\n    <span id=\"reresult\" style=\"font-size:300%;\">-<\/span>\n    <h2 id=\"cri\">CRI Individual R Values Result<\/h2>\n    <div class=\"skills\" style='display:none;'>\n        <ul class=\"lines\">\n            <li class=\"line l--0\">\n                <span class=\"line__label title\">Score:<\/span>\n            <\/li>\n            <li class=\"line l--25\">\n                <span class=\"line__label\">25<\/span>\n            <\/li>\n            <li class=\"line l--50\">\n                <span class=\"line__label\">50<\/span>\n            <\/li>\n            <li class=\"line l--75\">\n                <span class=\"line__label\">75<\/span>\n            <\/li>\n            <li class=\"line l--100\">\n                <span class=\"line__label\">100<\/span>\n            <\/li>\n        <\/ul>\n        <div class=\"charts\">\n            <div class=\"chart chart--dev\">\n                <ul class=\"chart--horiz\">\n                    <li class=\"chart__bar\" id=\"R1\" style=\"width: 100%; background: linear-gradient(to left, rgb(242, 185, 158), #efefef);\">\n                        <span class=\"chart__label\">R1<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R2\" style=\"width: 99%; background: linear-gradient(to left, rgb(206, 177, 82), #efefef)\">\n                        <span class=\"chart__label\">R2<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R3\" style=\"width: 99%; background: linear-gradient(to left, rgb(128, 186, 76), #efefef)\">\n                        <span class=\"chart__label\">R3<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R4\" style=\"width: 99%; background: linear-gradient(to left, rgb(0, 168, 166), #efefef)\">\n                        <span class=\"chart__label\">R4<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R5\" style=\"width: 100%; background: linear-gradient(to left, rgb(0, 159, 222), #efefef)\">\n                        <span class=\"chart__label\">R5<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R6\" style=\"width: 99%; background: linear-gradient(to left, rgb(0, 134, 205), #efefef)\">\n                        <span class=\"chart__label\">R6<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R7\" style=\"width: 98%; background: linear-gradient(to left, rgb(165, 148, 198), #efefef)\">\n                        <span class=\"chart__label\">R7<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R8\" style=\"width: 98%; background: linear-gradient(to left, rgb(233, 155, 193), #efefef)\">\n                        <span class=\"chart__label\">R8<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R9\" style=\"width: 92%; background: linear-gradient(to left, rgb(230, 0, 54), #efefef)\">\n                        <span class=\"chart__label\">R9<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R10\" style=\"width: 99%; background: linear-gradient(to left, rgb(255, 255, 0), #efefef)\">\n                        <span class=\"chart__label\">R10<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R11\" style=\"width: 99%; background: linear-gradient(to left, rgb(0, 137, 94), #efefef)\">\n                        <span class=\"chart__label\">R11<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R12\" style=\"width: 99%; background: linear-gradient(to left, rgb(0, 60, 149), #efefef)\">\n                        <span class=\"chart__label\">R12<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R13\" style=\"width: 99%; background: linear-gradient(to left, rgb(244, 232, 219), #efefef)\">\n                        <span class=\"chart__label\">R13<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R14\" style=\"width: 99%; background: linear-gradient(to left, rgb(0, 96, 68), #efefef)\">\n                        <span class=\"chart__label\">R14<\/span>\n                    <\/li>\n                    <li class=\"chart__bar\" id=\"R15\" style=\"width: 99%; background: linear-gradient(to left, rgb(245, 204, 165), #efefef)\">\n                        <span class=\"chart__label\">R15<\/span>\n                    <\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div><\/div><\/div><\/div><\/div><div id=\"pg-1349-1\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-1349-1-0\"  class=\"panel-grid-cell\" ><div id=\"panel-1349-1-0-0\" class=\"widget_text so-panel widget widget_custom_html panel-first-child panel-last-child\" data-index=\"3\" ><div class=\"textwidget custom-html-widget\"><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n \u00a0 \u00a0<title>IEC 60825-1:2014 Laser Safety Classification Guide<\/title>\n    <style>\n        body {\n            font-family: Arial, sans-serif;\n            line-height: 1.6;\n            margin: 0;\n            padding: 0;\n        }\n        h1 {\n            text-align: center;\n            color: #333;\n        }\n        .container {\n            max-width: 1200px; \n\t\t\t\t\t     margin: 0 auto; \n            padding: 0;\n        }\n        .section {\n            margin-bottom: 40px;\n        }\n        .section h2 {\n            color: #0056b3;\n        }\n        .steps {\n            list-style: decimal;\n            padding-left: 20px;\n        }\n        .note {\n            background-color: #f9f9f9;\n            border-left: 4px solid #0056b3;\n            padding: 10px;\n            margin-top: 20px;\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <h1>Laser Safety Classification Guide(IEC 60825-1:2014)<\/h1>\n\n        <div class=\"section\" id=\"cw-lasers\">\n            <h2>Continuous Wave (CW) Laser Safety Evaluation<\/h2>\n            <ol class=\"steps\">\n                <li>Determine that the laser output is Continuous Wave (CW).<\/li>\n                <li>Select the laser class and choose the appropriate time base (refer to 4.3.e).<\/li>\n                <li>Determine the Accessible Emission Limit (AEL) for the selected time base.<\/li>\n                <li>Compare the measured emission level with the AEL:\n                    <ul>\n                        <li>If the measured value is \u2264 AEL, the laser meets the class requirements.<\/li>\n                        <li>If the measured value is > AEL, choose a higher class and repeat the calculations until compliance is achieved.<\/li>\n                    <\/ul>\n                <\/li>\n                <li>If further evaluation for compliance with a lower class is needed, perform additional calculations. Otherwise, the process is complete.<\/li>\n            <\/ol>\n        <\/div>\n\n        <div class=\"section\" id=\"single-pulse-lasers\">\n            <h2>Single Pulse Laser Safety Evaluation<\/h2>\n            <ol class=\"steps\">\n                <li>Determine that the laser output is a single pulse.<\/li>\n                <li>Select the laser class and choose the appropriate time base.<\/li>\n                <li>Determine the AEL for a single pulse (AEL<sub>Single<\/sub>) and the AEL based on the time base (AEL<sub>S,T<\/sub>).<\/li>\n                <li>Choose the smaller value of AEL<sub>Single<\/sub> and AEL<sub>S,T<\/sub> for evaluation.<\/li>\n                <li>Compare the measured emission level with the chosen AEL:\n                    <ul>\n                        <li>If the measured value is \u2264 AEL, the laser meets the class requirements.<\/li>\n                        <li>If the measured value is > AEL, choose a higher class and repeat the calculations.<\/li>\n                    <\/ul>\n                <\/li>\n                <li>If further evaluation for compliance with a lower class is needed, perform additional calculations. Otherwise, the process is complete.<\/li>\n            <\/ol>\n        <\/div>\n\n        <div class=\"section\" id=\"repetitive-pulse-lasers\">\n            <h2>Repetitively Pulsed Laser Safety Evaluation<\/h2>\n            <ol class=\"steps\">\n                <li>Determine that the laser output is repetitively pulsed.<\/li>\n                <li>Select the laser class and choose the appropriate time base.<\/li>\n                <li>Determine the AEL for a single pulse (AEL<sub>Single<\/sub>) and the AEL based on the time base (AEL<sub>S,T<\/sub>).<\/li>\n                <li>Check if multiple pulses occur within the period T<sub>i<\/sub> (refer to Table 2):\n                    <ul>\n                        <li>If yes, calculate the maximum allowable number of pulses (N<sub>max<\/sub>).<\/li>\n                        <li>Use Note 2 to calculate the pulse train AEL (AEL<sub>p,train<\/sub>): AEL<sub>p,train<\/sub> = AEL<sub>Single<\/sub> \u00d7 C<sub>p<\/sub>.<\/li>\n                    <\/ul>\n                <\/li>\n                <li>Compare the measured emission level with the smallest value among:\n                    <ul>\n                        <li>AEL<sub>Single<\/sub><\/li>\n                        <li>AEL<sub>S,T<\/sub><\/li>\n                        <li>AEL<sub>p,train<\/sub><\/li>\n                    <\/ul>\n                <\/li>\n                <li>If the measured value is \u2264 the smallest AEL, the laser meets the class requirements. Otherwise, choose a higher class and repeat calculations.<\/li>\n                <li>If further evaluation for compliance with a lower class is needed, perform additional calculations. Otherwise, the process is complete.<\/li>\n            <\/ol>\n        <\/div>\n\n        <div class=\"section\" id=\"class-1m-2m-lasers\">\n            <h2>Class 1M and 2M Laser Safety Evaluation<\/h2>\n            <ol class=\"steps\">\n                <li>Choose the initial class of the laser: Class 1, Class 2, Class 3R, or Class 3B.<\/li>\n                <li>Select the applicable time base (refer to 4.3.e).<\/li>\n                <li>Determine the AEL for the chosen class.<\/li>\n                <li>Measure the laser output according to Condition 1 (see Table 10).<\/li>\n                <li>Compare the measured laser output with the AEL for Condition 1:\n                    <ul>\n                        <li>If the laser output is \u2264 AEL, the laser meets the class requirements.<\/li>\n                        <li>If the laser output is > AEL, choose a higher class (e.g., Class 3B or Class 4) and repeat calculations.<\/li>\n                    <\/ul>\n                <\/li>\n                <li>If required, check whether the laser could satisfy the AEL of a lower class and repeat calculations.<\/li>\n                <li>If needed, verify whether the laser could be classified as Class 1M or Class 2M:\n                    <ul>\n                        <li>Measure the laser output under Condition 3 (see Table 10) and compare with the AEL for Class 1 or Class 2.<\/li>\n                        <li>If the output is \u2264 AEL, the laser is classified as Class 1M or Class 2M.<\/li>\n                        <li>If the output is > AEL for Class 1 or Class 2 but < AEL for Class 3B, the laser is also classified as Class 1M or Class 2M.<\/li>\n                        <li>If neither condition is met, the laser is not classified as Class 1M or Class 2M.<\/li>\n                    <\/ul>\n                <\/li>\n            <\/ol>\n        <\/div>\n\n        <div class=\"note\">\n            <strong>Note:<\/strong>\n            <ul>\n                <li>AEL<sub>Single<\/sub>: Accessible Emission Limit for a single pulse.<\/li>\n                <li>AEL<sub>S,T<\/sub>: Accessible Emission Limit based on the chosen time base.<\/li>\n                <li>AEL<sub>p,train<\/sub>: Accessible Emission Limit for a pulse train, considering the pulse count and correction factor C<sub>p<\/sub>.<\/li>\n                <li>T: Time base duration.<\/li>\n                <li>N<sub>max<\/sub>: Maximum number of pulses allowed within the period T<sub>i<\/sub>.<\/li>\n            <\/ul>\n        <\/div>\n    <\/div>\n<\/body>\n<\/html>\n<\/div><\/div><\/div><\/div><div id=\"pg-1349-2\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-1349-2-0\"  class=\"panel-grid-cell\" ><div id=\"panel-1349-2-0-0\" class=\"widget_text so-panel widget widget_custom_html panel-first-child\" data-index=\"4\" ><div class=\"textwidget custom-html-widget\"><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>UV Hazard Calculator (IEC-62471-6:2022)<\/title>\n    <style>\n        \/* Specific styles for the UV Hazard Calculator *\/\n        .uv-hazard-container-iec62471 { max-width: 1200px; margin: 0 auto; background-color: white; padding: 20px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }\n        .uv-hazard-container-iec62471 .input-section { margin-bottom: 20px; }\n        .uv-hazard-container-iec62471 .input-section h2 { margin-bottom: 10px; color: #007BFF; }\n        .uv-hazard-container-iec62471 .input-table { display: none; grid-template-columns: auto auto; gap: 10px; margin-bottom: 20px; }\n        .uv-hazard-container-iec62471 .input-table label { font-weight: bold; }\n        .uv-hazard-container-iec62471 .input-table input { width: 120px; padding: 5px; border: 1px solid #ccc; border-radius: 5px; }\n        .uv-hazard-container-iec62471 .results { margin-top: 20px; }\n        .uv-hazard-container-iec62471 .results h2 { margin-bottom: 10px; color: #007BFF; }\n        .uv-hazard-container-iec62471 .results p { margin: 5px 0; }\n        .uv-hazard-container-iec62471 button { padding: 10px 20px; font-size: 16px; cursor: pointer; background-color: #007BFF; color: white; border: none; border-radius: 5px; width: 200px; }\n        .uv-hazard-container-iec62471 button:hover { background-color: #0056b3; }\n        .uv-hazard-container-iec62471 .spectrum-chart { margin-top: 20px; text-align: center; }\n        .uv-hazard-container-iec62471 .spectrum-chart svg { width: 100%; height: 250px; border: 2px solid #007BFF; border-radius: 5px; }\n\n        \/* Hide spectrum chart on mobile devices *\/\n        @media (max-width: 768px) {\n            .uv-hazard-container-iec62471 .spectrum-chart { display: none; }\n        }\n\n        .uv-hazard-container-iec62471 .axis-label { font-size: 12px; fill: #333; }\n        .uv-hazard-container-iec62471 .axis-line { stroke: #000; stroke-width: 1; }\n        .uv-hazard-container-iec62471 .grid-line { stroke: #ddd; stroke-width: 0.5; }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"uv-hazard-container-iec62471\">\n        <h1>UV Hazard Calculator (IEC-62471-6:2022)<\/h1>\n        <div class=\"input-section\">\n            <h2>Input Irradiance Data (200-400 nm)<\/h2>\n            <button onclick=\"uvToggleInputTable()\">Input Irradiance Data<\/button>\n            <div class=\"input-table\" id=\"uv-wavelength-inputs\"><\/div>\n            <button onclick=\"uvCalculateHazard()\" style=\"margin-top: 10px;\">Calculate Hazard<\/button>\n        <\/div>\n        <div class=\"results\">\n            <h2>Results<\/h2>\n            <p><strong>Actinic UV Hazard (200-400 nm):<\/strong> <span id=\"uv-result-200-400\">-<\/span> W\u00b7m\u207b\u00b2<\/p>\n            <p><strong>Actinic UV Hazard (200-315 nm):<\/strong> <span id=\"uv-result-200-315\">-<\/span> W\u00b7m\u207b\u00b2<\/p>\n            <p><strong>Hazard Level:<\/strong> <span id=\"uv-hazard-level\">-<\/span><\/p>\n        <\/div>\n        <div class=\"spectrum-chart\">\n            <h2>Spectral Irradiance<\/h2>\n            <svg id=\"uv-spectrum-svg\"><\/svg>\n        <\/div>\n    <\/div>\n\n    <script>\n        (function() {\n            \/\/ Weighting function array (200-400 nm, 2 nm interval)\n            const actinicWeights = [\n                0.03, 0.0371, 0.0459, 0.0551, 0.0643, 0.075, 0.0824, 0.0906, 0.0995, 0.1093,\n                0.12, 0.1316, 0.1444, 0.1583, 0.1737, 0.19, 0.2089, 0.2292, 0.251, 0.2744,\n                0.3, 0.3227, 0.3471, 0.373, 0.4005, 0.43, 0.4637, 0.5, 0.5437, 0.5945,\n                0.65, 0.7098, 0.7751, 0.8449, 0.9192, 1, 0.9838, 0.9679, 0.9434, 0.9112,\n                0.88, 0.8342, 0.7908, 0.742, 0.6891, 0.64, 0.598, 0.5587, 0.4984, 0.3989,\n                0.3, 0.1629, 0.0849, 0.0454, 0.026, 0.015, 0.0081, 0.0042, 0.0024, 0.0016,\n                0.001, 0.00067, 0.00052, 0.000479, 0.00044, 0.00041, 0.000383, 0.000355,\n                0.000327, 0.000303, 0.00028, 0.000263, 0.000248, 0.000231, 0.000215, 0.0002,\n                0.000183, 0.000167, 0.000153, 0.000141, 0.00013, 0.000122, 0.000114, 0.000106,\n                0.000099, 0.000093, 0.000086, 0.00008, 0.000074, 0.000069, 0.000064, 0.000059,\n                0.000055, 0.000051, 0.000047, 0.000044, 0.000041, 0.000037, 0.000035, 0.000032,\n                0.00003\n            ];\n\n            \/\/ Predefined irradiance data (mW m\u207b\u00b2 nm\u207b\u00b9)\n            const predefinedIrradiance = [\n                0.00384367, 0.004964135, 0.006101594, 0.007357207, 0.008813646, 0.0105351, 0.012578596, 0.014975731, 0.017752669, 0.020956872,\n                0.0246571, 0.02893575, 0.033926061, 0.039769557, 0.046505901, 0.0540729, 0.062430875, 0.071647923, 0.081820814, 0.093086076,\n                0.10562, 0.119573505, 0.134989101, 0.151893964, 0.17058583, 0.191633, 0.215437231, 0.241687051, 0.269915173, 0.300171675,\n                0.333024, 0.368933445, 0.407846748, 0.449603901, 0.494548552, 0.543528, 0.597038453, 0.654084159, 0.713368588, 0.775256111,\n                0.841772, 0.914552583, 0.993389564, 1.077583376, 1.165741808, 1.25578, 1.346884105, 1.443444774, 1.550923591, 1.669487739,\n                1.79401, 1.920603404, 2.051262732, 2.189331539, 2.335355016, 2.48708, 2.643146587, 2.806254599, 2.980008911, 3.165487211,\n                3.36124, 3.565501858, 3.77568318, 3.989112098, 4.205963693, 4.42926, 4.662406622, 4.909848323, 5.175951499, 5.457304974,\n                5.74272, 6.025036294, 6.314560058, 6.625288083, 6.955668343, 7.2886, 7.61277141, 7.942731854, 8.298659746, 8.681503193,\n                9.07298, 9.459278804, 9.847815984, 10.25092292, 10.67191669, 11.1051, 11.54635313, 11.99943416, 12.46993768, 12.96040016,\n                13.4703, 13.99621831, 14.52367895, 15.03625098, 15.53612236, 16.0441, 16.57681044, 17.13092076, 17.69827918, 18.27466728,\n                18.8598\n            ];\n\n            \/\/ Generate input fields and load predefined data\n            const wavelengthInputs = document.getElementById('uv-wavelength-inputs');\n            for (let i = 0; i < actinicWeights.length; i++) {\n                const wavelength = 200 + i * 2;\n\n                \/\/ Wavelength label\n                const label = document.createElement('label');\n                label.textContent = `${wavelength} nm:`;\n                wavelengthInputs.appendChild(label);\n\n                \/\/ Irradiance input\n                const input = document.createElement('input');\n                input.type = 'number';\n                input.id = `uv-input-${wavelength}`;\n                input.placeholder = \"Irradiance in 2\u03c0 (mW m\u207b\u00b2 nm\u207b\u00b9)\";\n                input.value = predefinedIrradiance[i]; \/\/ Load predefined data\n                wavelengthInputs.appendChild(input);\n            }\n\n            \/\/ Toggle input table visibility\n            window.uvToggleInputTable = function() {\n                const inputTable = document.querySelector('.uv-hazard-container-iec62471 .input-table');\n                inputTable.style.display = inputTable.style.display === 'grid' ? 'none' : 'grid';\n            };\n\n            \/\/ Calculate hazard\n            window.uvCalculateHazard = function() {\n                let totalHazard200_400 = 0;\n                let totalHazard200_315 = 0;\n\n                for (let i = 0; i < actinicWeights.length; i++) {\n                    const wavelength = 200 + i * 2;\n                    const irradiance = parseFloat(document.getElementById(`uv-input-${wavelength}`).value) || 0;\n                    const weight = actinicWeights[i];\n                    const hazard = irradiance * weight * 2; \/\/ 2 nm interval\n\n                    totalHazard200_400 += hazard;\n                    if (wavelength <= 315) {\n                        totalHazard200_315 += hazard;\n                    }\n                }\n\n                \/\/ Convert to W\u00b7m\u207b\u00b2\n                totalHazard200_400 \/= 1000;\n                totalHazard200_315 \/= 1000;\n\n                \/\/ Display results in W\u00b7m\u207b\u00b2\n                document.getElementById('uv-result-200-400').textContent = totalHazard200_400.toFixed(6);\n                document.getElementById('uv-result-200-315').textContent = totalHazard200_315.toFixed(6);\n\n                \/\/ Determine hazard level\n                document.getElementById('uv-hazard-level').textContent = getHazardLevel(totalHazard200_400, totalHazard200_315);\n\n                \/\/ Update spectrum chart\n                updateSpectrumChart();\n            };\n\n            \/\/ Determine hazard level based on Actinic UV and UV-A limits\n            function getHazardLevel(hazard200_400, hazard200_315) {\n                \/\/ Actinic UV (180-400 nm) limits\n                if (hazard200_400 <= 0.001) return \"Exempt (Actinic UV)\";\n                else if (hazard200_400 <= 0.003) return \"Risk Group 1 (Actinic UV)\";\n                else if (hazard200_400 <= 0.03) return \"Risk Group 2 (Actinic UV)\";\n                else return \"Risk Group 3 (Actinic UV)\";\n\n                \/\/ UV-A (315-400 nm) limits\n                if (hazard200_315 <= 10) return \"Exempt (UV-A)\";\n                else if (hazard200_315 <= 33) return \"Risk Group 1 (UV-A)\";\n                else if (hazard200_315 <= 100) return \"Risk Group 2 (UV-A)\";\n                else return \"Risk Group 3 (UV-A)\";\n            }\n\n            \/\/ Update spectrum chart\n            function updateSpectrumChart() {\n                const svg = document.getElementById('uv-spectrum-svg');\n                svg.innerHTML = ''; \/\/ Clear previous content\n\n                const wavelengths = [];\n                const irradiances = [];\n                for (let i = 0; i < actinicWeights.length; i++) {\n                    const wavelength = 200 + i * 2;\n                    const irradiance = parseFloat(document.getElementById(`uv-input-${wavelength}`).value) || 0;\n                    wavelengths.push(wavelength);\n                    irradiances.push(irradiance);\n                }\n\n                const width = 800;\n                const height = 250;\n                const padding = 40;\n\n                const xScale = (wavelength) => (wavelength - 200) \/ (400 - 200) * (width - 2 * padding) + padding;\n                const yScale = (irradiance) => height - padding - (irradiance \/ Math.max(...irradiances)) * (height - 2 * padding);\n\n                \/\/ Draw grid lines\n                for (let i = 0; i <= 1; i += 0.2) {\n                    const y = height - padding - i * (height - 2 * padding);\n                    const gridLine = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'line');\n                    gridLine.setAttribute('x1', padding);\n                    gridLine.setAttribute('y1', y);\n                    gridLine.setAttribute('x2', width - padding);\n                    gridLine.setAttribute('y2', y);\n                    gridLine.setAttribute('class', 'grid-line');\n                    svg.appendChild(gridLine);\n\n                    const label = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n                    label.setAttribute('x', padding - 30);\n                    label.setAttribute('y', y + 5);\n                    label.setAttribute('class', 'axis-label');\n                    label.textContent = i.toFixed(1);\n                    svg.appendChild(label);\n                }\n\n                \/\/ Draw x-axis labels\n                for (let wavelength = 200; wavelength <= 400; wavelength += 40) {\n                    const x = xScale(wavelength);\n                    const label = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n                    label.setAttribute('x', x);\n                    label.setAttribute('y', height - padding + 20);\n                    label.setAttribute('class', 'axis-label');\n                    label.textContent = `${wavelength} nm`;\n                    svg.appendChild(label);\n                }\n\n                \/\/ Draw spectrum path\n                const pathData = wavelengths.map((wavelength, i) => {\n                    const x = xScale(wavelength);\n                    const y = yScale(irradiances[i]);\n                    return `${i === 0 ? 'M' : 'L'} ${x},${y}`;\n                }).join(' ');\n\n                const path = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n                path.setAttribute('d', pathData);\n                path.setAttribute('stroke', '#007BFF');\n                path.setAttribute('stroke-width', '2');\n                path.setAttribute('fill', 'none');\n                svg.appendChild(path);\n\n                \/\/ Draw axes\n                const xAxis = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'line');\n                xAxis.setAttribute('x1', padding);\n                xAxis.setAttribute('y1', height - padding);\n                xAxis.setAttribute('x2', width - padding);\n                xAxis.setAttribute('y2', height - padding);\n                xAxis.setAttribute('class', 'axis-line');\n                svg.appendChild(xAxis);\n\n                const yAxis = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'line');\n                yAxis.setAttribute('x1', padding);\n                yAxis.setAttribute('y1', padding);\n                yAxis.setAttribute('x2', padding);\n                yAxis.setAttribute('y2', height - padding);\n                yAxis.setAttribute('class', 'axis-line');\n                svg.appendChild(yAxis);\n            }\n\n            \/\/ Enable paste functionality for irradiance inputs\n            const inputs = document.querySelectorAll('.uv-hazard-container-iec62471 .input-table input');\n            inputs.forEach((input, index) => {\n                input.addEventListener('paste', (event) => {\n                    event.preventDefault();\n                    const pasteData = event.clipboardData.getData('text').trim().split(\/\\s+\/);\n                    pasteData.forEach((value, i) => {\n                        if (inputs[index + i]) {\n                            inputs[index + i].value = value;\n                        }\n                    });\n                    uvCalculateHazard(); \/\/ Recalculate after paste\n                });\n            });\n\n            \/\/ Initial calculation and chart update\n            uvCalculateHazard();\n        })();\n    <\/script>\n<\/body>\n<\/html><\/div><\/div><div id=\"panel-1349-2-0-1\" class=\"widget_text so-panel widget widget_custom_html\" data-index=\"5\" ><div class=\"textwidget custom-html-widget\"><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Blue Light Hazard Calculator (IEC 62471-7:2023)<\/title>\n    <style>\n        \/* Specific styles for the Blue Light Hazard Calculator *\/\n        .blue-light-container-iec62471 { max-width: 1200px; margin: 0 auto; background-color: white; padding: 20px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }\n        .blue-light-container-iec62471 .input-section { margin-bottom: 20px; }\n        .blue-light-container-iec62471 .input-section h2 { margin-bottom: 10px; color: #007BFF; }\n        .blue-light-container-iec62471 .input-table { display: none; grid-template-columns: auto auto; gap: 10px; margin-bottom: 20px; }\n        .blue-light-container-iec62471 .input-table label { font-weight: bold; }\n        .blue-light-container-iec62471 .input-table input { width: 120px; padding: 5px; border: 1px solid #ccc; border-radius: 5px; }\n        .blue-light-container-iec62471 .results { margin-top: 20px; }\n        .blue-light-container-iec62471 .results h2 { margin-bottom: 10px; color: #007BFF; }\n        .blue-light-container-iec62471 .results p { margin: 5px 0; }\n        .blue-light-container-iec62471 button { padding: 10px 20px; font-size: 16px; cursor: pointer; background-color: #007BFF; color: white; border: none; border-radius: 5px; width: 200px; }\n        .blue-light-container-iec62471 button:hover { background-color: #0056b3; }\n        .blue-light-container-iec62471 .spectrum-chart { margin-top: 20px; text-align: center; }\n        .blue-light-container-iec62471 .spectrum-chart svg { width: 100%; height: 250px; border: 2px solid #007BFF; border-radius: 5px; }\n\n        \/* Hide spectrum chart on mobile devices *\/\n        @media (max-width: 768px) {\n            .blue-light-container-iec62471 .spectrum-chart { display: none; }\n        }\n\n        .blue-light-container-iec62471 .axis-label { font-size: 12px; fill: #333; }\n        .blue-light-container-iec62471 .axis-line { stroke: #000; stroke-width: 1; }\n        .blue-light-container-iec62471 .grid-line { stroke: #ddd; stroke-width: 0.5; }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"blue-light-container-iec62471\">\n        <h1>Blue Light Hazard Calculator (IEC 62471-7:2023)<\/h1>\n        <div class=\"input-section\">\n            <h2>Input Radiance Data (300-700 nm)<\/h2>\n            <button onclick=\"blueLightToggleInputTable()\">Input Radiance Data<\/button>\n            <div class=\"input-table\" id=\"blue-light-wavelength-inputs\"><\/div>\n            <button onclick=\"blueLightCalculateHazard()\" style=\"margin-top: 10px;\">Calculate Hazard<\/button>\n        <\/div>\n        <div class=\"results\">\n            <h2>Results<\/h2>\n            <p><strong>Blue Light Hazard (300-700 nm):<\/strong> <span id=\"blue-light-result-300-700\">-<\/span> W\u00b7m\u207b\u00b2\u00b7sr\u207b\u00b9<\/p>\n            <p><strong>Application Group:<\/strong> <span id=\"blue-light-application-group\">-<\/span><\/p>\n        <\/div>\n        <div class=\"spectrum-chart\">\n            <h2>Spectral Radiance<\/h2>\n            <svg id=\"blue-light-spectrum-svg\"><\/svg>\n        <\/div>\n    <\/div>\n\n    <script>\n        (function() {\n            \/\/ Blue Light Hazard weighting factors (300-700 nm)\n            const blueLightWeights = [\n                0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,\n                0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,\n                0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,\n                0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,\n                0.01, 0.011106503, 0.012335441, 0.0148164, 0.019246038, 0.025,\n                0.032987698, 0.043527528, 0.057434918, 0.075785828, 0.1, 0.2,\n                0.4, 0.8, 0.9, 0.95, 0.98, 1, 1, 0.97, 0.94, 0.9, 0.8, 0.7,\n                0.62, 0.55, 0.45, 0.4, 0.22, 0.16, 0.1, 0.079, 0.063, 0.05,\n                0.04, 0.032, 0.025, 0.02, 0.016, 0.013, 0.01, 0.008, 0.006,\n                0.005, 0.004, 0.003, 0.002, 0.001, 0.001, 0.001, 0.001, 0.001,\n                0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,\n                0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,\n                0.001, 0.001, 0.001, 0.001\n            ];\n\n            \/\/ Predefined radiance data (mW m\u207b\u00b2 sr\u207b\u00b9 nm\u207b\u00b9)\n            const predefinedRadiance = [\n                0.017062851, 0.019969906, 0.02850207, 0.024742921, 0.010948301, 0.016069357, 0.011364631, 0.022911601, 0.032585394, 0.02850649,\n                0.026474944, 0.104352967, 0.115736192, 0.13268151, 0.134539791, 0.157547542, 0.157794583, 0.163124627, 0.163242525, 0.164946597,\n                0.166236087, 0.154084236, 0.151431803, 0.141222057, 0.137930772, 0.122143504, 0.101991794, 0.093717908, 0.084863717, 0.078462343,\n                0.072488998, 0.066513713, 0.067671557, 0.069923479, 0.059064199, 0.062956419, 0.079919857, 0.149463131, 0.42934601, 0.995564077,\n                2.103316717, 4.661639429, 10.50655137, 22.93408081, 47.0833955, 93.0934617, 172.7577821, 307.7045579, 527.446029, 885.0852968,\n                1423.27147, 4830.445237, 13867.46621, 35637.79718, 81498.42735, 162312.3908, 284432.5699, 423742.4698, 542964.2317, 636416.9421,\n                670622.8422, 535215.9249, 330573.1864, 210378.7614, 148209.9305, 104408.478, 81216.79806, 74486.22991, 78621.02931, 94399.82949,\n                121066.0573, 155051.0177, 187367.7315, 219386.1453, 247665.8987, 270072.0869, 287049.7541, 298583.9659, 306203.8505, 309958.0857,\n                313155.1259, 311754.8653, 308562.555, 306240.7299, 299519.9387, 294761.4652, 285114.683, 276875.9531, 265499.9776, 252511.2155,\n                241089.2716, 226960.6548, 211334.6792, 194850.5173, 180845.2541, 166821.0671, 153362.7913, 140289.7185, 127029.3169, 115469.121,\n                104540.009, 94441.86212, 84442.66706, 75537.70404, 67727.90952, 60096.81413, 53579.98699, 47487.95851, 42260.3248, 36830.6205,\n                32334.12615\n            ];\n\n            \/\/ Generate input fields and load predefined data\n            const wavelengthInputs = document.getElementById('blue-light-wavelength-inputs');\n            let wavelength = 300;\n            for (let i = 0; i < blueLightWeights.length; i++) {\n                \/\/ Stop generating inputs if wavelength exceeds 700 nm\n                if (wavelength > 700) break;\n\n                \/\/ Wavelength label\n                const label = document.createElement('label');\n                label.textContent = `${wavelength} nm:`;\n                wavelengthInputs.appendChild(label);\n\n                \/\/ Radiance input\n                const input = document.createElement('input');\n                input.type = 'number';\n                input.id = `blue-light-input-${wavelength}`;\n                input.placeholder = \"Radiance (mW m\u207b\u00b2 sr\u207b\u00b9 nm\u207b\u00b9)\";\n                input.value = predefinedRadiance[i]; \/\/ Load predefined data\n                wavelengthInputs.appendChild(input);\n\n                \/\/ Update wavelength for next iteration\n                wavelength += (wavelength < 400) ? 2 : 5;\n            }\n\n            \/\/ Toggle input table visibility\n            window.blueLightToggleInputTable = function() {\n                const inputTable = document.querySelector('.blue-light-container-iec62471 .input-table');\n                inputTable.style.display = inputTable.style.display === 'grid' ? 'none' : 'grid';\n            };\n\n            \/\/ Calculate hazard\n            window.blueLightCalculateHazard = function() {\n                let totalHazard = 0;\n                let wavelength = 300;\n\n                for (let i = 0; i < blueLightWeights.length; i++) {\n                    \/\/ Stop calculation if wavelength exceeds 700 nm\n                    if (wavelength > 700) break;\n\n                    const radiance = parseFloat(document.getElementById(`blue-light-input-${wavelength}`).value) || 0;\n                    const weight = blueLightWeights[i];\n                    const interval = (wavelength < 400) ? 2 : 5; \/\/ 2nm or 5nm interval\n                    totalHazard += radiance * weight * interval;\n\n                    \/\/ Update wavelength for next iteration\n                    wavelength += interval;\n                }\n\n                \/\/ Convert to W\u00b7m\u207b\u00b2\u00b7sr\u207b\u00b9\n                totalHazard \/= 1000;\n\n                \/\/ Display results\n                document.getElementById('blue-light-result-300-700').textContent = totalHazard.toFixed(6);\n\n                \/\/ Determine application group\n                document.getElementById('blue-light-application-group').textContent = getApplicationGroup(totalHazard);\n\n                \/\/ Update spectrum chart\n                updateSpectrumChart();\n            };\n\n            \/\/ Determine application group based on Blue Light Hazard limits\n            function getApplicationGroup(hazard) {\n                if (hazard <= 10000) return \"BLH-A\";\n                else if (hazard <= 100000) return \"BLH-B\";\n                else if (hazard <= 4000000) return \"BLH-C\";\n                else return \"BLH-D (Not Acceptable)\";\n            }\n\n            \/\/ Update spectrum chart\n            function updateSpectrumChart() {\n                const svg = document.getElementById('blue-light-spectrum-svg');\n                svg.innerHTML = ''; \/\/ Clear previous content\n\n                const wavelengths = [];\n                const radiances = [];\n                let wavelength = 300;\n                for (let i = 0; i < blueLightWeights.length; i++) {\n                    \/\/ Stop if wavelength exceeds 700 nm\n                    if (wavelength > 700) break;\n\n                    const radiance = parseFloat(document.getElementById(`blue-light-input-${wavelength}`).value) || 0;\n                    wavelengths.push(wavelength);\n                    radiances.push(radiance);\n                    wavelength += (wavelength < 400) ? 2 : 5;\n                }\n\n                const width = 800;\n                const height = 250;\n                const padding = 40;\n\n                const xScale = (wavelength) => (wavelength - 300) \/ (700 - 300) * (width - 2 * padding) + padding;\n                const yScale = (radiance) => height - padding - (radiance \/ Math.max(...radiances)) * (height - 2 * padding);\n\n                \/\/ Draw grid lines\n                for (let i = 0; i <= 1; i += 0.2) {\n                    const y = height - padding - i * (height - 2 * padding);\n                    const gridLine = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'line');\n                    gridLine.setAttribute('x1', padding);\n                    gridLine.setAttribute('y1', y);\n                    gridLine.setAttribute('x2', width - padding);\n                    gridLine.setAttribute('y2', y);\n                    gridLine.setAttribute('class', 'grid-line');\n                    svg.appendChild(gridLine);\n\n                    const label = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n                    label.setAttribute('x', padding - 30);\n                    label.setAttribute('y', y + 5);\n                    label.setAttribute('class', 'axis-label');\n                    label.textContent = i.toFixed(1);\n                    svg.appendChild(label);\n                }\n\n                \/\/ Draw x-axis labels\n                for (let wavelength = 300; wavelength <= 700; wavelength += 50) {\n                    const x = xScale(wavelength);\n                    const label = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n                    label.setAttribute('x', x);\n                    label.setAttribute('y', height - padding + 20);\n                    label.setAttribute('class', 'axis-label');\n                    label.textContent = `${wavelength} nm`;\n                    svg.appendChild(label);\n                }\n\n                \/\/ Draw spectrum path\n                const pathData = wavelengths.map((wavelength, i) => {\n                    const x = xScale(wavelength);\n                    const y = yScale(radiances[i]);\n                    return `${i === 0 ? 'M' : 'L'} ${x},${y}`;\n                }).join(' ');\n\n                const path = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n                path.setAttribute('d', pathData);\n                path.setAttribute('stroke', '#007BFF');\n                path.setAttribute('stroke-width', '2');\n                path.setAttribute('fill', 'none');\n                svg.appendChild(path);\n\n                \/\/ Draw axes\n                const xAxis = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'line');\n                xAxis.setAttribute('x1', padding);\n                xAxis.setAttribute('y1', height - padding);\n                xAxis.setAttribute('x2', width - padding);\n                xAxis.setAttribute('y2', height - padding);\n                xAxis.setAttribute('class', 'axis-line');\n                svg.appendChild(xAxis);\n\n                const yAxis = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'line');\n                yAxis.setAttribute('x1', padding);\n                yAxis.setAttribute('y1', padding);\n                yAxis.setAttribute('x2', padding);\n                yAxis.setAttribute('y2', height - padding);\n                yAxis.setAttribute('class', 'axis-line');\n                svg.appendChild(yAxis);\n            }\n\n            \/\/ Enable paste functionality for radiance inputs\n            const inputs = document.querySelectorAll('.blue-light-container-iec62471 .input-table input');\n            inputs.forEach((input, index) => {\n                input.addEventListener('paste', (event) => {\n                    event.preventDefault();\n                    const pasteData = event.clipboardData.getData('text').trim().split(\/\\s+\/);\n                    pasteData.forEach((value, i) => {\n                        if (inputs[index + i]) {\n                            inputs[index + i].value = value;\n                        }\n                    });\n                    blueLightCalculateHazard(); \/\/ Recalculate after paste\n                });\n            });\n\n            \/\/ Initial calculation and chart update\n            blueLightCalculateHazard();\n        })();\n    <\/script>\n<\/body>\n<\/html><\/div><\/div><div id=\"panel-1349-2-0-2\" class=\"widget_text so-panel widget widget_custom_html\" data-index=\"6\" ><div class=\"textwidget custom-html-widget\"><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Light Signal Projection Intensity Angle Calculator (GB 5920-2024)<\/title>\n    <style>\n        \/* \u786e\u4fdd\u4e0d\u8986\u76d6\u4e3b\u9898\u6837\u5f0f\uff0c\u4ec5\u6dfb\u52a0\u5fc5\u8981\u7684\u6837\u5f0f *\/\n        .calculator-container {\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            width: 100%;\n            box-sizing: border-box;\n        }\n        .calculator {\n            background-color: inherit; \/* \u7ee7\u627f\u4e3b\u9898\u80cc\u666f\u8272 *\/\n            padding: 20px;\n            border-top: 4px solid #0073e6; \/* \u9876\u90e8\u84dd\u8272\u8fb9\u6846 *\/\n            border-bottom: 4px solid #0073e6; \/* \u5e95\u90e8\u84dd\u8272\u8fb9\u6846 *\/\n            width: 100%;\n            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n            text-align: center;\n        }\n        .calculator h2 {\n            color: inherit; \/* \u7ee7\u627f\u4e3b\u9898\u6587\u5b57\u989c\u8272 *\/\n            margin-bottom: 20px;\n        }\n        .input-group {\n            margin-bottom: 15px;\n            text-align: left;\n        }\n        .input-group label {\n            display: block;\n            margin-bottom: 5px;\n            color: inherit; \/* \u7ee7\u627f\u4e3b\u9898\u6587\u5b57\u989c\u8272 *\/\n        }\n        .input-group input {\n            width: 100%;\n            padding: 8px;\n            box-sizing: border-box;\n            border: 1px solid #ccc;\n            border-radius: 5px;\n            background-color: inherit; \/* \u7ee7\u627f\u4e3b\u9898\u80cc\u666f\u8272 *\/\n            color: inherit; \/* \u7ee7\u627f\u4e3b\u9898\u6587\u5b57\u989c\u8272 *\/\n        }\n        button {\n            width: 100%;\n            padding: 10px;\n            background-color: #0073e6;\n            color: white;\n            border: none;\n            border-radius: 5px;\n            cursor: pointer;\n            font-size: 16px;\n        }\n        button:hover {\n            background-color: #005bb5;\n        }\n        .result {\n            margin-top: 20px;\n            font-weight: bold;\n            color: #0073e6;\n        }\n    <\/style>\n<\/head>\n<body>\n\n<div class=\"calculator-container\">\n    <div class=\"calculator\">\n        <h2>Light Signal Projection Intensity Angle Calculator (GB 5920-2024)<\/h2>\n\n        <div class=\"input-group\">\n            <label for=\"height\">Installation Height h (meters):<\/label>\n            <input type=\"number\" id=\"height\" step=\"0.1\" placeholder=\"Enter installation height h\">\n        <\/div>\n\n        <button onclick=\"calculate()\">Calculate<\/button>\n\n        <div class=\"result\" id=\"result\"><\/div>\n    <\/div>\n<\/div>\n\n<script>\n    function calculate() {\n        const h = parseFloat(document.getElementById('height').value);\n        if (isNaN(h)) {\n            alert('Please enter a valid installation height h');\n            return;\n        }\n\n        const phiMinRad = Math.atan((1 - h) \/ 10);\n        const phiMinDeg = phiMinRad * (180 \/ Math.PI);\n\n        const phiMaxDeg = phiMinDeg + 11.3;\n\n        document.getElementById('result').innerHTML = `\n            <p>\u03a6<sub>min<\/sub> = ${phiMinDeg.toFixed(2)}\u00b0<\/p>\n            <p>\u03a6<sub>max<\/sub> = ${phiMaxDeg.toFixed(2)}\u00b0<\/p>\n        `;\n    }\n<\/script>\n\n<\/body>\n<\/html><\/div><\/div><div id=\"panel-1349-2-0-3\" class=\"widget_text so-panel widget widget_custom_html\" data-index=\"7\" ><div class=\"textwidget custom-html-widget\"><div class=\"gb4599-light-test-container\">\n  <style>\n    \/* \u6dfb\u52a0\u5a92\u4f53\u67e5\u8be2\uff0c\u5f53\u5c4f\u5e55\u5bbd\u5ea6\u5c0f\u4e8e768px\u65f6\u9690\u85cf\u5bb9\u5668 *\/\n    @media (max-width: 768px) {\n      .gb4599-light-test-container {\n        display: none;\n      }\n    }\n\n    .gb4599-light-test-container {\n      font-family: Arial, sans-serif;\n      margin: 20px auto;\n      max-width: 1200px;\n      padding: 20px;\n      background-color: #fff;\n      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n    }\n    .gb4599-light-test-container h1 {\n      text-align: center;\n      color: #333;\n    }\n    .gb4599-light-test-container canvas {\n      border: 1px solid #000;\n      background-color: #f9f9f9; \/* Light background *\/\n      display: block;\n      margin: 0 auto;\n    }\n    .gb4599-light-test-container table {\n      width: 100%;\n      border-collapse: collapse;\n      margin-top: 20px;\n      display: none;\n      background-color: #fff;\n      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n    }\n    .gb4599-light-test-container th,\n    .gb4599-light-test-container td {\n      border: 1px solid #000;\n      padding: 8px;\n      text-align: center;\n    }\n    .gb4599-light-test-container th {\n      background-color: #f2f2f2;\n    }\n    .gb4599-light-test-container select,\n    .gb4599-light-test-container button {\n      padding: 5px 10px;\n      font-size: 14px;\n      cursor: pointer;\n      margin-top: 20px;\n      background-color: #0073e6;\n      color: #fff;\n      border: none;\n      border-radius: 4px;\n    }\n    .gb4599-light-test-container select:hover,\n    .gb4599-light-test-container button:hover {\n      background-color: #005bb5;\n    }\n  <\/style>\n\n  <h1>GB 4599-2024 Low Beam Light Distribution Test Chart<\/h1>\n  <canvas id=\"gb4599-lightChart\" width=\"800\" height=\"600\"><\/canvas>\n  <div>\n    <label for=\"gb4599-tableSelect\">Select Table: <\/label>\n    <select id=\"gb4599-tableSelect\">\n      <option value=\"gb4599-table1\">Table 1<\/option>\n      <option value=\"gb4599-table2\">Table 2<\/option>\n      <option value=\"gb4599-table3\">Table 3<\/option>\n      <option value=\"gb4599-table4\">Table 4<\/option>\n      <option value=\"gb4599-table5\">Table 5<\/option>\n      <option value=\"gb4599-table6\">Table 6<\/option>\n      <option value=\"gb4599-table7\">Table 7<\/option>\n      <option value=\"gb4599-table8\">Table 8<\/option>\n    <\/select>\n    <button onclick=\"gb4599_showTable()\">Show Table<\/button>\n  <\/div>\n\n  <!-- Table 1 -->\n  <table id=\"gb4599-table1\">\n    <thead>\n      <tr>\n        <th rowspan=\"2\">Part<\/th>\n        <th rowspan=\"2\">Test Point\/Area<\/th>\n        <th colspan=\"2\">Position (\u00b0)<\/th>\n        <th colspan=\"2\">Limit (cd)<\/th>\n      <\/tr>\n      <tr>\n        <th>Horizontal<\/th>\n        <th>Vertical<\/th>\n        <th>Min<\/th>\n        <th>Max<\/th>\n      <\/tr>\n    <\/thead>\n    <tbody>\n      <tr>\n        <td rowspan=\"23\">Part A<\/td>\n        <td>B50L<\/td>\n        <td>3.43L<\/td>\n        <td>0.57U<\/td>\n        <td>\u2014<\/td>\n        <td>350<\/td>\n      <\/tr>\n      <tr>\n        <td>BR<\/td>\n        <td>2.5R<\/td>\n        <td>1U<\/td>\n        <td>\u2014<\/td>\n        <td>1750<\/td>\n      <\/tr>\n      <tr>\n        <td>Line BLL<\/td>\n        <td>20L~8L<\/td>\n        <td>0.57U<\/td>\n        <td>\u2014<\/td>\n        <td>625<\/td>\n      <\/tr>\n      <tr>\n        <td>P<\/td>\n        <td>7L<\/td>\n        <td>0<\/td>\n        <td>63<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>Zone IIIa<\/td>\n        <td>As per Figure 1<\/td>\n        <td>As per Figure 1<\/td>\n        <td>\u2014<\/td>\n        <td>625<\/td>\n      <\/tr>\n      <tr>\n        <td>S50+S50LL+S50RR<\/td>\n        <td>8L,0,8R<\/td>\n        <td>4U<\/td>\n        <td>190<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>S100+S100LL+S100RR<\/td>\n        <td>4L,0,4R<\/td>\n        <td>2U<\/td>\n        <td>375<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>75R<\/td>\n        <td>1.15R<\/td>\n        <td>0.57D<\/td>\n        <td>12100<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>50R<\/td>\n        <td>1.72R<\/td>\n        <td>0.86D<\/td>\n        <td>10100<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>50V<\/td>\n        <td>0<\/td>\n        <td>0.86D<\/td>\n        <td>5100<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>50L<\/td>\n        <td>3.43L<\/td>\n        <td>0.86D<\/td>\n        <td>5000<\/td>\n        <td>37000<\/td>\n      <\/tr>\n      <tr>\n        <td>Line 50<\/td>\n        <td>6.84L~6.84R<\/td>\n        <td>0.86D<\/td>\n        <td>2540<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>40R<\/td>\n        <td>9R<\/td>\n        <td>1.07D<\/td>\n        <td>2800<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>40L<\/td>\n        <td>9L<\/td>\n        <td>1.07D<\/td>\n        <td>2800<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>Line 40RR<\/td>\n        <td>9R~14R<\/td>\n        <td>1.07D<\/td>\n        <td>850<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>Line 40LL<\/td>\n        <td>14L~9L<\/td>\n        <td>1.07D<\/td>\n        <td>850<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>Line 25R<\/td>\n        <td>9R~16R<\/td>\n        <td>1.72D<\/td>\n        <td>1180<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>Line 25<\/td>\n        <td>9L~9R<\/td>\n        <td>1.72D<\/td>\n        <td>1700<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>25V<\/td>\n        <td>0<\/td>\n        <td>1.72D<\/td>\n        <td>2500<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>Line 25L<\/td>\n        <td>16L~9L<\/td>\n        <td>1.72D<\/td>\n        <td>1180<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>Line 15<\/td>\n        <td>20L~20R<\/td>\n        <td>2.86D<\/td>\n        <td>425<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>Line 10<\/td>\n        <td>4.5L~2R<\/td>\n        <td>4D<\/td>\n        <td>500<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n      <tr>\n        <td>Line 10 and below<\/td>\n        <td>4.5L~2R<\/td>\n        <td>4D and below<\/td>\n        <td>\u2014<\/td>\n        <td>0.8 times 50R point measured value<\/td>\n      <\/tr>\n      <tr>\n        <td rowspan=\"3\">Part B<\/td>\n        <td>B50L<\/td>\n        <td>3.43L<\/td>\n        <td>0.57U<\/td>\n        <td>\u2014<\/td>\n        <td>530<\/td>\n      <\/tr>\n      <tr>\n        <td>Zone IIIa<\/td>\n        <td>As per Figure 1<\/td>\n        <td>As per Figure 1<\/td>\n        <td>\u2014<\/td>\n        <td>880<\/td>\n      <\/tr>\n      <tr>\n        <td>50L<\/td>\n        <td>3.43L<\/td>\n        <td>0.86D<\/td>\n        <td>1700<\/td>\n        <td>\u2014<\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n\t<!-- Table 2 -->\n<table id=\"gb4599-table2\">\n  <thead>\n    <tr>\n      <th rowspan=\"2\">Part<\/th>\n      <th rowspan=\"2\">Test Point\/Area<\/th>\n      <th colspan=\"2\">Position (\u00b0)<\/th>\n      <th colspan=\"2\">Limit (cd)<\/th>\n    <\/tr>\n    <tr>\n      <th>Horizontal<\/th>\n      <th>Vertical<\/th>\n      <th>Min<\/th>\n      <th>Max<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td rowspan=\"23\">Part A<\/td>\n      <td>B50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.57U<\/td>\n      <td>\u2014<\/td>\n      <td>625<\/td>\n    <\/tr>\n    <tr>\n      <td>BR<\/td>\n      <td>2.5R<\/td>\n      <td>1U<\/td>\n      <td>\u2014<\/td>\n      <td>1750<\/td>\n    <\/tr>\n    <tr>\n      <td>Line BLL<\/td>\n      <td>20L~8L<\/td>\n      <td>0.57U<\/td>\n      <td>\u2014<\/td>\n      <td>880<\/td>\n    <\/tr>\n    <tr>\n      <td>Zone IIIb<\/td>\n      <td>As per Figure 1<\/td>\n      <td>As per Figure 1<\/td>\n      <td>\u2014<\/td>\n      <td>880<\/td>\n    <\/tr>\n    <tr>\n      <td>S50+S50LL+S50RR<\/td>\n      <td>8L,0,8R<\/td>\n      <td>4U<\/td>\n      <td>190<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>S100+S100LL+S100RR<\/td>\n      <td>4L,0,4R<\/td>\n      <td>2U<\/td>\n      <td>375<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>125R<\/td>\n      <td>1.15R<\/td>\n      <td>0.34D<\/td>\n      <td>12000<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>75R<\/td>\n      <td>1.15R<\/td>\n      <td>0.57D<\/td>\n      <td>15200<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50R<\/td>\n      <td>1.72R<\/td>\n      <td>0.86D<\/td>\n      <td>\u2014<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50V<\/td>\n      <td>0<\/td>\n      <td>0.86D<\/td>\n      <td>10100<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.86D<\/td>\n      <td>6800<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 50<\/td>\n      <td>6.84L~6.84R<\/td>\n      <td>0.86D<\/td>\n      <td>2540<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>40R<\/td>\n      <td>9R<\/td>\n      <td>1.07D<\/td>\n      <td>2800<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>40L<\/td>\n      <td>9L<\/td>\n      <td>1.07D<\/td>\n      <td>2800<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 40RR<\/td>\n      <td>9R~14R<\/td>\n      <td>1.07D<\/td>\n      <td>850<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 40LL<\/td>\n      <td>14L~9L<\/td>\n      <td>1.07D<\/td>\n      <td>850<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 25R<\/td>\n      <td>9R~16R<\/td>\n      <td>1.72D<\/td>\n      <td>1180<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 25<\/td>\n      <td>9L~9R<\/td>\n      <td>1.72D<\/td>\n      <td>1700<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>25V<\/td>\n      <td>0<\/td>\n      <td>1.72D<\/td>\n      <td>2500<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 25L<\/td>\n      <td>16L~9L<\/td>\n      <td>1.72D<\/td>\n      <td>1180<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 15<\/td>\n      <td>20L~20R<\/td>\n      <td>2.86D<\/td>\n      <td>425<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 10<\/td>\n      <td>4.5L~2R<\/td>\n      <td>4D<\/td>\n      <td>500<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 10 and below<\/td>\n      <td>4.5L~2R<\/td>\n      <td>4D and below<\/td>\n      <td>\u2014<\/td>\n      <td>0.8 times 50R point measured value<\/td>\n    <\/tr>\n    <tr>\n      <td rowspan=\"2\">Part B<\/td>\n      <td>Zone IIIb<\/td>\n      <td>As per Figure 1<\/td>\n      <td>As per Figure 1<\/td>\n      <td>\u2014<\/td>\n      <td>880<\/td>\n    <\/tr>\n    <tr>\n      <td>50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.86D<\/td>\n      <td>3400<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n<!-- Table 3 -->\n<table id=\"gb4599-table3\">\n  <thead>\n    <tr>\n      <th rowspan=\"2\">Part<\/th>\n      <th rowspan=\"2\">Test Point\/Area<\/th>\n      <th colspan=\"2\">Position (\u00b0)<\/th>\n      <th colspan=\"2\">Limit (cd)<\/th>\n    <\/tr>\n    <tr>\n      <th>Horizontal<\/th>\n      <th>Vertical<\/th>\n      <th>Min<\/th>\n      <th>Max<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n \u00a0 \u00a0 \u00a0<td rowspan=\"20\">Part A<\/td>\n      <td>BS0L<\/td>\n      <td>3.43L<\/td>\n      <td>0.57U<\/td>\n      <td>520<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>BR<\/td>\n      <td>2.5R<\/td>\n      <td>1U<\/td>\n      <td>\u2014<\/td>\n      <td>2100<\/td>\n    <\/tr>\n    <tr>\n      <td>Point BLL<\/td>\n      <td>8L<\/td>\n      <td>0.57U<\/td>\n      <td>\u2014<\/td>\n      <td>880<\/td>\n    <\/tr>\n    <tr>\n      <td>Line IIIa<\/td>\n      <td>4L~0<\/td>\n      <td>0<\/td>\n      <td>\u2014<\/td>\n      <td>880<\/td>\n    <\/tr>\n    <tr>\n      <td>75R<\/td>\n      <td>1.15R<\/td>\n      <td>0.57D<\/td>\n      <td>9680<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50R<\/td>\n      <td>1.72R<\/td>\n      <td>0.86D<\/td>\n      <td>8080<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50V<\/td>\n      <td>0<\/td>\n      <td>0.86D<\/td>\n      <td>4080<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.86D<\/td>\n      <td>4000<\/td>\n      <td>44400<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 50<\/td>\n      <td>6.84L~6.84R<\/td>\n      <td>0.86D<\/td>\n      <td>2032<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>40R<\/td>\n      <td>9R<\/td>\n      <td>1.07D<\/td>\n      <td>2240<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>40L<\/td>\n      <td>9L<\/td>\n      <td>1.07D<\/td>\n      <td>2240<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 40RR<\/td>\n      <td>9R~14R<\/td>\n      <td>1.07D<\/td>\n      <td>680<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 40LL<\/td>\n      <td>14L~9L<\/td>\n      <td>1.07D<\/td>\n      <td>680<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 25R<\/td>\n      <td>9R~16R<\/td>\n      <td>1.72D<\/td>\n      <td>944<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 25<\/td>\n      <td>9L~9R<\/td>\n      <td>1.72D<\/td>\n      <td>1360<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>25V<\/td>\n      <td>0<\/td>\n      <td>1.72D<\/td>\n      <td>2000<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 25L<\/td>\n      <td>16L~9L<\/td>\n      <td>1.72D<\/td>\n      <td>944<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 15<\/td>\n      <td>20L~20R<\/td>\n      <td>2.86D<\/td>\n      <td>340<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 10<\/td>\n      <td>4.5L~2R<\/td>\n      <td>4D<\/td>\n      <td>400<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 10 and below<\/td>\n      <td>4.5L~2R<\/td>\n      <td>4D and below<\/td>\n      <td>\u2014<\/td>\n      <td>1 times 50R point measured value<\/td>\n    <\/tr>\n    <tr>\n      <td rowspan=\"3\">Part B<\/td>\n      <td>B50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.57U<\/td>\n      <td>700<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line IIIa<\/td>\n      <td>4L~0<\/td>\n      <td>0<\/td>\n      <td>\u2014<\/td>\n      <td>1135<\/td>\n    <\/tr>\n    <tr>\n      <td>50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.86D<\/td>\n      <td>1360<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\t<!-- Table 4 -->\n<table id=\"gb4599-table4\">\n  <thead>\n    <tr>\n      <th rowspan=\"2\">Part<\/th>\n      <th rowspan=\"2\">Test Point\/Area<\/th>\n      <th colspan=\"2\">Position (\u00b0)<\/th>\n      <th colspan=\"2\">Limit (cd)<\/th>\n    <\/tr>\n    <tr>\n      <th>Horizontal<\/th>\n      <th>Vertical<\/th>\n      <th>Min<\/th>\n      <th>Max<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td rowspan=\"20\">Part A<\/td>\n      <td>B50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.57U<\/td>\n      <td>\u2014<\/td>\n      <td>880<\/td>\n    <\/tr>\n    <tr>\n      <td>BR<\/td>\n      <td>2.5R<\/td>\n      <td>1U<\/td>\n      <td>\u2014<\/td>\n      <td>2100<\/td>\n    <\/tr>\n    <tr>\n      <td>Point BLL<\/td>\n      <td>8L<\/td>\n      <td>0.57U<\/td>\n      <td>\u2014<\/td>\n      <td>1135<\/td>\n    <\/tr>\n    <tr>\n      <td>Line IIIb<\/td>\n      <td>4L~0.5L<\/td>\n      <td>0.34U<\/td>\n      <td>\u2014<\/td>\n      <td>1135<\/td>\n    <\/tr>\n    <tr>\n      <td>125R<\/td>\n      <td>1.15R<\/td>\n      <td>0.34D<\/td>\n      <td>9600<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>75R<\/td>\n      <td>1.15R<\/td>\n      <td>0.57D<\/td>\n      <td>12160<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50V<\/td>\n      <td>0<\/td>\n      <td>0.86D<\/td>\n      <td>8080<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.86D<\/td>\n      <td>5440<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 50<\/td>\n      <td>6.84L~6.84R<\/td>\n      <td>0.86D<\/td>\n      <td>2032<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>40R<\/td>\n      <td>9R<\/td>\n      <td>1.07D<\/td>\n      <td>2240<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>40L<\/td>\n      <td>9L<\/td>\n      <td>1.07D<\/td>\n      <td>2240<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 40RR<\/td>\n      <td>9R~14R<\/td>\n      <td>1.07D<\/td>\n      <td>680<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 40LL<\/td>\n      <td>14L~9L<\/td>\n      <td>1.07D<\/td>\n      <td>680<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 25R<\/td>\n      <td>9R~16R<\/td>\n      <td>1.72D<\/td>\n      <td>944<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 25<\/td>\n      <td>9L~9R<\/td>\n      <td>1.72D<\/td>\n      <td>1360<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>25V<\/td>\n      <td>0<\/td>\n      <td>1.72D<\/td>\n      <td>2000<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 25L<\/td>\n      <td>16L~9L<\/td>\n      <td>1.72D<\/td>\n      <td>944<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 15<\/td>\n      <td>20L~20R<\/td>\n      <td>2.86D<\/td>\n      <td>340<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 10<\/td>\n      <td>4.5L~2R<\/td>\n      <td>4D<\/td>\n      <td>400<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 10 and below<\/td>\n      <td>4.5L~2R<\/td>\n      <td>4D and below<\/td>\n      <td>\u2014<\/td>\n      <td>1 times 50R point measured value<\/td>\n    <\/tr>\n    <tr>\n      <td rowspan=\"2\">Part B<\/td>\n      <td>Line IIIb<\/td>\n      <td>4L~0.5L<\/td>\n      <td>0.34U<\/td>\n      <td>\u2014<\/td>\n      <td>1135<\/td>\n    <\/tr>\n    <tr>\n      <td>50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.86D<\/td>\n      <td>2720<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\t<!-- Table 5 -->\n<table id=\"gb4599-table5\">\n  <thead>\n    <tr>\n      <th rowspan=\"2\">Test Point\/Area<\/th>\n      <th colspan=\"2\">Position (\u00b0)<\/th>\n      <th colspan=\"2\">Limit (cd)<\/th>\n    <\/tr>\n    <tr>\n      <th>Horizontal<\/th>\n      <th>Vertical<\/th>\n      <th>Min<\/th>\n      <th>Max<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Imax<\/td>\n      <td>\u2014<\/td>\n      <td>\u2014<\/td>\n      <td>40000<\/td>\n      <td>215000<\/td>\n    <\/tr>\n    <tr>\n      <td>HV<\/td>\n      <td>0<\/td>\n      <td>0<\/td>\n      <td>0.8Imax<\/td>\n      <td>215000<\/td>\n    <\/tr>\n    <tr>\n      <td>12L-H<\/td>\n      <td>12L<\/td>\n      <td>0<\/td>\n      <td>1500<\/td>\n      <td>215000<\/td>\n    <\/tr>\n    <tr>\n      <td>9L-H<\/td>\n      <td>9L<\/td>\n      <td>0<\/td>\n      <td>3400<\/td>\n      <td>215000<\/td>\n    <\/tr>\n    <tr>\n      <td>6L-H<\/td>\n      <td>6L<\/td>\n      <td>0<\/td>\n      <td>5000<\/td>\n      <td>215000<\/td>\n    <\/tr>\n    <tr>\n      <td>3L-H<\/td>\n      <td>3L<\/td>\n      <td>0<\/td>\n      <td>17500<\/td>\n      <td>215000<\/td>\n    <\/tr>\n    <tr>\n      <td>3R-H<\/td>\n      <td>3R<\/td>\n      <td>0<\/td>\n      <td>17500<\/td>\n      <td>215000<\/td>\n    <\/tr>\n    <tr>\n      <td>6R-H<\/td>\n      <td>6R<\/td>\n      <td>0<\/td>\n      <td>5000<\/td>\n      <td>215000<\/td>\n    <\/tr>\n    <tr>\n      <td>9R-H<\/td>\n      <td>9R<\/td>\n      <td>0<\/td>\n      <td>3400<\/td>\n      <td>215000<\/td>\n    <\/tr>\n    <tr>\n      <td>12R-H<\/td>\n      <td>12R<\/td>\n      <td>0<\/td>\n      <td>1500<\/td>\n      <td>215000<\/td>\n    <\/tr>\n    <tr>\n      <td>V-2U<\/td>\n      <td>0<\/td>\n      <td>2U<\/td>\n      <td>1700<\/td>\n      <td>215000<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\t<!-- Table 6 -->\n<table id=\"gb4599-table6\">\n  <thead>\n    <tr>\n      <th rowspan=\"2\">Part<\/th>\n      <th rowspan=\"2\">Test Point<\/th>\n      <th colspan=\"2\">Position (\u00b0)<\/th>\n      <th colspan=\"2\">Limit (cd)<\/th>\n    <\/tr>\n    <tr>\n      <th>Horizontal<\/th>\n      <th>Vertical<\/th>\n      <th>Min<\/th>\n      <th>Max<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td rowspan=\"8\">Part A<\/td>\n      <td>Line 1.50 m (Oncoming Vehicle)<\/td>\n      <td>4.8L~2L<\/td>\n      <td>0.57U<\/td>\n      <td>\u2014<\/td>\n      <td>625<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 2.100 m (Oncoming Vehicle)<\/td>\n      <td>2.4L~1L<\/td>\n      <td>0.3U<\/td>\n      <td>\u2014<\/td>\n      <td>1750<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 3.200 m (Oncoming Vehicle)<\/td>\n      <td>1.2L~0.5L<\/td>\n      <td>0.15U<\/td>\n      <td>\u2014<\/td>\n      <td>5450<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 4.50 m (Preceding Vehicle)<\/td>\n      <td>1.7L~1.0R<\/td>\n      <td>0.3U<\/td>\n      <td>\u2014<\/td>\n      <td>1850<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 4.50 m (Preceding Vehicle)<\/td>\n      <td>>1.0R~1.7R<\/td>\n      <td>0.3U<\/td>\n      <td>\u2014<\/td>\n      <td>2500<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 5.100 m (Preceding Vehicle)<\/td>\n      <td>0.9L~0.5R<\/td>\n      <td>0.15U<\/td>\n      <td>\u2014<\/td>\n      <td>5300<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 5.100 m (Preceding Vehicle)<\/td>\n      <td>>0.5R~0.9R<\/td>\n      <td>0.15U<\/td>\n      <td>\u2014<\/td>\n      <td>7000<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 6.200 m (Preceding Vehicle)<\/td>\n      <td>0.45L~0.45R<\/td>\n      <td>0.1U<\/td>\n      <td>\u2014<\/td>\n      <td>16000<\/td>\n    <\/tr>\n    <tr>\n      <td rowspan=\"5\">Part B<\/td>\n      <td>50R<\/td>\n      <td>1.72R<\/td>\n      <td>0.86D<\/td>\n      <td>5100<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50V<\/td>\n      <td>0<\/td>\n      <td>0.86D<\/td>\n      <td>5100<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.86D<\/td>\n      <td>2550<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>25LL<\/td>\n      <td>16L<\/td>\n      <td>1.72D<\/td>\n      <td>1180<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>25RR<\/td>\n      <td>11R<\/td>\n      <td>1.72D<\/td>\n      <td>1180<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\t<!-- Table 7 -->\n<table id=\"gb4599-table7\">\n  <thead>\n    <tr>\n      <th rowspan=\"2\">Test Point\/Area<\/th>\n      <th colspan=\"2\">Position (\u00b0)<\/th>\n      <th colspan=\"2\">Limit (cd)<\/th>\n    <\/tr>\n    <tr>\n      <th>Horizontal<\/th>\n      <th>Vertical<\/th>\n      <th>Min<\/th>\n      <th>Max<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Imax<\/td>\n      <td>\u2014<\/td>\n      <td>\u2014<\/td>\n      <td>32000<\/td>\n      <td>258000<\/td>\n    <\/tr>\n    <tr>\n      <td>HV<\/td>\n      <td>0<\/td>\n      <td>0<\/td>\n      <td>0.75Imax<\/td>\n      <td>258000<\/td>\n    <\/tr>\n    <tr>\n      <td>12L-H<\/td>\n      <td>12L<\/td>\n      <td>0<\/td>\n      <td>1200<\/td>\n      <td>258000<\/td>\n    <\/tr>\n    <tr>\n      <td>9L-H<\/td>\n      <td>9L<\/td>\n      <td>0<\/td>\n      <td>2720<\/td>\n      <td>258000<\/td>\n    <\/tr>\n    <tr>\n      <td>6L-H<\/td>\n      <td>6L<\/td>\n      <td>0<\/td>\n      <td>4000<\/td>\n      <td>258000<\/td>\n    <\/tr>\n    <tr>\n      <td>3L-H<\/td>\n      <td>3L<\/td>\n      <td>0<\/td>\n      <td>14000<\/td>\n      <td>258000<\/td>\n    <\/tr>\n    <tr>\n      <td>3R-H<\/td>\n      <td>3R<\/td>\n      <td>0<\/td>\n      <td>14000<\/td>\n      <td>258000<\/td>\n    <\/tr>\n    <tr>\n      <td>6R-H<\/td>\n      <td>6R<\/td>\n      <td>0<\/td>\n      <td>4000<\/td>\n      <td>258000<\/td>\n    <\/tr>\n    <tr>\n      <td>9R-H<\/td>\n      <td>9R<\/td>\n      <td>0<\/td>\n      <td>2720<\/td>\n      <td>258000<\/td>\n    <\/tr>\n    <tr>\n      <td>12R-H<\/td>\n      <td>12R<\/td>\n      <td>0<\/td>\n      <td>1200<\/td>\n      <td>258000<\/td>\n    <\/tr>\n    <tr>\n      <td>V-2U<\/td>\n      <td>0<\/td>\n      <td>2U<\/td>\n      <td>1360<\/td>\n      <td>258000<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\t<!-- Table 8 -->\n<table id=\"gb4599-table8\">\n  <thead>\n    <tr>\n      <th rowspan=\"2\">Part<\/th>\n      <th rowspan=\"2\">Test Point\/Area<\/th>\n      <th colspan=\"2\">Position (\u00b0)<\/th>\n      <th colspan=\"2\">Limit (cd)<\/th>\n    <\/tr>\n    <tr>\n      <th>Horizontal<\/th>\n      <th>Vertical<\/th>\n      <th>Min<\/th>\n      <th>Max<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td rowspan=\"8\">Part A<\/td>\n      <td>Line 1, 50m (Oncoming Vehicle)<\/td>\n      <td>4.8L~2L<\/td>\n      <td>0.57U<\/td>\n      <td>\u2014<\/td>\n      <td>880<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 2, 100m (Oncoming Vehicle)<\/td>\n      <td>2.4L~1L<\/td>\n      <td>0.3U<\/td>\n      <td>\u2014<\/td>\n      <td>2100<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 3, 200m (Oncoming Vehicle)<\/td>\n      <td>1.2L~0.5L<\/td>\n      <td>0.15U<\/td>\n      <td>\u2014<\/td>\n      <td>6540<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 4, 50m (Preceding Vehicle)<\/td>\n      <td>1.7L~1.0R<\/td>\n      <td>0.3U<\/td>\n      <td>\u2014<\/td>\n      <td>2220<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 4, 50m (Preceding Vehicle)<\/td>\n      <td>>1.0R~1.7R<\/td>\n      <td>0.3U<\/td>\n      <td>\u2014<\/td>\n      <td>3000<\/td>\n    <\/tr>\n    <tr>\n      <td>Line 5, 100m (Preceding Vehicle)<\/td>\n      <td>0.9L~0.5R<\/td>\n      <td>0.15U<\/td>\n      <td>\u2014<\/td>\n      <td>6360<\/td>\n    <\/tr>\n\t\t  <tr>\n      <td>Line 5, 100m (Preceding Vehicle)<\/td>\n      <td>>0.5R~0.9R<\/td>\n      <td>0.15U<\/td>\n      <td>\u2014<\/td>\n      <td>8400<\/td>\n    <\/tr>\n\t\t   <tr>\n      <td>Line 6, 200m (Preceding Vehicle)<\/td>\n      <td>0.45L~0.45R<\/td>\n      <td>0.1U<\/td>\n      <td>\u2014<\/td>\n      <td>19200<\/td>\n    <\/tr>\n\t\t\n\t\t\n    <tr>\n      <td rowspan=\"5\">Part B<\/td>\n      <td>50R<\/td>\n      <td>1.72R<\/td>\n      <td>0.86D<\/td>\n      <td>4080<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50V<\/td>\n      <td>0<\/td>\n      <td>0.86D<\/td>\n      <td>4080<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>50L<\/td>\n      <td>3.43L<\/td>\n      <td>0.86D<\/td>\n      <td>2040<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>25LL<\/td>\n      <td>16L<\/td>\n      <td>1.72D<\/td>\n      <td>944<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n    <tr>\n      <td>25RR<\/td>\n      <td>11R<\/td>\n      <td>1.72D<\/td>\n      <td>944<\/td>\n      <td>\u2014<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\t\n  <script>\n    \/\/ Unique function and variable names to avoid conflicts\n    function gb4599_showTable() {\n      const tableSelect = document.getElementById('gb4599-tableSelect');\n      const selectedTableId = tableSelect.value;\n\n      \/\/ Hide all tables\n      const tables = document.querySelectorAll('.gb4599-light-test-container table');\n      tables.forEach(table => table.style.display = 'none');\n\n      \/\/ Show selected table\n      const selectedTable = document.getElementById(selectedTableId);\n      if (selectedTable) {\n        selectedTable.style.display = 'block';\n      }\n    }\n\n    \/\/ Canvas drawing logic\n    const gb4599_canvas = document.getElementById('gb4599-lightChart');\n    const gb4599_ctx = gb4599_canvas.getContext('2d');\n\n    const gb4599_centerX = gb4599_canvas.width \/ 2;\n    const gb4599_centerY = gb4599_canvas.height \/ 2;\n    const gb4599_scale = 20;\n\n    const gb4599_points = [\n      { h: -3.43, v: 0.57, label: 'B50L', value: '\u2264350' },\n      { h: 2.5, v: 1, label: 'BR', value: '\u22641750' },\n      { h: -7, v: 0, label: 'P', value: '\u226563' },\n      { h: 1.15, v: -0.57, label: '75R', value: '\u226512100' },\n      { h: 1.72, v: -0.86, label: '50R', value: '\u226510100' },\n      { h: 0, v: -0.86, label: '50V', value: '\u22655100' },\n      { h: -3.43, v: -0.86, label: '50L', value: '5000~37000' },\n      { h: 9, v: -1.07, label: '40R', value: '\u22652800' },\n      { h: -9, v: -1.07, label: '40L', value: '\u22652800' },\n    ];\n\n    const gb4599_lines = [\n      { hStart: -20, hEnd: -8, v: 0.57, label: 'Line BLL', value: '\u2264625' },\n      { hStart: 9, hEnd: 14, v: -1.07, label: 'Line 40RR', value: '\u2265850' },\n      { hStart: -14, hEnd: -9, v: -1.07, label: 'Line 40LL', value: '\u2265850' },\n      { hStart: 9, hEnd: 16, v: -1.72, label: 'Line 25R', value: '\u22651180' },\n      { hStart: -16, hEnd: -9, v: -1.72, label: 'Line 25L', value: '\u22651180' },\n      { hStart: -20, hEnd: 20, v: -2.86, label: 'Line 15', value: '\u2265425' },\n      { hStart: -4.5, hEnd: 2, v: -4, label: 'Line 10', value: '\u2265500' },\n      { hStart: -6.84, hEnd: 6.84, v: -0.86, label: 'Line 50', value: '\u22652540' },\n      { hStart: -9, hEnd: 9, v: -1.72, label: 'Line 25', value: '\u22651700' },\n    ];\n\n    const gb4599_zones = [\n      {\n        label: 'Zone IIIa',\n        points: [\n          { h: -8, v: 1 }, { h: -8, v: 4 }, { h: 8, v: 4 }, { h: 8, v: 2 },\n          { h: 6, v: 1.5 }, { h: 1.5, v: 1.5 }, { h: 0, v: 0 }, { h: -4, v: 0 },\n        ],\n        value: 'Zone IIIa Limits: \u2264625'\n      },\n      {\n        label: 'Zone IIIb',\n        points: [\n          { h: -8, v: 1 }, { h: -8, v: 4 }, { h: 8, v: 4 }, { h: 8, v: 2 },\n          { h: 6, v: 1.5 }, { h: 1.5, v: 1.34 }, { h: -0.5, v: 0.5 }, { h: -4, v: 0.34 },\n        ],\n        value: 'Zone IIIb Limits: \u2264880'\n      }\n    ];\n\n    function gb4599_drawChart() {\n      \/\/ Draw grid\n      gb4599_ctx.strokeStyle = '#ccc'; \/\/ Light gray grid lines\n      gb4599_ctx.lineWidth = 0.5;\n      for (let i = 0; i <= gb4599_canvas.height; i += gb4599_scale) {\n        gb4599_ctx.beginPath();\n        gb4599_ctx.moveTo(0, i);\n        gb4599_ctx.lineTo(gb4599_canvas.width, i);\n        gb4599_ctx.stroke();\n      }\n      for (let j = 0; j <= gb4599_canvas.width; j += gb4599_scale) {\n        gb4599_ctx.beginPath();\n        gb4599_ctx.moveTo(j, 0);\n        gb4599_ctx.lineTo(j, gb4599_canvas.height);\n        gb4599_ctx.stroke();\n      }\n\n      \/\/ Draw axes\n      gb4599_ctx.beginPath();\n      gb4599_ctx.moveTo(0, gb4599_centerY);\n      gb4599_ctx.lineTo(gb4599_canvas.width, gb4599_centerY);\n      gb4599_ctx.moveTo(gb4599_centerX, 0);\n      gb4599_ctx.lineTo(gb4599_centerX, gb4599_canvas.height);\n      gb4599_ctx.strokeStyle = '#000'; \/\/ Black axes\n      gb4599_ctx.stroke();\n\n      \/\/ Label axes\n      gb4599_ctx.fillStyle = '#000';\n      gb4599_ctx.font = '12px Arial';\n      gb4599_ctx.fillText('H (Horizontal)', gb4599_canvas.width - 80, gb4599_centerY - 10);\n      gb4599_ctx.fillText('V (Vertical)', gb4599_centerX + 10, 20);\n\n      \/\/ Draw points\n      gb4599_ctx.fillStyle = '#ff4444'; \/\/ Red points\n      gb4599_points.forEach(point => {\n        const x = gb4599_centerX + point.h * gb4599_scale;\n        const y = gb4599_centerY - point.v * gb4599_scale;\n        gb4599_ctx.beginPath();\n        gb4599_ctx.arc(x, y, 3, 0, Math.PI * 2);\n        gb4599_ctx.fill();\n        gb4599_ctx.fillText(point.label, x + 5, y - 5);\n      });\n\n      \/\/ Draw lines\n      gb4599_ctx.strokeStyle = '#44aaff'; \/\/ Blue lines\n      gb4599_ctx.lineWidth = 2;\n      gb4599_lines.forEach(line => {\n        const x1 = gb4599_centerX + line.hStart * gb4599_scale;\n        const x2 = gb4599_centerX + line.hEnd * gb4599_scale;\n        const y = gb4599_centerY - line.v * gb4599_scale;\n        gb4599_ctx.beginPath();\n        gb4599_ctx.moveTo(x1, y);\n        gb4599_ctx.lineTo(x2, y);\n        gb4599_ctx.stroke();\n        gb4599_ctx.fillStyle = '#44aaff';\n        gb4599_ctx.fillText(line.label, (x1 + x2) \/ 2, y - 10);\n      });\n\n      \/\/ Draw zones\n      gb4599_zones.forEach(zone => {\n        gb4599_ctx.strokeStyle = '#000'; \/\/ Black zones\n        gb4599_ctx.setLineDash(zone.label === 'Zone IIIa' ? [] : [5, 5]);\n        gb4599_ctx.lineWidth = 2;\n        gb4599_ctx.beginPath();\n        zone.points.forEach((point, index) => {\n          const x = gb4599_centerX + point.h * gb4599_scale;\n          const y = gb4599_centerY - point.v * gb4599_scale;\n          if (index === 0) {\n            gb4599_ctx.moveTo(x, y);\n          } else {\n            gb4599_ctx.lineTo(x, y);\n          }\n        });\n        gb4599_ctx.closePath();\n        gb4599_ctx.stroke();\n        gb4599_ctx.fillStyle = '#000';\n        gb4599_ctx.fillText(zone.label, gb4599_centerX + (zone.label === 'Zone IIIa' ? -30 : 30), gb4599_centerY - 100);\n      });\n    }\n\n    \/\/ Execute drawing\n    gb4599_drawChart();\n  <\/script>\n<\/div><\/div><\/div><div id=\"panel-1349-2-0-4\" class=\"widget_text so-panel widget widget_custom_html panel-last-child\" data-index=\"8\" ><div class=\"textwidget custom-html-widget\"><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>RGB Flux Ratio Calculator (YY 1081-2011)<\/title>\n    <style>\n        .rgb-flux-container { \n            max-width: 1200px; \n            margin: 0 auto; \n            background-color: white; \n            padding: 20px; \n            border-radius: 10px; \n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n        }\n\n        .rgb-flux-container .input-section { \n            margin-bottom: 20px; \n        }\n        .rgb-flux-container .input-section h2 { \n            margin-bottom: 10px; \n            color: #007BFF; \n        }\n        .rgb-flux-container .input-table { \n            display: none;\n            grid-template-columns: repeat(4, 1fr);\n            gap: 10px;\n            margin-bottom: 20px;\n        }\n        .rgb-flux-container .input-table label { \n            font-weight: bold;\n            align-self: center;\n        }\n        .rgb-flux-container .input-table input { \n            width: 120px; \n            padding: 5px; \n            border: 1px solid #ccc; \n            border-radius: 5px; \n        }\n\n        .rgb-flux-container .results { \n            margin-top: 20px; \n        }\n        .rgb-flux-container .results h2 { \n            margin-bottom: 10px; \n            color: #007BFF; \n        }\n        .rgb-flux-container .results p { \n            margin: 5px 0; \n        }\n\n        .rgb-flux-container button { \n            padding: 10px 20px; \n            font-size: 16px; \n            cursor: pointer; \n            background-color: #007BFF; \n            color: white; \n            border: none; \n            border-radius: 5px; \n            width: 200px; \n        }\n        .rgb-flux-container button:hover { \n            background-color: #0056b3; \n        }\n\n        @media (max-width: 768px) {\n            .rgb-flux-container .input-table {\n                grid-template-columns: repeat(2, 1fr);\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"rgb-flux-container\">\n        <h1>RGB Flux Ratio Calculator (YY 1081-2011)<\/h1>\n        \n        <div class=\"input-section\">\n            <h2>Spectral Data Input (380-780 nm)<\/h2>\n            <button onclick=\"toggleInputTable()\">Show Input Table<\/button>\n            <div class=\"input-table\" id=\"wavelength-inputs\"><\/div>\n            <button onclick=\"calculateRatios()\" style=\"margin-top: 10px;\">Calculate Ratios<\/button>\n        <\/div>\n\n        <div class=\"results\">\n            <h2>Calculation Results<\/h2>\n            <p><strong>Red (630-660nm) Ratio:<\/strong> <span id=\"red-ratio\">-<\/span><\/p>\n            <p><strong>Green (515-545nm) Base:<\/strong> <span id=\"green-base\">-<\/span> mW<\/p>\n            <p><strong>Blue (435-465nm) Ratio:<\/strong> <span id=\"blue-ratio\">-<\/span><\/p>\n            <p><strong>Tolerance Range:<\/strong> \u00b120%<\/p>\n        <\/div>\n    <\/div>\n\n    <script>\n        (function() {\n            \/\/ \u9884\u5b9a\u4e49\u5149\u8c31\u6570\u636e (380-780nm)\n            const spectralData = [\n                0.0478, 0.0415, 0.0442, 0.0447, 0.0442, 0.0446, 0.049, 0.0469, 0.0471, 0.0492,\n                0.0473, 0.0498, 0.0502, 0.0494, 0.0504, 0.0506, 0.052, 0.0524, 0.0531, 0.054,\n                0.0549, 0.056, 0.0567, 0.0574, 0.0579, 0.0596, 0.0601, 0.0602, 0.0621, 0.0624,\n                0.0642, 0.0651, 0.0658, 0.067, 0.068, 0.0686, 0.0699, 0.0709, 0.0724, 0.0736,\n                0.0749, 0.0759, 0.077, 0.0784, 0.0795, 0.0809, 0.0821, 0.0837, 0.0852, 0.0867,\n                0.0882, 0.0888, 0.0904, 0.0915, 0.0932, 0.0942, 0.0957, 0.0977, 0.0995, 0.1004,\n                0.1023, 0.1036, 0.1055, 0.1065, 0.1086, 0.1099, 0.1119, 0.1138, 0.1151, 0.1164,\n                0.1183, 0.1198, 0.1222, 0.1246, 0.1256, 0.1275, 0.1296, 0.1308, 0.1333, 0.1351,\n                0.1369, 0.1383, 0.1408, 0.1428, 0.1445, 0.1469, 0.1488, 0.151, 0.1519, 0.1541,\n                0.1564, 0.1586, 0.1599, 0.1628, 0.1647, 0.1661, 0.1692, 0.1708, 0.1733, 0.1751,\n                0.1777, 0.1797, 0.1817, 0.1838, 0.1863, 0.1884, 0.1914, 0.1931, 0.1944, 0.1975,\n                0.2, 0.2023, 0.2042, 0.2068, 0.2087, 0.211, 0.2143, 0.216, 0.2191, 0.2208,\n                0.2232, 0.2259, 0.229, 0.2309, 0.2335, 0.2359, 0.2381, 0.2406, 0.243, 0.2459,\n                0.2488, 0.2504, 0.2528, 0.2566, 0.2589, 0.2608, 0.2638, 0.2657, 0.2688, 0.2711,\n                0.2739, 0.2764, 0.2789, 0.2818, 0.2848, 0.2872, 0.2906, 0.2918, 0.2951, 0.2978,\n                0.3002, 0.3031, 0.3063, 0.3092, 0.3112, 0.3142, 0.317, 0.3198, 0.3233, 0.3253,\n                0.3282, 0.3309, 0.3338, 0.3373, 0.3395, 0.3422, 0.3451, 0.3473, 0.3505, 0.3541,\n                0.3563, 0.3592, 0.3627, 0.3654, 0.368, 0.3712, 0.374, 0.3768, 0.3797, 0.3823,\n                0.3849, 0.3883, 0.3915, 0.3935, 0.3974, 0.4006, 0.4037, 0.4054, 0.41, 0.4114,\n                0.4146, 0.4166, 0.4214, 0.4243, 0.4277, 0.4292, 0.4333, 0.436, 0.4392, 0.4427,\n                0.445, 0.4485, 0.4498, 0.4537, 0.4564, 0.4604, 0.4625, 0.4655, 0.4691, 0.4726,\n                0.4756, 0.478, 0.4819, 0.4846, 0.4877, 0.4908, 0.4934, 0.4963, 0.5003, 0.5029,\n                0.5066, 0.5087, 0.5116, 0.5152, 0.5184, 0.5206, 0.5243, 0.5272, 0.5304, 0.5334,\n                0.5364, 0.5405, 0.5428, 0.5454, 0.5489, 0.5521, 0.556, 0.5586, 0.561, 0.5646,\n                0.5675, 0.57, 0.5726, 0.5761, 0.5791, 0.5822, 0.5858, 0.5887, 0.5906, 0.5962,\n                0.5977, 0.6019, 0.6039, 0.6064, 0.6097, 0.6124, 0.6155, 0.6196, 0.6217, 0.6246,\n                0.6279, 0.6304, 0.6333, 0.6368, 0.6404, 0.6433, 0.646, 0.6483, 0.6514, 0.6548,\n                0.6575, 0.661, 0.6623, 0.6677, 0.6706, 0.6715, 0.675, 0.6783, 0.6815, 0.6847,\n                0.6876, 0.6908, 0.6922, 0.6946, 0.698, 0.7023, 0.7043, 0.7077, 0.7111, 0.7125,\n                0.7163, 0.7184, 0.7211, 0.7255, 0.7274, 0.7307, 0.7336, 0.7364, 0.7392, 0.7418,\n                0.743, 0.748, 0.7494, 0.7532, 0.7551, 0.7576, 0.7619, 0.7621, 0.7672, 0.769,\n                0.7709, 0.7749, 0.7779, 0.7796, 0.7821, 0.7851, 0.7891, 0.7903, 0.7938, 0.797,\n                0.799, 0.8009, 0.8044, 0.8071, 0.8096, 0.8124, 0.8149, 0.8191, 0.8199, 0.8227,\n                0.8255, 0.8281, 0.8303, 0.8312, 0.8358, 0.8369, 0.8412, 0.8421, 0.8459, 0.8485,\n                0.8509, 0.8537, 0.8557, 0.8568, 0.8614, 0.8633, 0.8647, 0.8675, 0.8698, 0.8721,\n                0.875, 0.8778, 0.88, 0.8823, 0.8827, 0.8871, 0.8898, 0.8903, 0.8951, 0.8977,\n                0.8993, 0.9001, 0.9018, 0.9037, 0.9081, 0.9106, 0.9114, 0.9138, 0.9153, 0.9201,\n                0.9202, 0.922, 0.9258, 0.9284, 0.9301, 0.9336, 0.9346, 0.9377, 0.9389, 0.9407,\n                0.9438, 0.9455, 0.9461, 0.9495, 0.9519, 0.9521, 0.9548, 0.9577, 0.9602, 0.9604,\n                0.9624, 0.9654, 0.9684, 0.9704, 0.972, 0.9744, 0.9761, 0.9821, 0.988, 0.994, 1\n            ];\n\n            \/\/ \u751f\u6210\u8f93\u5165\u5b57\u6bb5\n            const wavelengthInputs = document.getElementById('wavelength-inputs');\n            for (let wavelength = 380; wavelength <= 780; wavelength++) {\n                \/\/ Wavelength label\n                const label = document.createElement('label');\n                label.textContent = `${wavelength} nm:`;\n                wavelengthInputs.appendChild(label);\n\n                \/\/ Spectral data input\n                const input = document.createElement('input');\n                input.type = 'number';\n                input.id = `input-${wavelength}`;\n                input.placeholder = \"Spectral Data\";\n                input.value = spectralData[wavelength - 380]; \/\/ Load predefined data\n                wavelengthInputs.appendChild(input);\n            }\n\n            \/\/ \u5207\u6362\u8f93\u5165\u8868\u683c\u53ef\u89c1\u6027\n            window.toggleInputTable = function() {\n                const inputTable = document.querySelector('.rgb-flux-container .input-table');\n                inputTable.style.display = inputTable.style.display === 'grid' ? 'none' : 'grid';\n            };\n\n            \/\/ \u8ba1\u7b97\u6bd4\u7387\n            window.calculateRatios = function() {\n                let redSum = 0, greenSum = 0, blueSum = 0;\n                \n                \/\/ \u7ea2\u5149\u6ce2\u6bb5\u8ba1\u7b97\n                for (let wl = 630; wl <= 660; wl++) {\n                    redSum += parseFloat(document.getElementById(`input-${wl}`).value) || 0;\n                }\n                \n                \/\/ \u7eff\u5149\u6ce2\u6bb5\u8ba1\u7b97\n                for (let wl = 515; wl <= 545; wl++) {\n                    greenSum += parseFloat(document.getElementById(`input-${wl}`).value) || 0;\n                }\n                \n                \/\/ \u84dd\u5149\u6ce2\u6bb5\u8ba1\u7b97\n                for (let wl = 435; wl <= 465; wl++) {\n                    blueSum += parseFloat(document.getElementById(`input-${wl}`).value) || 0;\n                }\n\n                \/\/ \u66f4\u65b0\u663e\u793a\u7ed3\u679c\n                document.getElementById('red-ratio').textContent = (redSum \/ greenSum).toFixed(2);\n                document.getElementById('green-base').textContent = greenSum.toFixed(4);\n                document.getElementById('blue-ratio').textContent = (blueSum \/ greenSum).toFixed(2);\n            }\n\n            \/\/ \u521d\u59cb\u5316\u8ba1\u7b97\n            calculateRatios();\n\n            \/\/ \u6dfb\u52a0\u7c98\u8d34\u529f\u80fd\n            const inputs = document.querySelectorAll('.rgb-flux-container .input-table input');\n            inputs.forEach((input, index) => {\n                input.addEventListener('paste', (event) => {\n                    event.preventDefault();\n                    const pasteData = event.clipboardData.getData('text').trim().split(\/\\s+\/);\n                    pasteData.forEach((value, i) => {\n                        if (inputs[index + i]) {\n                            inputs[index + i].value = value;\n                        }\n                    });\n                    calculateRatios(); \/\/ \u7c98\u8d34\u540e\u91cd\u65b0\u8ba1\u7b97\n                });\n            });\n        })();\n    <\/script>\n<\/body>\n<\/html><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>\u6b22\u8fce\u4f7f\u7528\u5149\u8c31\u6570\u636e\u8ba1\u7b97\u5668 Calculate CIE 1931 xy Coordinates from Spec [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":587,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"rankMath":{"parentDomain":"ah-snchain.cn","noFollowDomains":[],"noFollowExcludeDomains":[],"noFollowExternalLinks":false,"featuredImageNotice":"The featured image should be at least 200 by 200 pixels to be picked up by Facebook and other social media sites.","pluginReviewed":false,"postSettings":{"linkSuggestions":true,"useFocusKeyword":false},"frontEndScore":false,"postName":"%e5%b7%a5%e5%85%b7","permalinkFormat":"https:\/\/www.ah-snchain.cn\/?page_id=1349","showLockModifiedDate":true,"assessor":{"focusKeywordLink":"https:\/\/www.ah-snchain.cn\/wp-admin\/edit.php?focus_keyword=%focus_keyword%&post_type=%post_type%","hasTOCPlugin":false,"primaryTaxonomy":false,"serpData":{"title":"","description":"","focusKeywords":"Calculate CIE 1931 xy Coordinates from Spectral Power Distribution (SPD),\u5149\u8c31\u6570\u636e\u8ba1\u7b97\u5668","pillarContent":false,"canonicalUrl":"","breadcrumbTitle":"","advancedRobots":{"max-snippet":"-1","max-video-preview":"-1","max-image-preview":"large"},"facebookTitle":"","facebookDescription":"","facebookImage":"","facebookImageID":"","facebookHasOverlay":false,"facebookImageOverlay":"play","facebookAuthor":"","twitterCardType":"summary_large_image","twitterUseFacebook":true,"twitterTitle":"","twitterDescription":"","twitterImage":"","twitterImageID":"","twitterHasOverlay":false,"twitterImageOverlay":"play","twitterPlayerUrl":"","twitterPlayerSize":"","twitterPlayerStream":"","twitterPlayerStreamCtype":"","twitterAppDescription":"","twitterAppIphoneName":"","twitterAppIphoneID":"","twitterAppIphoneUrl":"","twitterAppIpadName":"","twitterAppIpadID":"","twitterAppIpadUrl":"","twitterAppGoogleplayName":"","twitterAppGoogleplayID":"","twitterAppGoogleplayUrl":"","twitterAppCountry":"","robots":{"index":true},"twitterAuthor":"username","primaryTerm":0,"authorName":"Sattva","titleTemplate":"%title% %sep% %sitename%","descriptionTemplate":"%excerpt%","showScoreFrontend":true,"lockModifiedDate":false},"powerWords":[],"diacritics":{"A":"[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F]","AA":"[\\uA732]","AE":"[\\u00C6\\u01FC\\u01E2]","AO":"[\\uA734]","AU":"[\\uA736]","AV":"[\\uA738\\uA73A]","AY":"[\\uA73C]","B":"[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181]","C":"[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E]","D":"[\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779]","DZ":"[\\u01F1\\u01C4]","Dz":"[\\u01F2\\u01C5]","E":"[\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E]","F":"[\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B]","G":"[\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E]","H":"[\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D]","I":"[\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197]","J":"[\\u004A\\u24BF\\uFF2A\\u0134\\u0248]","K":"[\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2]","L":"[\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780]","LJ":"[\\u01C7]","Lj":"[\\u01C8]","M":"[\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C]","N":"[\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4]","NJ":"[\\u01CA]","Nj":"[\\u01CB]","O":"[\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C]","OI":"[\\u01A2]","OO":"[\\uA74E]","OU":"[\\u0222]","P":"[\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754]","Q":"[\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A]","R":"[\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782]","S":"[\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784]","T":"[\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786]","TZ":"[\\uA728]","U":"[\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244]","V":"[\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245]","VY":"[\\uA760]","W":"[\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72]","X":"[\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C]","Y":"[\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE]","Z":"[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762]","a":"[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250]","aa":"[\\uA733]","ae":"[\\u00E6\\u01FD\\u01E3]","ao":"[\\uA735]","au":"[\\uA737]","av":"[\\uA739\\uA73B]","ay":"[\\uA73D]","b":"[\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253]","c":"[\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184]","d":"[\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A]","dz":"[\\u01F3\\u01C6]","e":"[\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD]","f":"[\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C]","g":"[\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F]","h":"[\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265]","hv":"[\\u0195]","i":"[\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131]","j":"[\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249]","k":"[\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3]","l":"[\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747]","lj":"[\\u01C9]","m":"[\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F]","n":"[\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5]","nj":"[\\u01CC]","o":"[\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275]","oi":"[\\u01A3]","ou":"[\\u0223]","oo":"[\\uA74F]","p":"[\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755]","q":"[\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759]","r":"[\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783]","s":"[\\u0073\\u24E2\\uFF53\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B]","ss":"[\\u00DF]","t":"[\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787]","tz":"[\\uA729]","u":"[\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289]","v":"[\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C]","vy":"[\\uA761]","w":"[\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73]","x":"[\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D]","y":"[\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF]","z":"[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763]"},"researchesTests":["contentHasTOC","contentHasShortParagraphs","contentHasAssets","keywordInTitle","keywordInMetaDescription","keywordInPermalink","keywordIn10Percent","keywordInContent","keywordInSubheadings","keywordInImageAlt","keywordDensity","keywordNotUsed","lengthContent","lengthPermalink","linksHasInternal","linksHasExternals","linksNotAllExternals","titleStartWithKeyword","titleSentiment","titleHasPowerWords","titleHasNumber","hasContentAI"],"hasRedirection":false,"hasBreadcrumb":false},"homeUrl":"https:\/\/www.ah-snchain.cn","objectID":1349,"objectType":"post","locale":"zh","localeFull":"zh_CN","overlayImages":{"play":{"name":"Play icon","url":"https:\/\/www.ah-snchain.cn\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-play.png","path":"\/data\/user\/htdocs\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-play.png","position":"middle_center"},"gif":{"name":"GIF icon","url":"https:\/\/www.ah-snchain.cn\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-gif.png","path":"\/data\/user\/htdocs\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-gif.png","position":"middle_center"}},"defautOgImage":"https:\/\/www.ah-snchain.cn\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/social-placeholder.jpg","customPermalinks":false,"isUserRegistered":true,"autoSuggestKeywords":true,"connectSiteUrl":"https:\/\/rankmath.com\/auth?site=https%3A%2F%2Fwww.ah-snchain.cn&r=https%3A%2F%2Fwww.ah-snchain.cn%2Findex.php%3Frest_route%3D%252Fwp%252Fv2%252Fpages%252F1349%26nonce%3De0eb438617","maxTags":5,"trendsIcon":"<svg viewBox=\"0 0 610 610\"><path d=\"M18.85,446,174.32,290.48l58.08,58.08L76.93,504a14.54,14.54,0,0,1-20.55,0L18.83,466.48a14.54,14.54,0,0,1,0-20.55Z\" style=\"fill:#4285f4\"\/><path d=\"M242.65,242.66,377.59,377.6l-47.75,47.75a14.54,14.54,0,0,1-20.55,0L174.37,290.43l47.75-47.75A14.52,14.52,0,0,1,242.65,242.66Z\" style=\"fill:#ea4335\"\/><polygon points=\"319.53 319.53 479.26 159.8 537.34 217.88 377.61 377.62 319.53 319.53\" style=\"fill:#fabb05\"\/><path d=\"M594.26,262.73V118.61h0a16.94,16.94,0,0,0-16.94-16.94H433.2a16.94,16.94,0,0,0-12,28.92L565.34,274.71h0a16.94,16.94,0,0,0,28.92-12Z\" style=\"fill:#34a853\"\/><rect width=\"610\" height=\"610\" style=\"fill:none\"\/><\/svg>","showScore":true,"siteFavIcon":"https:\/\/www.ah-snchain.cn\/wp-content\/uploads\/2021\/06\/cropped-website-32x32.png","canUser":{"general":false,"advanced":false,"snippet":false,"social":false,"analysis":false,"analytics":false,"content_ai":false},"showKeywordIntent":true,"isPro":false,"is_front_page":false,"trendsUpgradeLink":"https:\/\/rankmath.com\/pricing\/?utm_source=Plugin&utm_medium=CE%20General%20Tab%20Trends&utm_campaign=WP","trendsUpgradeLabel":"Upgrade","trendsPreviewImage":"https:\/\/www.ah-snchain.cn\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/trends-preview.jpg","currentEditor":false,"homepageData":{"assessor":{"powerWords":[],"diacritics":true,"researchesTests":["contentHasTOC","contentHasShortParagraphs","contentHasAssets","keywordInTitle","keywordInMetaDescription","keywordInPermalink","keywordIn10Percent","keywordInContent","keywordInSubheadings","keywordInImageAlt","keywordDensity","keywordNotUsed","lengthContent","lengthPermalink","linksHasInternal","linksHasExternals","linksNotAllExternals","titleStartWithKeyword","titleSentiment","titleHasPowerWords","titleHasNumber","hasContentAI"],"hasBreadcrumb":false,"serpData":{"title":"%sitename% %page% %sep% %sitedesc%","description":"","titleTemplate":"%sitename% %page% %sep% %sitedesc%","descriptionTemplate":"","focusKeywords":"","breadcrumbTitle":"Home","robots":{"index":true},"advancedRobots":{"max-snippet":"-1","max-video-preview":"-1","max-image-preview":"large"},"facebookTitle":"","facebookDescription":"","facebookImage":"","facebookImageID":""}}},"tocTitle":"Table of Contents","tocExcludeHeadings":[],"listStyle":"ul"},"_links":{"self":[{"href":"https:\/\/www.ah-snchain.cn\/index.php?rest_route=\/wp\/v2\/pages\/1349"}],"collection":[{"href":"https:\/\/www.ah-snchain.cn\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ah-snchain.cn\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ah-snchain.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ah-snchain.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1349"}],"version-history":[{"count":48,"href":"https:\/\/www.ah-snchain.cn\/index.php?rest_route=\/wp\/v2\/pages\/1349\/revisions"}],"predecessor-version":[{"id":1366,"href":"https:\/\/www.ah-snchain.cn\/index.php?rest_route=\/wp\/v2\/pages\/1349\/revisions\/1366"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ah-snchain.cn\/index.php?rest_route=\/wp\/v2\/media\/587"}],"wp:attachment":[{"href":"https:\/\/www.ah-snchain.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}