<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>아직도 꿈만 꿔?</title>
		<link>http://blog.jeidee.net/</link>
		<description>여전히 아무 것도 없다</description>
		<language>ko</language>
		<pubDate>Tue, 23 Feb 2010 17:30:38 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<image>
		<title>아직도 꿈만 꿔?</title>
		<url><![CDATA[http://cfs12.tistory.com/upload_control/download.blog?fhandle=YmxvZzQzNTY1QGZzMTIudGlzdG9yeS5jb206L2F0dGFjaC8wLzI0LmpwZw%3D%3D]]></url>
		<link>http://blog.jeidee.net/</link>
		<description>여전히 아무 것도 없다</description>
		</image>
		<item>
			<title>실버라이트 플립 클락</title>
			<link>http://blog.jeidee.net/839</link>
			<description>&lt;a href=&quot;http://www.reflectionit.nl/Blog/default.aspx?guid=5686196f-adbd-43c0-85aa-fdd7cb4cf54c&quot;&gt;&lt;a href=&quot;http://www.reflectionit.nl/Blog/default.aspx?guid=5686196f-adbd-43c0-85aa-fdd7cb4cf54c&quot; target=&quot;_blank&quot; title=&quot;[http://www.reflectionit.nl/Blog/default.aspx?guid=5686196f-adbd-43c0-85aa-fdd7cb4cf54c]로 이동합니다.&quot;&gt;http://www.reflectionit.nl/Blog/default.aspx?guid=5686196f-adbd-43c0-85aa-fdd7cb4cf54c&lt;/a&gt;&lt;/a&gt;&lt;div id=&quot;__KO_DIC_LAYER__&quot; style=&quot;display: none; &quot;&gt;
&lt;iframe id=&quot;__KO_DIC_FRAME__&quot; name=&quot;dicExtFrame&quot; frameborder=&quot;0&quot; scrolling=&quot;yes&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;</description>
			<category>C#</category>
			<author>Jeidee</author>
			<guid>http://blog.jeidee.net/839</guid>
			<comments>http://blog.jeidee.net/839#entry839comment</comments>
			<pubDate>Tue, 23 Feb 2010 17:29:53 +0900</pubDate>
		</item>
		<item>
			<title>Box2d For C#</title>
			<link>http://blog.jeidee.net/838</link>
			<description>&lt;a href=&quot;http://code.google.com/p/box2dx/&quot;&gt;&lt;a href=&quot;http://code.google.com/p/box2dx/&quot; target=&quot;_blank&quot; title=&quot;[http://code.google.com/p/box2dx/]로 이동합니다.&quot;&gt;http://code.google.com/p/box2dx/&lt;/a&gt;&lt;/a&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</description>
			<category>Miscellaneous</category>
			<author>Jeidee</author>
			<guid>http://blog.jeidee.net/838</guid>
			<comments>http://blog.jeidee.net/838#entry838comment</comments>
			<pubDate>Tue, 23 Feb 2010 09:15:24 +0900</pubDate>
		</item>
		<item>
			<title>SQL Server 2005에서 SQL Server 2008로 업그레이드(Developer Edition)</title>
			<link>http://blog.jeidee.net/837</link>
			<description>다음과 같이 작업을 수행하였다.&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# SQL Server Developer Edition을 2005에서 2008로 업그레이드&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
1. 설치시작 -&amp;gt; 재부팅 : 10시 32분 시작&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
2. 모든 서비스 중지&lt;/div&gt;
&lt;div&gt;
3. 업그레이드 선택 설치&lt;/div&gt;
&lt;div&gt;
4. 업그레이드 성공 : 11시 06분 완료&lt;/div&gt;
&lt;div&gt;
5. 서비스팩 설치 시작 : 11시 12분&lt;/div&gt;
&lt;div&gt;
6. 서비스팩 설치 완료 : 11시 23분&lt;/div&gt;
&lt;div&gt;
7. 버전 = 10.0.2531&lt;/div&gt;
&lt;div&gt;
8. SQL 2005 프로그램 제거 : 워크스테이션 구성요소&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
소요시간은 1시간 가량 걸렸는데, 서버환경은 모두 다르므로 단순히 참고만 할 것!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# 설치후 문제점&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
1. SQL Server 2005 서비스팩 3가 설치되지 않은 SSMS에서는 접속되지 않는다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;
# 사족&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;b&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#E31600&quot;&gt;&lt;s&gt;서비스를 중지하지 않을 경우 업그레이드 완료 시점에서 특정 서비스(잘 기억 안남)가 응답이 없다는 오류메시지를 출력하면서 실패한다.&amp;nbsp;&lt;/s&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;s&gt;
이럴 경우 2005, 2008 모두 제거하고 다시 설치해야 하는 우울한 상황이 발생하게 된다.&lt;/s&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;아래 트러블슈팅 참조할 것!&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;
&lt;b&gt;# 트러블슈팅&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
1. 엔진 복구 핸들을 기다리지 못했다는 오류 발생&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/11768B234B736D7481A8AE&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/11768B234B736D7481A8AE&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;sqlserver2008upgradefailed.png&quot; height=&quot;465&quot; width=&quot;620&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
원인 : 보안 이슈로 sa 계정 이름을 변경한 경우 발생한다.&lt;/div&gt;
&lt;div&gt;
해결 :&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(193, 193, 193); border-right-color: rgb(193, 193, 193); border-bottom-color: rgb(193, 193, 193); border-left-color: rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;div&gt;
- Command prompt 실행&lt;/div&gt;
&lt;div&gt;
- Net start mssqlserver /f /T3608 실행&lt;/div&gt;
&lt;div&gt;
- Sqlcmd –E –A –Q “alter login &amp;lt;sys-admin&amp;gt; with name=sa”&lt;/div&gt;
&lt;div&gt;
&amp;lt;sys-admin&amp;gt; 부분에 sys-admin권한이 있는 로그인명을 입력하면 된다.&lt;/div&gt;
&lt;div&gt;
SQL Server에 연결이 실패하고 SQL Server가 중지될 경우, SQL Server 구성 관리자를 열어 서비스를 실행하고 다시 시도하면 성공한다.&lt;/div&gt;
&lt;div&gt;
- Net stop mssqlserver&lt;/div&gt;
&lt;div&gt;
- SQL Server 2008 설치 복구를 실행한다.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
참조 :&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#039;맑은 고딕&#039;; line-height: 20px; font-size: 13px; &quot;&gt;&lt;a href=&quot;http://support.microsoft.com/kb/960781&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://support.microsoft.com/kb/960781&quot; target=&quot;_blank&quot; title=&quot;[http://support.microsoft.com/kb/960781]로 이동합니다.&quot;&gt;http://support.microsoft.com/kb/960781&lt;/a&gt;&amp;nbsp;: &lt;b&gt;꼭 영어원문으로 볼 것!!!&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;_dic_layer_&quot; style=&quot;display: none; &quot;&gt;
&lt;iframe id=&quot;_dic_frame_&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; name=&quot;_dic_frame_&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;</description>
			<category>SQL Server</category>
			<author>Jeidee</author>
			<guid>http://blog.jeidee.net/837</guid>
			<comments>http://blog.jeidee.net/837#entry837comment</comments>
			<pubDate>Thu, 11 Feb 2010 11:40:42 +0900</pubDate>
		</item>
		<item>
			<title>SQL Server 2008 새로운 기능 정리</title>
			<link>http://blog.jeidee.net/836</link>
			<description>&lt;p&gt;참고한 문서 : &lt;a href=&quot;http://technet.microsoft.com/ko-kr/library/bb510411.aspx&quot;&gt;http://technet.microsoft.com/ko-kr/library/bb510411.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;관리와 운영측면에서 본 마이그레이션 필요성&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;p&gt;미러링 환경이 구축되어 있을 경우 가용성 향상&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;백업용량을 축소시킬 필요가 있을 경우 써드파티 불필요&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;데이터 동기화가 필요하고 현재 성능 저하 및 데이터 신뢰성 확보에 문제가 있을 경우 마이그레이션 필요&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;관리해야할 데이터베이스 서버가 여러대이고 통합 관리하는데 불편함이 있다면 마이그레이션 후 중앙관리서버와 데이터수집기 운영으로 효과를 볼 수 있다.&lt;/p&gt;      &lt;p&gt;정책 기반 관리를 적용해 일관된 정책을 여러 서버에 쉽게 전파하고 운영할 수 있는 장점이 있다.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;데이터의 암호화 기능을 다양하게 지원하여, 보안성을 향상 시킬 수 있다.&lt;/p&gt;      &lt;p&gt;개별 데이터 암호화 알고리즘 확장 지원 및 옵션 설정으로 엔진차원에서 암/복호화 수행하여 데이터파일 유출시에도 걱정을 덜어준다.&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;개발 측면에서 향상된 기능&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;p&gt;테이블/인덱스/인덱싱된 뷰의 데이터 압축 지원&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;분할된 테이블 및 인덱스에 대한 파티션 전환 성능 향상&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;공간 데이터 지원(geometry, geography 데이터 형식 추가)&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;날짜 데이터형식 추가되어 정밀도 향상&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;계층적 구조 지원으로 프로그래밍 편의성 향상&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;전체 텍스트 검색이 데이터베이스에 통합되어 이동, 백업/복원 시 관리 용이&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;T-SQL 프로그래밍 편이성 증가&lt;/p&gt;      &lt;ol&gt;       &lt;li&gt;         &lt;p&gt;계층적구조 지원을 위한 데이터타입(hierarchyid) 추가&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;날짜시간 데이터타입 추가&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;복합 연산자 지원( set @x += 2)&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;멀티-insert 지원&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;merge 구분 지원으로 조인 결과에 따른 insert/update/delete 구문 수행 가능&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;테이블 반환 매개 변수 지원&lt;/p&gt;       &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;성능과 보안 측면에서 향상된 기능&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;p&gt;전체 테이블 인덱스 -&amp;gt; 필터링된 인덱스 및 통계 지원으로 쿼리 성능 개선 및 인덱스 유지 관리 및 저장소 비용 감소&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;테이블 및 쿼리 힌트 향상으로 고급 쿼리 성능 튜닝시 정밀하게 제어 가능&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;잠금 에스컬레이션을 해제할 수 있어 분할 테이블의 경우 파티션 수준으로 잠금 구성 가능&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;데이터웨어하우스 쿼리 성능 향상 – 향상된 비트맵 필터링 참조&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;향상된 병렬 처리 쿼리&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;암호화 함수 지원, TRIPLE_DES_3KEY 사용 가능(DES 설명 제공)&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;TDE(투명한 데이터 암호화) 기능은 응용 프로그램 독립적으로 데이터베이스 파일을 자동으로 암호화하는 옵션 제공.&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;</description>
			<category>SQL Server</category>
			<author>Jeidee</author>
			<guid>http://blog.jeidee.net/836</guid>
			<comments>http://blog.jeidee.net/836#entry836comment</comments>
			<pubDate>Tue, 02 Feb 2010 16:06:36 +0900</pubDate>
		</item>
		<item>
			<title>SQL Server 2005 Analysis Services에 대한 HTTP 액세스 구성시 트러블슈팅</title>
			<link>http://blog.jeidee.net/834</link>
			<description>&lt;p&gt;SQL Server 2005 Analysis Services(이하 SSAS)에 접근하기 위해 클라이언트가 직접 SSAS에 연결하는 대신 HTTP를 통해 IIS 웹서버를 경유하도록 구성할 수 있습니다.&lt;/p&gt;
  &lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;Windows 2003서버에서 SSAS에 대한 HTTP 액세스를 구성하는 상세한 방법은 MSDN의 다음 아티클을 참조하세요.&lt;/p&gt;
  &lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;&lt;a title=&quot;http://msdn.microsoft.com/ko-kr/library/cc917711.aspx&quot; href=&quot;http://msdn.microsoft.com/ko-kr/library/cc917711.aspx&quot;&gt;http://msdn.microsoft.com/ko-kr/library/cc917711.aspx&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;여기에서는 IIS를 경유하도록 구성한 시스템에서 오류가 발생할 경우 해결방법에 대해 기술합니다.&lt;/p&gt;
  &lt;p&gt;(이 문서는 향후 계속 갱신하도록 합니다.)&lt;/p&gt;
  &lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;#1. 클라이언트에서 전송계층 오류 발생&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;- 오류 메시지&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;한글&lt;/p&gt;
  &lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; width=&quot;400&quot;&gt;
&lt;tbody&gt;     &lt;tr&gt;
       &lt;td valign=&quot;top&quot; width=&quot;400&quot;&gt;쿼리를 실행할 수 없습니다.         &lt;br /&gt;
전송계층에서 오류가 발생했습니다.          &lt;br /&gt;
연결이 닫혔습니다.&lt;/td&gt;
     &lt;/tr&gt;
   &lt;/tbody&gt;&lt;/table&gt;
  &lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;영문&lt;/p&gt;
  &lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; width=&quot;400&quot;&gt;
&lt;tbody&gt;     &lt;tr&gt;
       &lt;td valign=&quot;top&quot; width=&quot;400&quot;&gt;         &lt;p&gt;The query could not be processed:           &lt;br /&gt;
An error was encounted in the transport layer            &lt;br /&gt;
The peer prematurely closed the connection.&lt;/p&gt;
       &lt;/td&gt;
     &lt;/tr&gt;
   &lt;/tbody&gt;&lt;/table&gt;
  &lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;- 증상&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;위와 같은 오류메시지를 출력하면서 데이터소스와 연결이 끊어진다.&lt;br /&gt;
SSAS서버는 정상 동작하고 있다.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;- 원인&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;IIS의 olap 사이트에 문제가 있는 것 같지만 정확한 원인을 찾을 수 없다.&lt;/p&gt;
  &lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;- 해결&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;IIS의 olap 가상디렉터리의 응용프로그램풀을 재시작(recyle)하면 해결된다.&lt;/p&gt;
  &lt;p&gt;해당 서버에 특정 시간 간격으로 olap 응용프로그램풀을 재시작하도록 배치작업을 생성했다.&lt;/p&gt;
  &lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;olap_recyle.bat 파일 생성&lt;/p&gt;
  &lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; width=&quot;400&quot;&gt;
&lt;tbody&gt;     &lt;tr&gt;
       &lt;td valign=&quot;top&quot; width=&quot;400&quot;&gt;         &lt;p&gt;cd \windows\system32           &lt;br /&gt;
cscript iisapp.vbs /a olap /r&lt;/p&gt;
       &lt;/td&gt;
     &lt;/tr&gt;
   &lt;/tbody&gt;&lt;/table&gt;</description>
			<category>SQL Server</category>
			<category>트러블슈팅</category>
			<author>Jeidee</author>
			<guid>http://blog.jeidee.net/834</guid>
			<comments>http://blog.jeidee.net/834#entry834comment</comments>
			<pubDate>Wed, 27 Jan 2010 13:51:08 +0900</pubDate>
		</item>
		<item>
			<title>Recyle application pool of IIS</title>
			<link>http://blog.jeidee.net/833</link>
			<description>&lt;p&gt;&lt;a title=&quot;http://sanjayapdl.wordpress.com/2008/04/30/restart-application-pool-instead-of-iis/&quot; href=&quot;http://sanjayapdl.wordpress.com/2008/04/30/restart-application-pool-instead-of-iis/&quot;&gt;http://sanjayapdl.wordpress.com/2008/04/30/restart-application-pool-instead-of-iis/&lt;/a&gt;&lt;/p&gt;</description>
			<category>Tools and System</category>
			<author>Jeidee</author>
			<guid>http://blog.jeidee.net/833</guid>
			<comments>http://blog.jeidee.net/833#entry833comment</comments>
			<pubDate>Mon, 25 Jan 2010 14:05:29 +0900</pubDate>
		</item>
		<item>
			<title>자바스크립트로 만든 플래쉬 런타임</title>
			<link>http://blog.jeidee.net/830</link>
			<description>&lt;p&gt;&lt;a title=&quot;http://paulirish.com/work/gordon/demos/&quot; href=&quot;http://paulirish.com/work/gordon/demos/&quot;&gt;http://paulirish.com/work/gordon/demos/&lt;/a&gt;&lt;/p&gt;</description>
			<category>스크랩</category>
			<author>Jeidee</author>
			<guid>http://blog.jeidee.net/830</guid>
			<comments>http://blog.jeidee.net/830#entry830comment</comments>
			<pubDate>Thu, 14 Jan 2010 17:10:43 +0900</pubDate>
		</item>
		<item>
			<title>양력, 음력 변환</title>
			<link>http://blog.jeidee.net/826</link>
			<description>&lt;p&gt;# 프로그램 소스 파일&lt;/p&gt;  &lt;p&gt;&lt;table style=&quot;display: inline; border-collapse: collapse&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://endlessprogramming.tistory.com/attachment/cfile1.uf@18033E1A4B31C2621811EC.cs&quot;&gt;&lt;img src=&quot;http://cfs.tistory.com/blog/image/extension/unknown.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; Lunar.cs&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;해당 클래스로 양력을 음력으로 변환할 수 있는 범위는 양력 1800-01-25 ~ 2050-01-22 까지이고,&lt;/p&gt;  &lt;p&gt;음력을 양력으로 변환할 수 있는 범위는 음력 1800-01-01 ~ 2049-12-08 까지이다.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;다음 링크에서 c로 구현된 소스를 구해 일부 버그를 수정하고 변환 범위 확장 및 양력-&amp;gt;음력 변환 기능 추가, 음력 간지 계산 기능을 추가해서 c#으로 다시 작성했다.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;링크(&lt;a title=&quot;http://openwrld.egloos.com/1417170&quot; href=&quot;http://openwrld.egloos.com/1417170&quot;&gt;http://openwrld.egloos.com/1417170&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;천문연구원의 음력/양력 변환 데이터와 대조 확인 완료했으며 위 변환 범위 내에서 문제 없음을 확인했다.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;변환 클래스(Lunar)의 코드는 다음과 같다.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div id=&quot;codeSnippetWrapper&quot;&gt;   &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;namespace&lt;/span&gt; Solar2Lunar&lt;br /&gt;{&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// 양력&amp;lt;-&amp;gt;음력 변환 클래스&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// 변환이 가능한 양력 범위(1800-01-25 ~ 2050-01-22)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// 변환이 가능한 음력 범위(1800-01-01 ~ 2049-12-08)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// 다음 링크에 있는 알고리즘을 C#코드로 수정해서 작성했음을 밝힌다.&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// http://openwrld.egloos.com/1417170&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt; Lunar&lt;br /&gt;    {&lt;br /&gt;        &lt;span style=&quot;color: #cc6633&quot;&gt;#region&lt;/span&gt; 음력데이터&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 음력 달의 특징&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 1: 평달 (작은달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 2: 평달 (큰달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 3: 윤달 (작은달 + 작은달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 4: 윤달 (작은달 + 큰달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 5: 윤달 (큰달 + 작은달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 6: 윤달 (큰달 + 큰달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 작은달=29, 큰달=30&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;readonly&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;[,] LUNAR_FEATURES = {{2,1,2,5,2,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1800 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,2,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1801 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,2,1,2,2,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1802 &lt;/span&gt;&lt;br /&gt;            {2,3,2,1,2,1,2,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1803 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,1,2,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1804 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,3,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1805 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,1,1,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1806 &lt;/span&gt;&lt;br /&gt;            {2,2,2,1,1,2,1,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1807 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,5,2,1,2,1,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1808 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,2,1,2,1,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1809 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,2,1,2,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1810 &lt;/span&gt;&lt;br /&gt;            {1,1,5,2,1,2,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1811 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,2,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1812 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1813 &lt;/span&gt;&lt;br /&gt;            {2,5,2,1,1,1,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1814 &lt;/span&gt;&lt;br /&gt;            {2,2,1,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1815 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,5,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1816 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,2,1,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1817 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,2,1,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1818 &lt;/span&gt;&lt;br /&gt;            {1,2,1,5,2,2,1,2,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1819 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,1,2,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1820 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,1,2,1,2,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1821 &lt;/span&gt;&lt;br /&gt;            {2,1,5,1,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1822 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,1,2,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1823 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,4,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1824 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1825 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1826 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,4,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1827 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1828 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1829 &lt;/span&gt;&lt;br /&gt;            {1,1,2,3,2,1,2,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1830 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,1,2,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1831 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,1,2,1,5,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1832 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,1,2,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1833 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1834 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,5,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1835 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,2,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1836 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,2,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1837 &lt;/span&gt;&lt;br /&gt;            {1,2,1,5,1,2,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1838 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1839 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1840 &lt;/span&gt;&lt;br /&gt;            {1,2,4,1,1,2,1,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1841 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1842 &lt;/span&gt;&lt;br /&gt;            {2,2,2,1,2,1,4,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1843 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1844 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,2,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1845 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,5,2,1,2,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1846 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,2,1,2,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1847 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1848 &lt;/span&gt;&lt;br /&gt;            {2,1,2,3,2,1,2,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1849 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1850 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,1,2,3,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1851 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,1,2,1,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1852 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1853 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,5,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1854 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,2,2,1,2,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1855 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,2,1,2,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1856 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,5,2,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1857 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1858 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1859 &lt;/span&gt;&lt;br /&gt;            {2,1,6,1,1,2,1,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1860 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,2,1,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1861 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,2,1,5,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1862 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,2,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1863 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,2,1,2,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1864 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,4,1,2,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1865 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,1,2,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1866 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1867 &lt;/span&gt;&lt;br /&gt;            {1,2,2,3,2,1,1,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1868 &lt;/span&gt;&lt;br /&gt;            {2,2,2,1,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1869 &lt;/span&gt;&lt;br /&gt;            {2,2,2,1,2,1,2,1,1,5,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1870 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,2,1,2,1,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1871 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,2,1,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1872 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,2,4,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1873 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,2,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1874 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1875 &lt;/span&gt;&lt;br /&gt;            {2,2,1,1,5,1,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1876 &lt;/span&gt;&lt;br /&gt;            {2,2,1,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1877 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1878 &lt;/span&gt;&lt;br /&gt;            {2,2,4,2,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1879 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,2,1,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1880 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,5,2,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1881 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1882 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,1,2,1,2,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1883 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,3,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1884 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,1,2,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1885 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1886 &lt;/span&gt;&lt;br /&gt;            {2,2,1,5,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1887 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1888 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1889 &lt;/span&gt;&lt;br /&gt;            {1,5,2,1,2,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1890 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1891 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,1,5,2,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1892 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,1,2,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1893 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,1,2,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1894 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,5,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1895 &lt;/span&gt;&lt;br /&gt;            {2,2,2,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1896 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1897 &lt;/span&gt;&lt;br /&gt;            {2,1,5,2,2,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1898 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,2,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1899 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,5,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1900 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1901 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1902 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,3,2,1,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1903 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,1,2,1,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1904 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1905 &lt;/span&gt;&lt;br /&gt;            {1,2,2,4,1,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1906 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1907 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,2,1,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1908 &lt;/span&gt;&lt;br /&gt;            {1,5,1,2,1,2,1,2,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1909 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1910 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,5,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1911 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1912 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,1,2,1,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1913 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,5,1,2,1,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1914 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1915 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1916 &lt;/span&gt;&lt;br /&gt;            {2,3,2,1,2,2,1,2,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1917 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,2,1,2,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1918 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,5,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1919 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1920 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1921 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,3,2,1,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1922 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,2,1,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1923 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,2,1,2,1,2,1,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1924 &lt;/span&gt;&lt;br /&gt;            {2,1,2,5,2,1,2,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1925 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,2,1,2,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1926 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1927 &lt;/span&gt;&lt;br /&gt;            {1,5,1,2,1,1,2,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1928 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1929 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,1,5,1,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1930 &lt;/span&gt;&lt;br /&gt;            {2,2,2,1,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1931 &lt;/span&gt;&lt;br /&gt;            {2,2,2,1,2,1,2,1,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1932 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,6,1,2,1,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1933 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,2,1,2,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1934 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,2,1,2,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1935 &lt;/span&gt;&lt;br /&gt;            {2,1,4,1,2,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1936 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1937 &lt;/span&gt;&lt;br /&gt;            {2,2,1,1,2,1,4,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1938 &lt;/span&gt;&lt;br /&gt;            {2,2,1,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1939 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1940 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,2,4,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1941 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,2,1,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1942 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1943 &lt;/span&gt;&lt;br /&gt;            {1,1,2,4,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1944 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,1,2,1,2,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1945 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,1,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1946 &lt;/span&gt;&lt;br /&gt;            {2,5,1,2,1,1,2,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1947 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1948 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,2,3,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1949 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1950 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1951 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,4,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1952 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1953 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1954 &lt;/span&gt;&lt;br /&gt;            {2,1,4,1,1,2,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1955 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,1,2,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1956 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,1,5,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1957 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1958 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1959 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,5,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1960 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,2,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1961 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1962 &lt;/span&gt;&lt;br /&gt;            {2,1,2,3,2,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1963 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1964 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,1,2,1,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1965 &lt;/span&gt;&lt;br /&gt;            {1,2,5,2,1,1,2,1,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1966 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1967 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,5,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1968 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1969 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,2,1,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1970 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,5,2,1,2,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1971 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1972 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1973 &lt;/span&gt;&lt;br /&gt;            {2,2,1,5,1,2,1,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1974 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,1,2,1,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1975 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,2,1,5,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1976 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,2,1,2,1,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1977 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,2,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1978 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,6,1,2,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1979 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1980 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1981 &lt;/span&gt;&lt;br /&gt;            {2,1,2,3,2,1,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1982 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1983 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,1,2,1,1,5,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1984 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,2,1,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1985 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,2,1,2,1,2,1,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1986 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,5,2,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1987 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,2,1,2,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1988 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1989 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,5,1,2,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1990 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1991 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,1,2,1,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1992 &lt;/span&gt;&lt;br /&gt;            {1,2,5,2,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1993 &lt;/span&gt;&lt;br /&gt;            {2,2,2,1,2,1,2,1,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1994 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,2,1,5,2,1,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1995 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,2,1,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 1996 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,2,1,2,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1997 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,3,2,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1998 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 1999 &lt;/span&gt;&lt;br /&gt;            {2,2,1,1,2,1,1,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2000 &lt;/span&gt;&lt;br /&gt;            {2,2,2,3,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2001 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2002 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,2,1,2,1,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2003 &lt;/span&gt;&lt;br /&gt;            {1,5,2,2,1,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2004 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,2,1,2,2,1,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2005 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,5,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2006 &lt;/span&gt;&lt;br /&gt;            {1,1,2,1,1,2,1,2,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2007 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,1,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2008 &lt;/span&gt;&lt;br /&gt;            {2,2,1,1,5,1,2,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2009 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2010 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2011 &lt;/span&gt;&lt;br /&gt;            {2,1,6,2,1,2,1,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2012 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2013 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,2,1,2,5,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2014 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,2,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2015 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2016 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,3,2,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2017 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,1,2,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2018 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2019 &lt;/span&gt;&lt;br /&gt;            {2,1,2,5,2,1,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2020 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2021 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,2,1,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2022 &lt;/span&gt;&lt;br /&gt;            {1,5,2,1,2,1,2,2,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2023 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,2,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2024 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,5,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2025 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2026 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,1,1,2,1,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2027 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,5,1,2,1,1,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2028 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,2,1,1,2,1,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2029 &lt;/span&gt;&lt;br /&gt;            {1,2,1,2,2,1,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2030 &lt;/span&gt;&lt;br /&gt;            {2,1,5,2,1,2,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2031 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,2,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2032 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,1,2,2,5,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2033 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,2,1,2,2,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2034 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2035 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,4,1,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2036 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,1,2,1,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2037 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,1,2,1,2,1,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2038 &lt;/span&gt;&lt;br /&gt;            {2,2,1,2,5,2,1,2,1,2,1,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2039 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,2,2,1,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2040 &lt;/span&gt;&lt;br /&gt;            {2,1,1,2,1,2,2,1,2,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2041 &lt;/span&gt;&lt;br /&gt;            {1,5,1,2,1,2,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2042 &lt;/span&gt;&lt;br /&gt;            {1,2,1,1,2,1,1,2,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2043 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,3,2,1,2,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2044 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,1,2,1,1,2,1,2,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2045 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,1,1,2,1,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2046 &lt;/span&gt;&lt;br /&gt;            {2,1,2,2,4,1,2,1,1,2,1,2}, &lt;span style=&quot;color: #008000&quot;&gt;// 2047 &lt;/span&gt;&lt;br /&gt;            {1,2,2,1,2,2,1,2,1,2,1,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2048 &lt;/span&gt;&lt;br /&gt;            {2,1,2,1,2,2,1,2,2,1,2,1}, &lt;span style=&quot;color: #008000&quot;&gt;// 2049&lt;/span&gt;&lt;br /&gt;        };&lt;br /&gt;        &lt;span style=&quot;color: #cc6633&quot;&gt;#endregion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 음력 달의 특징&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 0: 평달 (작은달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 1: 평달 (큰달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 2: 윤달 (작은달 + 작은달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 3: 윤달 (작은달 + 큰달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 4: 윤달 (큰달 + 작은달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 5: 윤달 (큰달 + 큰달)&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 작은달=29, 큰달=30&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;readonly&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;[] DAYS_OF_LUNAR_FEATURES = { 29, 30, 58, 59, 59, 60 };&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;readonly&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;[] NORMAL_DAYS_OF_LEAP_MONTH = { 0, 0, 29, 29, 30, 30 };&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 양력 달의 날 수&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;readonly&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;[] SOLAR_DAYS_OF_MONTH = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 10간&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;readonly&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;[] GAN = { &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;갑&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;을&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;병&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;정&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;무&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;기&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;경&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;신&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;임&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;계&amp;quot;&lt;/span&gt; };&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 12지&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;readonly&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;[] JI = { &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;자&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;축&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;인&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;묘&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;진&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;사&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;오&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;미&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;신&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;유&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;술&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;해&amp;quot;&lt;/span&gt; };&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;// 1800-01-25 (토)    1800-01-01    경신(庚申)년 무인(戊寅)월 갑인(甲寅)일    &lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;readonly&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;[] SOLAR_BASIC_DATE = { 1800, 1, 25 };  &lt;span style=&quot;color: #008000&quot;&gt;// 년, 월, 일&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;readonly&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;[] BASIC_GANJI = { 6, 8, 4, 2, 0, 2 };  &lt;span style=&quot;color: #008000&quot;&gt;// 경신년, 무인월, 갑인일&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 양력 달의 날 수 조회&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 윤년일 경우 2월은 29일&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;month&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; GetSolarDaysOfMonth(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; year, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; month)&lt;br /&gt;        {    &lt;span style=&quot;color: #008000&quot;&gt;// 월별 일수 계산&lt;/span&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; (month != 2)&lt;br /&gt;                &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; SOLAR_DAYS_OF_MONTH[month - 1];&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; (IsLeapYear(year))&lt;br /&gt;                &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; 29;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;br /&gt;                &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; 28;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 윤년체크&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;bool&lt;/span&gt; IsLeapYear(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; year)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; ((year % 400 == 0) || ((year % 100 != 0) &amp;amp;&amp;amp; (year % 4 == 0)))&lt;br /&gt;                &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;br /&gt;                &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 양력 해의 날 수 조회&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 윤년일 경우 366일, 평년일 경우 365일&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; GetSolarDaysOfYear(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; year)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; (IsLeapYear(year))&lt;br /&gt;                &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; 366;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;br /&gt;                &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; 365;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 특정 일자의 양력 날 수 조회&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;month&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;day&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; GetSolarDays(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; year, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; month, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; day)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ret = 0;&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; i = SOLAR_BASIC_DATE[0]; i &amp;lt; year; i++)&lt;br /&gt;                ret += GetSolarDaysOfYear(i);&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; i = 1; i &amp;lt; month; i++)&lt;br /&gt;                ret += GetSolarDaysOfMonth(year, i);&lt;br /&gt;&lt;br /&gt;            ret += day;&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; i = 1; i &amp;lt; SOLAR_BASIC_DATE[1]; i++)&lt;br /&gt;                ret -= GetSolarDaysOfMonth(SOLAR_BASIC_DATE[0], i);&lt;br /&gt;&lt;br /&gt;            ret -= SOLAR_BASIC_DATE[2];&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; ret;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 특정 일자의 음력 날 수 조회&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;ly&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;lm&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;ld&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;leapMonth&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; GetLunarDays(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ly, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lm, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ld, &lt;span style=&quot;color: #0000ff&quot;&gt;bool&lt;/span&gt; leapMonth)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ret = 0;&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; i = SOLAR_BASIC_DATE[0]; i &amp;lt; ly; i++)&lt;br /&gt;                ret += GetLunarDaysOfYear(i);&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; i = 1; i &amp;lt; lm; i++)&lt;br /&gt;                ret += GetLunarDaysOfMonth(ly, i);&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #008000&quot;&gt;// 윤달일 경우 동월 평달 날짜 더해 줌&lt;/span&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; (leapMonth)&lt;br /&gt;            {&lt;br /&gt;                ret += NORMAL_DAYS_OF_LEAP_MONTH[LUNAR_FEATURES[ly - SOLAR_BASIC_DATE[0], lm - 1] - 1];&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            ret += ld;&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; ret;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 양력을 음력으로 변환&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;month&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;day&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; ToLunarDate(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; year, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; month, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; day)&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ly = 0, lm = 0, ld = 0;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; ToLunarDate(GetSolarDays(year, month, day), &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; ly, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; lm, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; ld);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 양력을 음력으로 변환&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;solarDays&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;ly&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;lm&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;ld&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; ToLunarDate(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; solarDays, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ly, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lm, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ld)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lunarDays = 0;&lt;br /&gt;            ly = 0;&lt;br /&gt;            lm = 0;&lt;br /&gt;            ld = 0;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; y = 0; y &amp;lt; LUNAR_FEATURES.GetLength(0); y++)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; m = 0; m &amp;lt; 12; m++)&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lday = DAYS_OF_LUNAR_FEATURES[LUNAR_FEATURES[y, m] - 1];&lt;br /&gt;&lt;br /&gt;                    &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; (lunarDays + lday &amp;gt; solarDays)&lt;br /&gt;                    {&lt;br /&gt;                        ly = y + SOLAR_BASIC_DATE[0];&lt;br /&gt;                        lm = m + 1;&lt;br /&gt;                        ld = solarDays - lunarDays + 1;&lt;br /&gt;                        &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; (ld &amp;gt; NORMAL_DAYS_OF_LEAP_MONTH[LUNAR_FEATURES[y, m] - 1])&lt;br /&gt;                            ld -= NORMAL_DAYS_OF_LEAP_MONTH[LUNAR_FEATURES[y, m] - 1];&lt;br /&gt;                        &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;.Format(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;{0:0000}-{1:00}-{2:00}&amp;quot;&lt;/span&gt;, ly, lm, ld);&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                    lunarDays += lday;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;.Format(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;{0:0000}-{1:00}-{2:00}&amp;quot;&lt;/span&gt;, ly, lm, ld);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 음력을 양력으로 변환&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;ly&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;lm&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;ld&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;leapMonth&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; ToSolarDate(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ly, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lm, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ld, &lt;span style=&quot;color: #0000ff&quot;&gt;bool&lt;/span&gt; leapMonth)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; year = 0, month = 0, day = 0;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; ToLunarDate(GetLunarDays(ly, lm, ld, leapMonth), &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; year, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; month, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; day);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 음력을 양력으로 변환&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;lunarDays&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;month&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;day&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; ToSolarDate(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lunarDays, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; year, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; month, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; day)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; solarDays = 0;&lt;br /&gt;            year = 0;&lt;br /&gt;            month = 0;&lt;br /&gt;            day = 0;&lt;br /&gt;&lt;br /&gt;            lunarDays += SOLAR_BASIC_DATE[2] - 1;&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; y = 0; y &amp;lt; LUNAR_FEATURES.GetLength(0); y++)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; m = 0; m &amp;lt; 12; m++)&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lday = GetSolarDaysOfMonth(y + SOLAR_BASIC_DATE[0], m + 1);&lt;br /&gt;&lt;br /&gt;                    &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; (solarDays + lday &amp;gt;= lunarDays)&lt;br /&gt;                    {&lt;br /&gt;                        year = y + SOLAR_BASIC_DATE[0];&lt;br /&gt;                        month = m + 1;&lt;br /&gt;                        day = lunarDays - solarDays;&lt;br /&gt;&lt;br /&gt;                        &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;.Format(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;{0:0000}-{1:00}-{2:00}&amp;quot;&lt;/span&gt;, year, month, day);&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                    solarDays += lday;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;.Format(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;{0:0000}-{1:00}-{2:00}&amp;quot;&lt;/span&gt;, year, month, day);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 음력 연도의 간지 문자열 조회&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;ly&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; GetYearGanji(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ly)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; gan = GAN[(ly - SOLAR_BASIC_DATE[0] + BASIC_GANJI[0]) % 10];&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; ji = JI[(ly - SOLAR_BASIC_DATE[0] + BASIC_GANJI[1]) % 12];&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; gan + ji;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 음력 월의 간지 문자열 조회&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;ly&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;lm&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; GetMonthGanji(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ly, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lm)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lunarMonthes = (ly - SOLAR_BASIC_DATE[0]) * 12 + lm - 1;&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; gan = GAN[(lunarMonthes + BASIC_GANJI[2]) % 10];&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; ji = JI[(lunarMonthes + BASIC_GANJI[3]) % 12];&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; gan + ji;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 음력 날의 간지 문자열 조회&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;totalDaySolar&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; GetDayGanji(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; solarDays)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; gan = GAN[(solarDays + BASIC_GANJI[4]) % 10];&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; ji = JI[(solarDays + BASIC_GANJI[5]) % 12];&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; gan + ji;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 음력 연도의 전체 날 수&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;ly&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; GetLunarDaysOfYear(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ly)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ret = 0;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; i = 0; i &amp;lt; 12; i++)&lt;br /&gt;            {&lt;br /&gt;                ret += DAYS_OF_LUNAR_FEATURES[LUNAR_FEATURES[ly - SOLAR_BASIC_DATE[0], i] - 1];&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; ret;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 음력 월의 날 수&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;ly&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;lm&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; GetLunarDaysOfMonth(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ly, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lm)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; DAYS_OF_LUNAR_FEATURES[LUNAR_FEATURES[ly - SOLAR_BASIC_DATE[0], lm - 1] - 1];&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// 양력 연도의 특정 월까지의 전체 날 수&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;month&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; GetSolarDaysOfYear(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; year, &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; month)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ret = 0;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; i = 0; i &amp;lt; month; i++)&lt;br /&gt;            {&lt;br /&gt;                ret += GetSolarDaysOfMonth(year, i + 1);&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; ret;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;div id=&quot;codeSnippetWrapper&quot;&gt;Lunar 클래스는 다음 처럼 사용한다.&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;div id=&quot;codeSnippetWrapper&quot;&gt;
  &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;Lunar lunar = &lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; Lunar();&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ly = 2000;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; lm = 2;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; ld = 22;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;bool&lt;/span&gt; leapMonth = &lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;; &lt;span style=&quot;color: #008000&quot;&gt;// 윤달 여부&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; year = 0;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; month = 0;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; day = 0;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; ret = lunar.ToSolarDate(lunar.GetLunarDays(ly, lm, ld, leapMonth), &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; year, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; month, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; day);&lt;br /&gt;Console.WriteLine(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;평달 음력 {0}년 {1}월 {2}일은 양력 {3}년 {4}월 {5}일 입니다.&amp;quot;&lt;/span&gt;,&lt;br /&gt;    ly, lm, ld,&lt;br /&gt;    year, month, day);&lt;br /&gt;&lt;br /&gt;ret = lunar.ToLunarDate(lunar.GetSolarDays(year, month, day), &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; ly, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; lm, &lt;span style=&quot;color: #0000ff&quot;&gt;out&lt;/span&gt; ld);&lt;br /&gt;Console.WriteLine(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;양력 {0}년 {1}월 {2}일은 음력 {3}년 {4}월 {5}일 입니다.&amp;quot;&lt;/span&gt;,&lt;br /&gt;    year, month, day,&lt;br /&gt;    ly, lm, ld);&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;div id=&quot;codeSnippetWrapper&quot;&gt;&amp;#160;&lt;/div&gt;
끝.</description>
			<category>C#</category>
			<author>Jeidee</author>
			<guid>http://blog.jeidee.net/826</guid>
			<comments>http://blog.jeidee.net/826#entry826comment</comments>
			<pubDate>Wed, 23 Dec 2009 16:09:39 +0900</pubDate>
		</item>
		<item>
			<title>아날로그 시계 만들어 보기 #5 : 완성</title>
			<link>http://blog.jeidee.net/819</link>
			<description>&lt;br /&gt;&lt;strong&gt;관련 포스트   &lt;br /&gt;&lt;/strong&gt;  &lt;br /&gt;  &lt;div style=&quot;border-bottom: #c1c1c1 1px dashed; border-left: #c1c1c1 1px dashed; padding-bottom: 10px; background-color: #eeeeee; padding-left: 10px; padding-right: 10px; border-top: #c1c1c1 1px dashed; border-right: #c1c1c1 1px dashed; padding-top: 10px&quot; class=&quot;txc-textbox&quot;&gt;&lt;a href=&quot;http://blog.jeidee.net/812&quot; target=&quot;_blank&quot;&gt;2009/12/11 - [C#] - 데카르트 좌표계(Cartesian coordinates) 클래스&lt;/a&gt;    &lt;br /&gt;&lt;a href=&quot;http://blog.jeidee.net/813&quot; target=&quot;_blank&quot;&gt;2009/12/11 - [C#] - 아날로그 시계 만들어 보기 #1 : 삼각함수를 이용해 원주위의 좌표 구하기&lt;/a&gt;    &lt;br /&gt;&lt;a href=&quot;http://blog.jeidee.net/814&quot; target=&quot;_blank&quot;&gt;2009/12/11 - [C#] - 아날로그 시계 만들어 보기 #2 : 시계 완성&lt;/a&gt;    &lt;br /&gt;&lt;a href=&quot;http://blog.jeidee.net/816&quot; target=&quot;_blank&quot;&gt;2009/12/11 - [C#] - 아날로그 시계 만들어 보기 #3 : 이미지를 사용해서 만들기&lt;/a&gt;    &lt;br /&gt;&lt;a href=&quot;http://blog.jeidee.net/817&quot; target=&quot;_blank&quot;&gt;2009/12/14 - [C#] - 아날로그 시계 만들어 보기 #4 : 이미지를 사용해서 만들기(2)&lt;/a&gt;    &lt;br /&gt;&lt;/div&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;소스 다운로드     &lt;br /&gt;&lt;/strong&gt;&lt;table style=&quot;display: inline; border-collapse: collapse&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://endlessprogramming.tistory.com/attachment/cfile21.uf@170CA6114B29DF88674CA1.zip&quot;&gt;&lt;img src=&quot;http://cfs.tistory.com/blog/image/extension/zip.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; Clock.zip&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;이번에는 다음과 같이 실제 시계처럼 시계 바늘의 회전축을 중심으로 회전하도록 수정해 보자.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href=&quot;http://cfile10.uf.tistory.com/image/1777720F4B29E03F136519&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://cfile25.uf.tistory.com/image/132A3B0D4B29E04060C2B0&quot; width=&quot;243&quot; height=&quot;244&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;소스는 다음과 같다.&lt;/p&gt;  &lt;div id=&quot;codeSnippetWrapper&quot;&gt;   &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt; DrawHands(CartesianCoordinates cd, &lt;span style=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt; rad, SizeF size)&lt;br /&gt;{&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; (Bitmap bitmap = &lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; Bitmap((&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)size.Width, (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)size.Height))&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; (Graphics g = Graphics.FromImage(bitmap))&lt;br /&gt;    {&lt;br /&gt;        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;&lt;br /&gt;        g.FillRectangle(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; SolidBrush(Color.Blue), &lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; Rectangle(0, 0, (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)size.Width, (&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)size.Height));&lt;br /&gt;&lt;br /&gt;        PointF p1 = &lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; PointF();&lt;br /&gt;        PointF p2 = &lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; PointF();&lt;br /&gt;        PointF p3 = &lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; PointF();&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;float&lt;/span&gt; ox = 20;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt; twidth;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt; atanA;&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;// 왼쪽 위 좌표&lt;/span&gt;&lt;br /&gt;        twidth = Math.Sqrt(Math.Pow(ox, 2) + Math.Pow(size.Height / 2, 2));&lt;br /&gt;        atanA = Math.Atan((size.Height / 2) / ox);&lt;br /&gt;        p1.X = (&lt;span style=&quot;color: #0000ff&quot;&gt;float&lt;/span&gt;)(twidth * Math.Cos(rad - (Math.PI - atanA)));&lt;br /&gt;        p1.Y = (&lt;span style=&quot;color: #0000ff&quot;&gt;float&lt;/span&gt;)(twidth * Math.Sin(rad - (Math.PI - atanA)));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;// 오른쪽 위 좌표&lt;/span&gt;&lt;br /&gt;        twidth = Math.Sqrt(Math.Pow(size.Width , 2) + Math.Pow(size.Height / 2, 2));&lt;br /&gt;        atanA = Math.Atan((size.Height / 2) / (size.Width ));&lt;br /&gt;        p2.X = (&lt;span style=&quot;color: #0000ff&quot;&gt;float&lt;/span&gt;)(twidth * Math.Cos(rad - atanA));&lt;br /&gt;        p2.Y = (&lt;span style=&quot;color: #0000ff&quot;&gt;float&lt;/span&gt;)(twidth * Math.Sin(rad - atanA));&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;// 왼쪽 아래 좌표&lt;/span&gt;&lt;br /&gt;        twidth = Math.Sqrt(Math.Pow(ox, 2) + Math.Pow(size.Height / 2, 2));&lt;br /&gt;        atanA = Math.Atan((size.Height / 2) / ox);&lt;br /&gt;        p3.X = (&lt;span style=&quot;color: #0000ff&quot;&gt;float&lt;/span&gt;)(twidth * Math.Cos(rad - (Math.PI + atanA)));&lt;br /&gt;        p3.Y = (&lt;span style=&quot;color: #0000ff&quot;&gt;float&lt;/span&gt;)(twidth * Math.Sin(rad - (Math.PI + atanA)));&lt;br /&gt;&lt;br /&gt;        cd.DrawImage(bitmap, &lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; PointF[] { p1, p2, p3 }, 90);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;div id=&quot;codeSnippetWrapper&quot;&gt;끝.
  &lt;br /&gt;&lt;/div&gt;</description>
			<category>C#</category>
			<author>Jeidee</author>
			<guid>http://blog.jeidee.net/819</guid>
			<comments>http://blog.jeidee.net/819#entry819comment</comments>
			<pubDate>Thu, 17 Dec 2009 16:35:19 +0900</pubDate>
		</item>
		<item>
			<title>이미지 투명도 설정</title>
			<link>http://blog.jeidee.net/818</link>
			<description>&lt;p&gt;&lt;a title=&quot;http://www.geekpedia.com/code110_Set-Image-Opacity-Using-Csharp.html&quot; href=&quot;http://www.geekpedia.com/code110_Set-Image-Opacity-Using-Csharp.html&quot;&gt;http://www.geekpedia.com/code110_Set-Image-Opacity-Using-Csharp.html&lt;/a&gt;&lt;/p&gt;</description>
			<category>C#</category>
			<author>Jeidee</author>
			<guid>http://blog.jeidee.net/818</guid>
			<comments>http://blog.jeidee.net/818#entry818comment</comments>
			<pubDate>Thu, 17 Dec 2009 14:51:08 +0900</pubDate>
		</item>
	</channel>
</rss>
