<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Jignesh Gangajaliya's blog</title>
        <link>http://geekswithblogs.net/jigneshg/Default.aspx</link>
        <description>on Software Architecture and Development</description>
        <language>en-US</language>
        <copyright>Jignesh Gangajaliya</copyright>
        <managingEditor>jignesh.gangajaliya@hotmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Jignesh Gangajaliya's blog</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/jigneshg/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Validating the SharePoint InputFormTextBox / RichText Editor using JavaScript</title>
            <category>SharePoint</category>
            <category>ASP.NET</category>
            <category>JavaScript</category>
            <link>http://geekswithblogs.net/jigneshg/archive/2010/03/12/validating-the-sharepoint-inputformtextbox--richtext-editor-using-javascript.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/jigneshg/archive/2010/03/12/validating-the-sharepoint-inputformtextbox--richtext-editor-using-javascript.aspx'&gt;http://geekswithblogs.net/jigneshg/archive/2010/03/12/validating-the-sharepoint-inputformtextbox--richtext-editor-using-javascript.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;In the&lt;/span&gt;&lt;/span&gt; &lt;a href="http://geekswithblogs.net/jigneshg/archive/2010/03/11/using-sharepoint-peoplepicker-control-in-custom-asp.net-pages.aspx"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;previous post&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; &lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;I mentioned about manipulating SharePoint PeoplePicker control using JavaScript, in this post I will show how to validate the&lt;/span&gt;&lt;/span&gt; &lt;span style="font-family: Courier New;"&gt;InputFormTextBox&lt;/span&gt; &lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;contol using custom JavaScript function. Here is the &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;a href="http://www.mosslover.com/archive/2009/03/20/requiredfieldvalidator-and-inputformtextbox-not-friendshellip.aspx"&gt;nice post&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: small;"&gt; by Becky Isserman on why not to use&lt;/span&gt;&lt;/span&gt; &lt;span style="font-family: Courier New;"&gt;RequiredFieldValdator&lt;/span&gt; or &lt;span style="font-family: Courier New;"&gt;InputFormRequiredFieldValidator&lt;/span&gt; &lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: small;"&gt;with&lt;/span&gt;&lt;/span&gt; &lt;span style="font-family: Courier New;"&gt;InputFormTextbox&lt;/span&gt;.&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;span style="font-family: Courier New;"&gt;function&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt; ValidateComments()&lt;br /&gt;
{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;    &lt;span style="color: rgb(0, 153, 0);"&gt;//retrieve the text from rich text editor.&lt;/span&gt;&lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;var &lt;/span&gt;text = RTE_GetRichEditTextOnly(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&lt;span style="font-family: Courier New;"&gt;"&amp;lt;%= &lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;rteComments&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;.ClientID %&amp;gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;);&lt;br /&gt;
&lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;if &lt;/span&gt;(text != &lt;span style="color: rgb(128, 0, 0);"&gt;""&lt;/span&gt;)&lt;br /&gt;
    {&lt;br /&gt;
        &lt;span style="color: rgb(0, 0, 255);"&gt;return true&lt;/span&gt;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;br /&gt;
    {&lt;br /&gt;
        alert(&lt;span style="color: rgb(128, 0, 0);"&gt;'Please enter your comments.'&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;        &lt;span style="color: rgb(0, 153, 0);"&gt;//set focus back to the rich text editor.&lt;/span&gt;&lt;br /&gt;
        RTE_GiveEditorFocus(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&lt;span style="font-family: Courier New;"&gt;"&amp;lt;%= &lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;rteComments&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;.ClientID %&amp;gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;);&lt;br /&gt;
        &lt;span style="color: rgb(0, 0, 255);"&gt;return false&lt;/span&gt;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;return true&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&lt;span style="font-family: Courier New;"&gt;SharePoint&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;:&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;InputFormTextBox &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;ID&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="rteComments"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;runat&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="server"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;RichText&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="true"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;RichTextMode&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="Compatible"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Rows&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="10"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;TextMode&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="MultiLine"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;CausesValidation&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="true"&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;SharePoint&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&lt;span style="font-family: Courier New;"&gt;InputFormTextBox&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&lt;span style="font-family: Courier New;"&gt;asp&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;:&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Button &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;ID&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="btnSubmit"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;runat&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="server"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Text&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="Submit"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;OnClick&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="btnSubmit_Click"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;OnClientClick&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="return ValidateComments()"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;CausesValidation&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="true"&lt;/span&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;span style="font-family: Courier New;"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: small;"&gt;- Jignesh&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/jigneshg/aggbug/138473.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jignesh Gangajaliya</dc:creator>
            <guid>http://geekswithblogs.net/jigneshg/archive/2010/03/12/validating-the-sharepoint-inputformtextbox--richtext-editor-using-javascript.aspx</guid>
            <pubDate>Fri, 12 Mar 2010 09:36:30 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/jigneshg/comments/138473.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/jigneshg/archive/2010/03/12/validating-the-sharepoint-inputformtextbox--richtext-editor-using-javascript.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/jigneshg/comments/commentRss/138473.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/jigneshg/services/trackbacks/138473.aspx</trackback:ping>
        </item>
        <item>
            <title>Using SharePoint PeoplePicker control in custom ASP.NET pages</title>
            <category>ASP.NET</category>
            <category>JavaScript</category>
            <category>SharePoint</category>
            <link>http://geekswithblogs.net/jigneshg/archive/2010/03/11/using-sharepoint-peoplepicker-control-in-custom-asp.net-pages.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/jigneshg/archive/2010/03/11/using-sharepoint-peoplepicker-control-in-custom-asp.net-pages.aspx'&gt;http://geekswithblogs.net/jigneshg/archive/2010/03/11/using-sharepoint-peoplepicker-control-in-custom-asp.net-pages.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: small;"&gt;
&lt;p&gt;I was developing custom ASP.NET page for a SharePoint project, and the page uses SharePoint PeoplePicker control. I needed to manipulate the control on the client side based on the user inputs. &lt;br /&gt;
&lt;br /&gt;
PeoplePicker Picker is a complex control and the difficult bit is that it contains many controls on the page (use the page source viewer to see the HTML tags generated).&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;So getting into the right bit is tricky and also the default JavaScript functions like, &lt;span style="font-family: Courier New;"&gt;control.disabled; control.focus();&lt;/span&gt; will not work with PeoplePicker control. After some trial and error I came up with the solution to manipulate the control using JavaScript.  Here I am posting the JavaScript code snippet to enable/disable the PeoplePicker Control:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt; function &lt;/span&gt;ToggleDisabledPeoplePicker(element, isDisabled)&lt;br /&gt;
{&lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;try&lt;/span&gt;&lt;br /&gt;
    {&lt;br /&gt;
        element.disabled = isDisabled;&lt;br /&gt;
    }&lt;br /&gt;
       &lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;catch&lt;/span&gt;(exception)&lt;br /&gt;
    {}&lt;br /&gt;
       &lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;if &lt;/span&gt;((element.childNodes) &amp;amp;&amp;amp; (element.childNodes.length &amp;gt; 0))&lt;br /&gt;
    {&lt;br /&gt;
        &lt;span style="color: rgb(0, 0, 255);"&gt;for &lt;/span&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;var &lt;/span&gt;index = 0; index &amp;lt; element.childNodes.length; index++)&lt;br /&gt;
        {&lt;br /&gt;
            ToggleDisabledPeoplePicker(element.childNodes[index], isDisabled);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;span style="color: rgb(51, 153, 102);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;//to disable the control&lt;/span&gt;&lt;br /&gt;
ToggleDisabledPeoplePicker(document.getElementById(&lt;span style="color: rgb(128, 0, 0);"&gt;"&amp;lt;%=txtMRA.ClientID%&amp;gt;"&lt;/span&gt;), &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: small;"&gt;The script shown below can be used to set focus back to the PeoplePicker control from custom JavaScript validation function:&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;var &lt;/span&gt;found = &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;
        &lt;br /&gt;
&lt;span style="color: rgb(0, 0, 255);"&gt;function &lt;/span&gt;SetFocusToPeoplePicker(element)&lt;br /&gt;
{&lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;try&lt;/span&gt;&lt;br /&gt;
    {&lt;br /&gt;
        &lt;span style="color: rgb(0, 0, 255);"&gt;if &lt;/span&gt;(element.id.lastIndexOf(&lt;span style="color: rgb(128, 0, 0);"&gt;"upLevelDiv"&lt;/span&gt;) !=-1)&lt;br /&gt;
        {&lt;br /&gt;
            element.focus();&lt;br /&gt;
            found = &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;;&lt;br /&gt;
            &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
        &lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;catch&lt;/span&gt;(exception)&lt;br /&gt;
    {}&lt;br /&gt;
        &lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;if &lt;/span&gt;((element.childNodes) &amp;amp;&amp;amp; (element.childNodes.length &amp;gt; 0))&lt;br /&gt;
    {&lt;br /&gt;
        &lt;span style="color: rgb(0, 0, 255);"&gt;for &lt;/span&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;var &lt;/span&gt;index = 0; index &amp;lt; element.childNodes.length; index++)&lt;br /&gt;
        {&lt;br /&gt;
            &lt;span style="color: rgb(0, 0, 255);"&gt;if &lt;/span&gt;(found)&lt;br /&gt;
            {&lt;br /&gt;
                found = &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;
                &lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;
            }&lt;br /&gt;
         &lt;br /&gt;
            SetFocusToPeoplePicker(element.childNodes[index]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arial;"&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: small;"&gt; - Jignesh&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/jigneshg/aggbug/138450.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jignesh Gangajaliya</dc:creator>
            <guid>http://geekswithblogs.net/jigneshg/archive/2010/03/11/using-sharepoint-peoplepicker-control-in-custom-asp.net-pages.aspx</guid>
            <pubDate>Thu, 11 Mar 2010 12:06:22 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/jigneshg/comments/138450.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/jigneshg/archive/2010/03/11/using-sharepoint-peoplepicker-control-in-custom-asp.net-pages.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/jigneshg/comments/commentRss/138450.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/jigneshg/services/trackbacks/138450.aspx</trackback:ping>
        </item>
        <item>
            <title>Is it really possible to achieve multiple inheritance in C# using interfaces? Is it called multiple inheritance when a class implements multiple interfaces?</title>
            <category>Design</category>
            <link>http://geekswithblogs.net/jigneshg/archive/2009/06/25/is-it-really-possible-to-achieve-multiple-inheritance-in-c.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/jigneshg/archive/2009/06/25/is-it-really-possible-to-achieve-multiple-inheritance-in-c.aspx'&gt;http://geekswithblogs.net/jigneshg/archive/2009/06/25/is-it-really-possible-to-achieve-multiple-inheritance-in-c.aspx&lt;/a&gt;&lt;/p&gt;&lt;link style="font-family: Arial;" rel="File-List" href="file:///C:\DOCUME~1\A154740\LOCALS~1\Temp\msohtmlclip1\01\clip_filelist.xml" /&gt;
&lt;link style="font-family: Arial;" rel="themeData" href="file:///C:\DOCUME~1\A154740\LOCALS~1\Temp\msohtmlclip1\01\clip_themedata.thmx" /&gt;
&lt;link style="font-family: Arial;" rel="colorSchemeMapping" href="file:///C:\DOCUME~1\A154740\LOCALS~1\Temp\msohtmlclip1\01\clip_colorschememapping.xml" /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
&lt;w:WordDocument&gt;
&lt;w:View&gt;Normal&lt;/w:View&gt;
&lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
&lt;w:TrackMoves /&gt;
&lt;w:TrackFormatting /&gt;
&lt;w:PunctuationKerning /&gt;
&lt;w:ValidateAgainstSchemas /&gt;
&lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
&lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
&lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
&lt;w:DoNotPromoteQF /&gt;
&lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;
&lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
&lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
&lt;w:Compatibility&gt;
&lt;w:BreakWrappedTables /&gt;
&lt;w:SnapToGridInCell /&gt;
&lt;w:WrapTextWithPunct /&gt;
&lt;w:UseAsianBreakRules /&gt;
&lt;w:DontGrowAutofit /&gt;
&lt;w:SplitPgBreakAndParaMark /&gt;
&lt;w:DontVertAlignCellWithSp /&gt;
&lt;w:DontBreakConstrainedForcedTables /&gt;
&lt;w:DontVertAlignInTxbx /&gt;
&lt;w:Word11KerningPairs /&gt;
&lt;w:CachedColBalance /&gt;
&lt;/w:Compatibility&gt;
&lt;m:mathPr&gt;
&lt;m:mathFont m:val="Cambria Math" /&gt;
&lt;m:brkBin m:val="before" /&gt;
&lt;m:brkBinSub m:val="&amp;#45;-" /&gt;
&lt;m:smallFrac m:val="off" /&gt;
&lt;m:dispDef /&gt;
&lt;m:lMargin m:val="0" /&gt;
&lt;m:rMargin m:val="0" /&gt;
&lt;m:defJc m:val="centerGroup" /&gt;
&lt;m:wrapIndent m:val="1440" /&gt;
&lt;m:intLim m:val="subSup" /&gt;
&lt;m:naryLim m:val="undOvr" /&gt;
&lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
&lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267"&gt;
&lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal" /&gt;
&lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 1" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 2" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 3" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 4" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 5" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 6" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 7" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 8" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 9" /&gt;
&lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /&gt;
&lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title" /&gt;
&lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /&gt;
&lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /&gt;
&lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong" /&gt;
&lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /&gt;
&lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid" /&gt;
&lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /&gt;
&lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /&gt;
&lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /&gt;
&lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /&gt;
&lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote" /&gt;
&lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /&gt;
&lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /&gt;
&lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /&gt;
&lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /&gt;
&lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title" /&gt;
&lt;w:LsdException Locked="false" Priority="37" Name="Bibliography" /&gt;
&lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /&gt;
&lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;style type="text/css"&gt;&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;&lt;/style&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
&lt;/style&gt;
&lt;![endif]--&gt;&lt;font size="1" style="font-family: Arial;"&gt;&lt;span style="font-size: 11pt; line-height: 115%;"&gt;&lt;font size="2"&gt;I have heard many times that, multiple inheritance is supported in C# through interfaces hence thought of this post.&lt;/font&gt;&lt;br /&gt;
&lt;font size="2"&gt;&lt;br /&gt;
Let’s first have a re-look at what inheritance is. In object oriented programming, inheritance is a way to form new classes using classes that have already been defined. Inheritance promotes code reusability in design as the derived class inherits state and behavior from parent class.&lt;/font&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;font size="2"&gt;When a class inherits from an interface it simply inherits method definitions for which it will provide implementation. Since interface doesn’t have any implementation, the question of code reusability doesn’t arise.&lt;/font&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;font size="2"&gt;You're not achieving multiple inheritance simply by implementing an interface.&lt;br /&gt;
There are some tricks available to achieve the same behavior. E.g. &lt;a href="http://en.wikipedia.org/wiki/Object_composition"&gt;Object Composition&lt;/a&gt;, however it is not true multiple inheritance.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;div&gt;&lt;font size="1" style="font-family: Arial;"&gt;&lt;span style="font-size: 11pt; line-height: 115%;"&gt;&lt;font size="2"&gt;&lt;br /&gt;
- Jignesh&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/jigneshg/aggbug/133045.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jignesh Gangajaliya</dc:creator>
            <guid>http://geekswithblogs.net/jigneshg/archive/2009/06/25/is-it-really-possible-to-achieve-multiple-inheritance-in-c.aspx</guid>
            <pubDate>Thu, 25 Jun 2009 14:05:23 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/jigneshg/comments/133045.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/jigneshg/archive/2009/06/25/is-it-really-possible-to-achieve-multiple-inheritance-in-c.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/jigneshg/comments/commentRss/133045.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/jigneshg/services/trackbacks/133045.aspx</trackback:ping>
        </item>
        <item>
            <title>About me</title>
            <category>Personal</category>
            <link>http://geekswithblogs.net/jigneshg/archive/2009/06/24/about-me.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/jigneshg/archive/2009/06/24/about-me.aspx'&gt;http://geekswithblogs.net/jigneshg/archive/2009/06/24/about-me.aspx&lt;/a&gt;&lt;/p&gt;&lt;font size="2" style="font-family: Arial;"&gt;I am an experienced Software Developer and Architect, specializing in Microsoft Technologies. I will be posting about my experience with MS technologies, hope, this will make a useful repository of information for the IT folks.&lt;/font&gt;&lt;div&gt;&lt;font size="2" style="font-family: Arial;"&gt;&lt;br /&gt;
- Jignesh&lt;/font&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/jigneshg/aggbug/133024.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jignesh Gangajaliya</dc:creator>
            <guid>http://geekswithblogs.net/jigneshg/archive/2009/06/24/about-me.aspx</guid>
            <pubDate>Wed, 24 Jun 2009 13:57:08 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/jigneshg/comments/133024.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/jigneshg/archive/2009/06/24/about-me.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/jigneshg/comments/commentRss/133024.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/jigneshg/services/trackbacks/133024.aspx</trackback:ping>
        </item>
    </channel>
</rss>