<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Arial","sans-serif";
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
-->
</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D">Why are you trying to read it from your classpath? As it wasn’t in your classpath when you loaded java doesn’t know about it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D">You already have the File object so you can just make a FileReader object from that.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D">Reader source = new FileReader(drlFile);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D">Don’t forget to close your reader when you are done with it, ideally in a finally block so that ti gets closed even if there is an IOException while reading
from it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D">Also you really really really shouldn’t write files into your source directory as it means that running a clean doesn’t work properly, is likely to confuse
eclipse and lead to all sorts of other funnies like dynamic files suddenly appearing in your classpath... For unit tests write it to “target/testOutput” or similar.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D">Hope this helps,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D">Thomas<o:p></o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:
"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;
font-family:"Tahoma","sans-serif""> rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org]
<b>On Behalf Of </b>Fnu Mahalakshmi<br>
<b>Sent:</b> 15 June 2010 22:05<br>
<b>To:</b> 'rules-users@lists.jboss.org'<br>
<b>Subject:</b> [rules-users] Weird error with rule files<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">When I run my project – I have brl and drl rule files.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">When I run it for the first time: I am converting brl to drl files.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">I get this error<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red">Exception in thread "main"
</span><u><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:navy">java.lang.NullPointerException</span></u><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red"> at java.io.Reader.<init>(Unknown Source)</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red"> at java.io.InputStreamReader.<init>(Unknown Source)</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red"> at com.org.RuleRunner.loadRuleFile(</span><u><span lang="EN-US" style="font-size:
10.0pt;font-family:"Courier New";color:navy">RuleRunner.java:87</span></u><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red">)
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red"> at com.org.RuleRunner.loadRules(</span><u><span lang="EN-US" style="font-size:
10.0pt;font-family:"Courier New";color:navy">RuleRunner.java:44</span></u><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red">)</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red"> at com.org.RuleRunner.runStatelessRules(</span><u><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:navy">RuleRunner.java:108</span></u><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red">)</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red"> at com.org.RulesTest.main(</span><u><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:navy">RulesTest.java:40</span></u><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:red">)</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">But after I run it for the first time and the rule.drl (converted file from brl to drl) exists in my directory – I run it again and then the program runs fine.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">So number of .brl files that many number of exceptions(same as above) and then program runs.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">Why is this happening?? Should it not create the file and load it into the rulebase?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">My code for converting from brl to drl is :<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black">
</span><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:#7F0055">try</span></b><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:black">{</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> BRXMLPersistence read = (BRXMLPersistence) BRXMLPersistence.<i>getInstance</i>();</span><span lang="EN-US" style="font-size:
10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> BRDRLPersistence write = (BRDRLPersistence) BRDRLPersistence.<i>getInstance</i>();</span><span lang="EN-US" style="font-size:
10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> brl = FileUtils.<i>readFileToString</i>(file);
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> System.</span><i><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:#0000C0">out</span></i><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:black">.println(</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"File
content: "</span><span lang="EN-US" style="font-size:10.0pt;font-family:
"Courier New";color:black"> + brl);
</span><span lang="EN-US" style="font-size:
10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> outputDRL = write.marshal(read.unmarshal(brl));</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> String drlFilePath =
</span><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:#2A00FF">"src/main/rules"</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black">+rulesFiles +</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:#2A00FF">".drl"</span><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:black">;</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> System.</span><i><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:#0000C0">out</span></i><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:black">.println(</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"drlFilePath
"</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:black">+drlFilePath +</span><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:#2A00FF">"rulesFiles "</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black">+rulesFiles);</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> String path = rulesFiles+</span><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:#2A00FF">".drl"</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black">;</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> System.</span><i><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:#0000C0">out</span></i><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:black">.println(</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"path
"</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:black">+path);</span><span lang="EN-US" style="font-size:10.0pt;font-family:
"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> System.</span><i><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:#0000C0">out</span></i><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:black">.println(</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"drlfile
"</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:black">+drlFilePath);</span><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> drlFile =
</span><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:#7F0055">new</span></b><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:black"> File(drlFilePath);</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> FileUtils.<i>writeStringToFile</i>(drlFile, outputDRL);</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> Reader source =
</span><b><span lang="EN-US" style="font-size:10.0pt;font-family:
"Courier New";color:#7F0055">new</span></b><span lang="EN-US" style="font-size:
10.0pt;font-family:"Courier New";color:black"> InputStreamReader( RuleRunner.</span><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">class</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black">.getResourceAsStream(path)
); // error is here</span><span lang="EN-US" style="font-size:10.0pt;font-family:
"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> addRulesToThisPackage.addPackageFromDrl(source);</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> }</span><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:#7F0055">catch</span></b><span lang="EN-US" style="font-size:10.0pt;
font-family:"Courier New";color:black">
(IOException e) {</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> e.printStackTrace();
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";color:black"> }
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:black"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:black">Any idea why this problem?? Is there some error in my code above????<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:black">Please help.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:black">Thank you<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New";
color:black">M</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif""><o:p></o:p></span></p>
<div class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US">
<hr size="1" width="100%" align="center">
</span></div>
<p><strong><span lang="EN-US" style="color:green">Please consider the environment before printing this email.</span></strong><span lang="EN-US"><o:p></o:p></span></p>
<p><strong><span lang="EN-US">Visit our website at <a href="http://www.nyse.com">
http://www.nyse.com</a> </span></strong><b><span lang="EN-US"><br>
<strong>*****************************************************************************
</strong><br>
<strong>Note: The information contained in this message and any attachment to it is privileged, confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this
message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by replying to the
message, and please delete it from your system. Thank you. NYSE Euronext. </strong>
</span></b><span lang="EN-US"><o:p></o:p></span></p>
<pre><span lang="EN-US"><o:p> </o:p></span></pre>
</div>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1"><br>
**************************************************************************************<br>
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster@nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data
may be monitored by NDS for employment and security purposes. To protect the environment please do not print this e-mail unless necessary.<br>
<br>
NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00<br>
**************************************************************************************<br>
</font>
</body>
</html>