************************************************************************
* This file is part of OpenMolcas.                                     *
*                                                                      *
* OpenMolcas is free software; you can redistribute it and/or modify   *
* it under the terms of the GNU Lesser General Public License, v. 2.1. *
* OpenMolcas is distributed in the hope that it will be useful, but it *
* is provided "as is" and without any express or implied warranties.   *
* For more details see the full text of the license in the file        *
* LICENSE or in <http://www.gnu.org/licenses/>.                        *
************************************************************************

#Hamiltonian RH_
#Nucleus PN_
#Contraction ANO
#AllElectron AE_

/X.ANO-rcc..0s.0s.
Dummy basis
GHOST (0s) -> [0s]
     0.0   0
* s-type functions
    0    0

/H.ANO-rcc.Widmark.8s4p3d1f.6s4p3d1f.
P.-O. Widmark, P.-A. Malmqvist, B.O. Roos. Theor. Chim. Acta 77 (1990) 291-306. doi:10.1007/bf01120130
HYDROGEN (8s,4p,3d,1f) -> [6s,4p,3d,1f]
************************************************************************
* H Hydrogen atom                                                      *
* NOTE: Identical to ANO-L                                             *
* Basic primitive: Duijneveldt 7s                                      *
* Augmented: 1s with exponent 0.35x lowest exponent                    *
*            4p even-tempered with scale factor 0.35, 3 optimized for  *
*               the average energy of SDCI H- and SCF H2 at 1.4 au     *
*               and the fourth added as an additional diffuse          *
*            3d even-tempered with scale factor 0.40, 2 optimized for  *
*               the average energy of SDCI H- and SCF H2 at 1.4 au     *
*               and the third addad as an additional diffuse           *
*            1f added to reach QZ quality (030607)                     *
*                                                                      *
* Contraction: State Field Method Weight                               *
*              H     0.000  SCF   1.000                                *
*              H2    0.000  SCF   1.000                                *
*              H-    0.000  SDCI  0.001                                *
*              H     0.100  SCF   0.001                                *
*                                                                      *
* Contraction range: 2s1p   - 3s2p1d for SCF                           *
*                    3s2p1d - 4s3p2d for correlated wavefunctions      *
************************************************************************
Options
OrbitalEnergies
EndOptions
     1.0   3
* s-type functions
    8    6
        188.61445000
         28.27659600
          6.42483000
          1.81504100
          0.59106300
          0.21214900
          0.07989100
          0.02796200
  0.000963850000 -0.001311900000  0.002422400000 -0.011570100000  0.014780990000 -0.021289200000
  0.007491960000 -0.010345100000  0.020338170000 -0.083715400000  0.094031870000 -0.109559600000
  0.037595410000 -0.050495300000  0.089639350000 -0.445166300000  0.536180160000 -1.481826000000
  0.143394980000 -0.207385500000  0.442290710000 -1.146271000000 -0.608963900000  3.027296300000
  0.348636300000 -0.435088500000  0.575714390000  2.503187100000 -1.114889000000 -3.763086000000
  0.438297360000 -0.024729700000 -0.980289000000 -1.582849000000  3.482081200000  3.657413100000
  0.165106610000  0.322525990000 -0.672153800000  0.030965690000 -3.762539000000 -2.501237000000
  0.021022870000  0.707275380000  1.141768500000  0.308628640000  1.676693200000  0.894053940000
    1
 -0.500000000000
* p-type functions
    4    4
          2.30500000
          0.80675000
          0.28236200
          0.09882700
  0.112790190000 -0.210868800000  0.759950110000 -1.442742000000
  0.418507530000 -0.594379600000  0.164615900000  2.348991400000
  0.470007730000  0.089688880000 -1.371014000000 -1.991152000000
  0.182626030000  0.861163400000  1.059315500000  0.905056010000
    0
* d-type functions
    3    3
          1.81900000
          0.72760000
          0.29104000
  0.270513410000 -0.793803500000  1.308277000000
  0.551012500000 -0.091425200000 -2.021059000000
  0.331086640000  0.862003340000  1.249888800000
    0
* f-type functions
    1    1
          0.97010900
  1.000000000000
    0

/He.ANO-rcc.Widmark.9s4p3d2f.7s4p3d2f.
P.-O. Widmark, P.-A. Malmqvist, B.O. Roos. Theor. Chim. Acta 77 (1990) 291-306. doi:10.1007/bf01120130
HELIUM (9s,4p,3d,2f) -> [7s,4p,3d,2f]
************************************************************************
* He Helium atom                                                       *
* NOTE: Identical to ANO-L                                             *
* Basic primitive: Duijneveldt 8s                                      *
* Augmented: 1s with exponent 0.35x lowest exponent                    *
*            4p even-tempered with scale factor 0.35, 3 optimized for  *
*               the SDCI energy of He and the fourth added as an       *
*               additional diffuse.                                    *
*            3d even-tempered with scale factor 0.40, 2 optimized for  *
*               the SDCI energy of He and the third added as an        *
*               additional diffuse.                                    *
*            2f added to reach QZ quality (030607)                     *
*                                                                      *
* Contraction: State Field Method Weight                               *
*              He    0.000  SDCI  1.000                                *
*              He    0.100  SDCI  1.000                                *
*                                                                      *
* Contraction range: 2s1p   - 3s2p1d for SCF                           *
*                    3s2p1d - max for correlated wavefunctions         *
************************************************************************
Options
OrbitalEnergies
EndOptions
     2.0   3
* s-type functions
    9    7
       1149.27050000
        172.04457000
         39.08046500
         11.03617300
          3.56415200
          1.24044300
          0.44731600
          0.16420600
          0.05747200
  0.000357740000 -0.000530600000  0.000705440000 -0.000472200000  0.000933930000 -0.002766700000  0.012635880000
  0.002772890000 -0.004033000000  0.007051990000 -0.010472200000  0.013482850000  0.012298850000 -0.084857100000
  0.014298380000 -0.022580400000  0.031260370000 -0.019409900000  0.073935000000 -0.286976000000  1.918623700000
  0.055867490000 -0.102625500000  0.321979650000 -0.712735600000  1.470618300000 -0.683860000000 -2.949231000000
  0.163362840000 -0.457711400000  1.004748800000 -0.010132900000 -2.612951000000  2.365909800000  2.812273500000
  0.331331460000 -0.605965300000 -1.290804000000  1.934333900000  1.948413300000 -3.803398000000 -2.270835000000
  0.414297280000  0.571313360000 -0.472589600000 -2.541659000000 -0.140043100000  4.521511500000  1.654398700000
  0.189032280000  0.547583410000  0.953088290000  0.898140530000 -1.398348000000 -3.922221000000 -1.000829000000
  0.005156060000  0.011659000000  0.050616920000  0.543959400000  1.232353000000  1.873947100000  0.369603620000
    1
 -0.918000000000
* p-type functions
    4    4
          4.55000000
          1.59250000
          0.55737500
          0.19508100
  0.089260600000 -0.186735000000  0.854892280000 -1.393750000000
  0.380502380000 -0.511734500000  0.109267070000  2.377963500000
  0.449123720000 -0.198150600000 -1.263812000000 -2.057936000000
  0.277654400000  0.995879760000  0.902433250000  0.912665390000
    0
* d-type functions
    3    3
          3.40000000
          1.36000000
          0.54400000
  0.280552130000 -0.951471600000  1.196194900000
  0.565583170000  0.185058780000 -2.010602000000
  0.303329670000  0.698740000000  1.354490200000
    0
* f-type functions
    2    2
          1.81333300
          0.72533300
  1.000000000000  0.000000000000
  0.000000000000  1.000000000000
    0

/Li.ANO-rcc.Veryazov.14s9p4d3f1g.8s7p4d2f1g.
V. Veryazov, P.-O. Widmark, B.O. Roos. Theor. Chem. Acc. 111 (2004) 345-351. doi:10.1007/s00214-003-0537-0
LITHIUM (14s,9p,4d,3f,1g) -> [8s,7p,4d,2f,1g]
************************************************************************
* Li Lithium atom                                                      *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Active space 2s or 2p orbitals. 1s correlated in CASPT2              *
* Basic primitive: Duijneveldt 13s                                     *
* Augmented: 8p SCF optimized for the 2P state.                        *
*            1s with exponent 0.35x lowest exponent                    *
*            1p with exponent 0.35x lowest exponent                    *
*            4d even-tempered with scale factor 0.35, 3 optimized for  *
*               the SDCI energy for Li2 at equilibrium and the         *
*               fourth added as an additional diffuse                  *
*            3f even-tempered with scale factor 0.40, 2 optimized for  *
*               the SDCI energy for Li2 at equilibrium and the         *
*               third added as an additional diffuse                   *
*            1g added to reach QZ quality (030607)                     *
*                                                                      *
* Contraction: State   Field  Method  Weight                           *
*              Li(2S)  0.000  CASPT2  1/6                              *
*              Li(2P)  0.000  CASPT2  1/6                              *
*              Li+     0.000  CASPT2  1/6                              *
*              Li2     0.000  CASPT2  1/2                              *
*                                                                      *
* Contraction range: 2s1p - 8s7p4d2f1g                                 *
* Results(eV)                                                          *
* Contraction      CASPT2(Li,2S)  IP     2P                            *
* DZ: 4s3p        -7.4333578865  5.352  1.846                          *
* DZP:4s3p1d      -7.4333578865  5.352  1.840                          *
* TZP:5s4p2d1f    -7.4333709261  5.362  1.844                          *
* QZP:6s5p3d2f    -7.4333745175  5.375  1.849                          *
* large:8s7p4d2f  -7.4333839871  5.381  1.850                          *
* Primitive:      -7.4333844949  5.381  1.850                          *
* Expt.                          5.390  1.845                          *
*                                                                      *
* The Li dimer: CASPT2 results with 2s,2p active (2el/8 orb) with      *
* and without counterpoise correction (CP).  Contraction: 5s4p2d       *
* 1s correlated at the CASPT2 level, no level shift, Focktype=G1       *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Expt.     *
* Re(a)        2.694       2.694       2.677       2.681    2.673      *
* D0(ev)       0.996       0.996       1.017       1.006    1.046      *
* we(cm-1)       348         348         352         351      351      *
* Comment: the primitive basis set gives D0=1.024 eV.                  *
************************************************************************
Options
OrbitalEnergies
EndOptions
     3.0   4
* s-type functions
   14    8
       9497.93440000
       1416.81120000
        321.45994000
         91.12416300
         29.99989100
         11.01763100
          4.37280100
          1.83125600
          0.80226100
          0.36264800
          0.11399500
          0.05123700
          0.02246800
          0.00786000
  0.000096690000 -0.000012450000  0.000116490000 -0.000104630000  0.000181110000 -0.000079210000  0.000412120000 -0.000302820000
  0.000608710000 -0.000078390000  0.000741190000 -0.000670590000  0.001156210000 -0.000401840000  0.001539930000 -0.000108210000
  0.003101520000 -0.000400710000  0.003775770000 -0.003395500000  0.006140570000 -0.003111840000  0.017366540000 -0.017963440000
  0.012669050000 -0.001645250000  0.016490260000 -0.015304560000  0.031565660000 -0.012694110000  0.040336930000 -0.033558510000
  0.042480130000 -0.005634600000  0.065198800000 -0.063296550000  0.201903970000 -0.137925110000  0.679702240000 -1.312915800000
  0.115018330000 -0.015907810000  0.251747470000 -0.264663170000  0.879007430000 -0.484397140000  0.507412770000  1.792085400000
  0.239865010000 -0.036125820000  0.482337840000 -0.449737910000 -0.394567980000  0.494537280000 -2.784071640000  0.462082900000
  0.358430010000 -0.064599280000  0.018004450000  0.153565320000 -1.425962070000  0.746884900000  2.361413860000 -4.247886320000
  0.304852780000 -0.100832180000 -0.437702880000  0.719225370000  0.696013700000 -1.003072950000  0.961312610000  6.593912030000
  0.088242620000 -0.097576140000 -0.159694860000  0.383788900000  0.776894170000 -0.598976570000 -2.810354430000 -4.971395700000
 -0.000844590000  0.230121590000 -0.693194800000 -1.396981200000  0.080424880000  2.950752990000  2.239268030000  1.998657360000
 -0.007943960000  0.610238980000  0.160031140000 -0.060084170000 -1.087207170000 -3.031643100000 -0.880121460000  0.093458830000
 -0.003764420000  0.284940610000  0.592221570000  0.925274500000  0.476459650000  0.313124230000 -0.431721100000 -1.219406440000
 -0.000088690000  0.004026900000  0.045829920000  0.082465970000  0.315979090000  1.008390300000  0.449494650000  0.714513660000
    2
 -2.477800000000 -0.196400000000
* p-type functions
    9    7
         13.11950400
          3.07742420
          1.09880050
          0.43577840
          0.18024320
          0.07613330
          0.03254650
          0.01401820
          0.00490640
  0.001524940000 -0.072156300000  0.119843820000 -0.309153720000  0.614811540000 -0.896368300000  0.623908500000
  0.008314830000 -0.358954250000  0.555607840000 -0.597095330000  0.162796770000  1.232961000000 -1.588853830000
  0.019332030000 -0.215129250000  0.225130060000  0.605494460000 -1.174739080000 -0.609622120000  2.907356180000
  0.049342930000 -0.076846310000  0.042230770000  0.420184610000  0.751270630000 -0.968539510000 -3.500285600000
  0.162355400000 -0.355434910000 -0.432801590000  0.307451940000  0.781213400000  1.741425300000  2.581578120000
  0.384750540000 -0.339199770000 -0.468273840000 -1.014417270000 -1.062877040000 -0.966588270000 -0.757115140000
  0.433610040000  0.549353310000  0.478179990000  0.245419710000 -0.023272250000 -0.293404780000 -0.651780130000
  0.128700590000  0.276668890000  0.281038000000  0.354456020000  0.520149200000  0.567993180000  0.687770570000
 -0.001018520000 -0.000792570000 -0.001729010000 -0.001382760000 -0.012583450000 -0.002767720000  0.015561720000
    0
* d-type functions
    4    4
          0.45000000
          0.15750000
          0.05512500
          0.01929380
  0.026896500000 -0.308940600000  1.210842380000 -0.612035860000
  0.485185710000 -0.721295250000 -0.970616070000  1.329176090000
  0.577373470000  0.604377770000  0.083566770000 -1.660984530000
  0.056532720000  0.411527080000  0.455755610000  1.247653000000
    0
* f-type functions
    3    2
          0.24000000
          0.09600000
          0.03840000
  0.368155710000 -0.997222040000
  0.562090710000  0.429991730000
  0.258284450000  0.524159120000
    0
* g-type functions
    1    1
          0.12800000
  1.000000000000
    0

/Be.ANO-rcc.Veryazov.14s9p5d2f1g.9s8p5d2f1g.
V. Veryazov, P.-O. Widmark, B.O. Roos. Theor. Chem. Acc. 111 (2004) 345-351. doi:10.1007/s00214-003-0537-0
BERYLLIUM (14s,9p,5d,2f,1g) -> [9s,8p,5d,2f,1g]
************************************************************************
* Be Beryllium atom                                                    *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Active space 2s and 2p orbitals. 1s correlated in CASPT2             *
* Basic primitive: Duijneveldt 13s                                     *
* Augmented: 8p SCF optimized for the 2P state.                        *
*            1s with exponent 0.35x lowest exponent                    *
*            1p with exponent 0.35x lowest exponent                    *
*            4d two for 1s correlation and two for 2s                  *
*               CASPT2 optimized.                                      *
*            2f one for 1s and one for 2s exp. (4/3) times basic 3d    *
*            1g added to reach QZ quality (030607)                     *
*                                                                      *
*Note: the second and fourth d correlates the 1s, as the second f.     *
*                                                                      *
* Contraction: State      Field  Method  Weight                        *
*              Be(1S,s2)  0.000  CASPT2  1/6                           *
*              Be(3P,sp)  0.000  CASPT2  1/6                           *
*              Be+(2S,s)  0.000  CASPT2  1/6                           *
*              Be2        0.000  CASPT2  1/2                           *
*                                                                      *
* Contraction range: 2s1p - 9s8p4d2f1g                                 *
* Results(eV)                                                          *
* Contraction      CASPT2(Be,1S)    IP     3P                          *
* DZ: 3s2p        -14.6209994885  9.272  2.885                         *
* DZP:4s2p2d      -14.6357167727  9.254  2.772                         *
* TZP:5s3p3d      -14.6566319347  9.279  2.753                         *
* QZ2P:6s4p4d2f   -14.6619553737  9.295  2.746                         *
* large:8s7p4d2f  -14.6640801670  9.300  2.748                         *
* Primitive:      -14.6642743199  9.300  2.750                         *
* Expt.                           9.320  2.725                         *
*                                                                      *
* The Be dimer: CASPT2 results with 2s,2p,3s,3p active (4/16) with     *
* and without counterpoise correction (CP).  Primitive basis set.      *
* 1s correlated at the CASPT2 level, no level shift, Focktype=G1       *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Expt.     *
* Re(a)     not bound   not bound       2.483       2.484    2.47      *
* De(eV)                                0.071       0.070   0.117      *
* D0(eV)                                0.057       0.056              *
* deltaG(1/2)(cm-1)(cm-1)               180.8       179.9   223.8      *
* Comment: A very difficult case. 2s,2p active gives only a VdW        *
* minimum with De=0.0091 eV and Re=4.306 A!  The fifth d function      *
* changes the De from 0.064 to  0.070 eV.                              *
************************************************************************
Options
OrbitalEnergies
EndOptions
     4.0   4
* s-type functions
   14    9
      22628.59900000
       3372.31810000
        760.35040000
        211.74048000
         67.22346800
         23.37217700
          8.72137300
          3.46809100
          1.45214400
          0.60861500
          0.25768600
          0.10417600
          0.04242700
          0.01484900
  0.000084440000 -0.000015870000  0.000031600000 -0.000129780000  0.000098040000 -0.000176860000  0.000122950000 -0.000223010000  0.000386930000
  0.000460150000 -0.000086570000  0.000174520000 -0.000727500000  0.000594200000 -0.000954780000  0.000352410000 -0.000214520000 -0.000379230000
  0.002285390000 -0.000430220000  0.000853740000 -0.003505650000  0.002548620000 -0.005045250000  0.004582290000 -0.009857410000  0.020108260000
  0.009648130000 -0.001825080000  0.003778820000 -0.016409210000  0.015110950000 -0.025377720000  0.008583800000 -0.003830110000 -0.015184650000
  0.034944700000 -0.006682750000  0.014361720000 -0.067727170000  0.071272560000 -0.182407030000  0.189285140000 -0.449967430000  1.004900150000
  0.106109990000 -0.020951200000  0.055572400000 -0.327916860000  0.458846040000 -0.970315520000  0.481449110000 -0.539598840000 -0.665454580000
  0.245824040000 -0.052003090000  0.133976890000 -0.710176440000  0.153873580000  0.802019340000 -1.139536980000  2.346635950000 -1.922770350000
  0.386242880000 -0.098491770000  0.124399520000  0.157810340000 -0.840422440000  1.489594110000  0.249865310000 -2.474230710000  5.391048670000
  0.310552610000 -0.135580070000  0.095014630000  0.920468490000 -0.608774990000 -2.312233880000  1.827014800000  0.015560790000 -7.890298560000
  0.064159340000 -0.064298760000  0.033294990000  0.361996290000  1.531676900000  0.149505250000 -3.136289830000  3.393996900000  8.405356310000
 -0.002265050000  0.312541500000 -1.247741320000 -0.726717500000  0.668122910000  2.346951890000  2.192871060000 -5.328025440000 -7.013097310000
 -0.000521750000  0.627046860000  0.037936880000 -0.337129040000 -2.675686200000 -2.722639750000  0.324028090000  5.359142200000  4.768090360000
 -0.000875750000  0.211023150000  1.120925570000  0.575030120000  1.725779070000  1.158769660000 -2.230775280000 -3.864403770000 -2.526621960000
  0.000124220000 -0.004104670000 -0.042247830000 -0.025036930000 -0.049930870000  0.126313300000  1.777190150000  1.578210790000  0.765820820000
    2
 -4.733200000000 -0.309300000000
* p-type functions
    9    8
         33.71018400
          8.05764950
          2.83647140
          1.09996570
          0.44339640
          0.18222640
          0.07572410
          0.03168540
          0.01108990
  0.001069960000 -0.016596000000  0.064866150000 -0.152782190000  0.320686620000 -0.601619110000  0.840045180000 -0.721628690000
  0.006828550000 -0.119971140000  0.466116170000 -0.664427830000  0.668026210000  0.024633040000 -1.175338850000  1.545931710000
  0.021190650000 -0.131096230000  0.489212160000  0.189480130000 -1.181942000000  1.245533740000  0.954509750000 -2.624833940000
  0.058436960000  0.010716320000  0.137420160000  0.721294690000  0.084989070000 -2.184999760000  0.128674430000  3.501091340000
  0.202092080000 -0.233130440000 -0.155899900000  0.345745740000  1.321290960000  1.628522770000 -1.653450350000 -3.877634500000
  0.458295310000 -0.713113830000 -0.409429750000 -0.808572420000 -0.929487730000  0.078517320000  2.856951560000  3.685353270000
  0.369123960000  0.647250550000  0.175462030000 -0.035806150000 -0.458959510000 -1.498825790000 -3.099483340000 -2.940729980000
  0.066114710000  0.578563860000  0.221840800000  0.373550810000  0.818802340000  1.438898270000  2.072387350000  1.677841740000
  0.001405160000 -0.017128020000 -0.007291890000 -0.041649290000 -0.180582870000 -0.433113850000 -0.630248400000 -0.492021780000
    0
* d-type functions
    5    5
         16.81852000
          4.82223000
          0.60129900
          0.15844900
          0.06337900
  0.000668420000 -0.263188540000  0.284847070000 -1.115675510000  0.000000000000
  0.012495230000 -0.754938280000  0.225733620000  0.915404810000  0.000000000000
  0.202694170000 -0.283691960000 -1.072858130000 -0.324400350000  0.000000000000
  0.885231810000  0.244713920000  0.668833450000  0.156887400000  0.000000000000
  0.000000000000  0.000000000000  0.000000000000  0.000000000000  1.000000000000
    0
* f-type functions
    2    2
         12.00760900
          0.41155590
  0.006356640000 -1.000028090000
  0.999917330000  0.016184520000
    0
* g-type functions
    1    1
          0.51444400
  1.000000000000
    0

/B.ANO-rcc.Roos.14s9p5d3f2g.9s8p5d3f2g.
B.O. Roos, R. Lindh, P.-A. Malmqvist, V. Veryazov, P.-O. Widmark. J. Phys. Chem. A 108 (2004) 2851-2858. doi:10.1021/jp031064+
BORON (14s,9p,5d,3f,2g) -> [9s,8p,5d,3f,2g]
************************************************************************
* B Boron atom                                                         *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Basic primitive: Duijneveldt 13s,8p                                  *
* Augmented: 1s added with exponent 0.35x lowest exponent              *
*            1p added with exponent 0.35x lowest exponent              *
*            5d optimized for core and valence correlation (2+3)       *
*            3f 4/3 times the valence 3d (none for core).              *
*            2g (1.25*f) added to reach QZ quality (030607)            *
*                                                                      *
* Active space 2s and 2p orbitals. 1s correlated in CASPT2             *
* Contraction: State      Field  Method  Weight                        *
*              B(2P,s2p)  0.000  CASPT2  1/6                           *
*              B(4P,sp2)  0.000  CASPT2  1/6                           *
*              B+(1S,s2)  0.000  CASPT2  1/6                           *
*              B2         0.000  CASPT2  1/2                           *
*                                                                      *
* Contraction range: 2s1p - 9s8p5d3f2g                                 *
* Results(eV)                                                          *
* Contraction      CASPT2(B,2P)     IP     4P                          *
* MB: 2s1p        -24.5640318629  7.559  2.933                         *
* DZP: 3s2p1d     -24.5945773447  7.912  3.411                         *
* TZP:4s3p2d1f    -24.6222617666  8.038  3.490                         *
* QZP:5s4p3d2f    -24.6382868533  8.080  3.532                         *
* large:9s9p5d3f  -24.6473134719  8.098  3.553                         *
* Primitive:      -24.6474731395  8.102  3.564                         *
* Expt.                           8.296  3.571                         *
*                                                                      *
* The B dimer: CASPT2 results with 2s,2p active (6/8) with             *
* and without counterpoise correction (CP).  9s9p5d3f basis set.       *
* 1s correlated at the CASPT2 level, no level shift, Focktype=G1       *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Expt.     *
* Re(a)       1.614      1.614      1.594      1.595        1.590      *
* De(eV)      2.657      2.657      2.807      2.793                   *
* D0(eV)      2.594      2.594      2.742      2.728       2.95+-0.60  *
* omega_e(cm-1)(cm-1)                1042       1040         1051      *
* Comment: Calculations with also 3p active (6/14) give                *
* D0=2.738 eV and Re=1.594 A!                                          *
************************************************************************
Options
OrbitalEnergies
EndOptions
     5.0   4
* s-type functions
   14    9
      33360.21700000
       4972.09520000
       1125.64170000
        316.49136000
        102.00726000
         36.29587300
         13.97141000
          5.74115600
          2.49426800
          1.11420200
          0.42154900
          0.16963300
          0.06853500
          0.02398700
  0.000103970000 -0.000020300000  0.000021620000 -0.000128220000  0.000120810000 -0.000092610000  0.000181750000 -0.000243090000  0.000575770000
  0.000525440000 -0.000102570000  0.000108750000 -0.000654020000  0.000639220000 -0.000511790000  0.000878040000 -0.000909730000  0.000941880000
  0.002509060000 -0.000491130000  0.000527790000 -0.003126180000  0.002864500000 -0.002210580000  0.004755200000 -0.007393380000  0.022297190000
  0.010318880000 -0.002026570000  0.002177570000 -0.013643870000  0.013721660000 -0.012993060000  0.021507700000 -0.022551210000  0.016090380000
  0.036366330000 -0.007261010000  0.008330330000 -0.056348400000  0.052737260000 -0.069577590000  0.157087720000 -0.295203320000  0.987118040000
  0.106460800000 -0.021977220000  0.027947410000 -0.243213020000  0.258755750000 -0.447018690000  0.746078670000 -0.923714060000 -0.165300120000
  0.240399990000 -0.054084280000  0.074799050000 -0.544418250000  0.447970620000 -0.224585340000 -0.456364940000  1.773949520000 -3.310374370000
  0.374858120000 -0.102240260000  0.113711680000  0.012723730000 -0.144089890000  0.911949030000 -1.500648530000  0.416116160000  7.078749360000
  0.310006700000 -0.142359520000  0.201131270000  0.401175410000 -1.150486440000  0.963150170000  1.727780120000 -4.395046030000 -8.558338430000
  0.079224560000 -0.046586900000 -0.010366920000  0.696167650000  0.241051800000 -2.775593760000  0.619098780000  6.297418130000  6.710824950000
 -0.004947590000  0.379940290000 -1.211692580000  0.110406890000  2.020869560000  1.726099290000 -3.247177940000 -5.983328130000 -4.186374780000
 -0.007737120000  0.589046360000  0.051258910000 -1.402508800000 -2.393033880000  0.714254530000  4.531748710000  4.964380700000  2.642096840000
 -0.001501080000  0.174907510000  1.084483410000  0.766255600000  0.479566210000 -2.150724830000 -3.710675360000 -2.959582290000 -1.255103410000
 -0.000133330000 -0.001142030000  0.027767110000  0.271857710000  0.729907340000  1.410267970000  1.576770110000  0.990633000000  0.333941360000
    2
 -7.696300000000 -0.494500000000
* p-type functions
    9    8
         55.00000000
         13.36610100
          4.13539400
          1.48125600
          0.60213600
          0.25563600
          0.11115100
          0.04764800
          0.01667700
  0.001229800000 -0.003243820000  0.034584310000 -0.060114070000  0.127877510000 -0.309100020000  0.524012280000 -1.105988630000
  0.008827380000 -0.026589100000  0.296687960000 -0.459818580000  0.619275380000 -0.645910180000  0.009218370000  1.567212310000
  0.038433400000 -0.069708700000  0.432697080000 -0.409447350000 -0.249678260000  1.408936220000 -1.152769010000 -1.825756530000
  0.115003180000 -0.137634130000  0.318514400000  0.445978890000 -1.172333160000 -0.983480230000  2.636378650000  1.912529240000
  0.273367400000 -0.585807940000  0.027469700000  0.818798990000  1.436908120000 -0.548950590000 -3.728952560000 -1.649692560000
  0.406197210000 -0.179709420000 -0.844499670000 -1.114343970000 -0.057142450000  2.068499270000  3.738129870000  0.973807330000
  0.301496790000  0.705183720000  0.229244010000 -0.127733000000 -1.236283620000 -2.283357240000 -2.531181130000 -0.119703260000
  0.076848090000  0.328342350000  0.407457680000  0.672908270000  0.954011250000  1.068404110000  0.763098060000 -0.470925570000
 -0.000008170000  0.005856740000  0.025252200000  0.049899680000  0.084489790000  0.117328230000  0.263024520000  0.475025430000
    1
 -0.310900000000
* d-type functions
    5    5
         20.27238900
          8.10895500
          0.98537000
          0.39414800
          0.15765920
  0.001250520000 -0.002418090000  0.091815730000 -0.395203300000  1.358715910000
 -0.008040660000  0.050870060000  0.508576470000 -0.518938050000 -1.260287050000
 -0.171087540000  0.694382820000  0.924361730000  1.005118360000  0.472054070000
 -0.532381800000  0.334583700000 -1.519375220000 -1.265919390000 -0.446499380000
 -0.437379920000 -0.917065040000  0.939711020000  0.688231300000  0.205683270000
    0
* f-type functions
    3    3
          1.31382700
          0.52553000
          0.21021200
  0.091155480000 -0.451992090000  1.303975850000
  0.649590200000 -0.603835190000 -1.515073890000
  0.395059190000  1.018564820000  0.848184480000
    0
* g-type functions
    2    2
          0.65691300
          0.26276500
  1.000000000000  0.000000000000
  0.000000000000  1.000000000000
    0

/C.ANO-rcc.Roos.14s9p4d3f2g.8s8p4d3f2g.
B.O. Roos, R. Lindh, P.-A. Malmqvist, V. Veryazov, P.-O. Widmark. J. Phys. Chem. A 108 (2004) 2851-2858. doi:10.1021/jp031064+
CARBON (14s,9p,4d,3f,2g) -> [8s,8p,4d,3f,2g]
************************************************************************
* C Carbon atom                                                        *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Basic primitive: Duijneveldt 13s,8p                                  *
* Augmented: 1s with exponent 0.35x lowest exponent                    *
*            1p with exponent 0.35x lowest exponent                    *
*            4d even-tempered with scale factor 0.35, 3 optimized for  *
*               the SDCI energy for the ground state atom, and the     *
*               fourth added as an additional diffuse                  *
*            3f even-tempered with scale factor 0.40, 2 optimized for  *
*               the SDCI energy for the ground state atom, and the     *
*               third added as an additional diffuse                   *
*            2g (1.25*f) added to reach QZ quality (030607)            *
*                                                                      *
* Contraction: State      Field  Method  Weight                        *
*              C(3P,s2p2) 0.000  CASPT2  1/4                           *
*              C(5S,sp3)  0.000  CASPT2  1/4                           *
*              C+(2P,s2p) 0.000  CASPT2  1/4                           *
*              C2         0.000  CASPT2  1/4                           *
*                                                                      *
* Contraction range: 2s1p - 8s8p4d3f2g                                 *
* Results(eV)                                                          *
* Contraction       CASPT2(C,3P)    IP     5S                          *
* MB: 2s1p        -37.7140326807  10.64  2.945                         *
* DZP:3s2p1d      -37.7737216272  10.91  3.806                         *
* TZP:4s3p2d1f    -37.7872637956  11.03  4.025                         *
* QZP:5s4p3d2f    -37.7900607360  11.05  4.075                         *
* large:8s7p4d3f  -37.7908426648  11.05  4.092                         *
* Primitive:      -37.7908606270  11.05  4.092                         *
* Expt.                           11.26  4.182                         *
*                                                                      *
* The C dimer: CASPT2 results with 2s,2p active (8/8) with             *
* and without counterpoise correction (CP). 8s7p4d3f  basis set.       *
* No core correlation. No level shift, Focktype=G1                     *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Expt.     *
* Re(a)      1.253      1.253         1.247        1.248     1.243     *
* De(eV)     6.199      6.199         6.397        6.370               *
* D0(eV)     6.085      6.085         6.283        6.256      6.21     *
* omega_e(cm-1) 1843     1843          1849         1847      1855     *
*                                                                      *
* Basis set fixed 20141230 by POW                                      *
************************************************************************
Options
OrbitalEnergies
EndOptions
     6.0   4
* s-type functions
   14    8
      50557.50100000
       7524.78560000
       1694.32760000
        472.82279000
        151.71075000
         53.91874600
         20.65931100
          8.38397600
          3.57701500
          1.54711800
          0.61301300
          0.24606800
          0.09908700
          0.03468000
  0.000112887400 -0.000025074200  0.000016178800 -0.000045535700  0.000105978900 -0.000233722300  0.000341557800 -0.000640020600
  0.000529537300 -0.000117594500  0.000074971200 -0.000204647000  0.000500014600 -0.001154647200  0.001569736600 -0.002447903600
  0.002450038300 -0.000545627500  0.000357346700 -0.001026460100  0.002290030000 -0.004818030600  0.007483111500 -0.015952350100
  0.010053984700 -0.002245077100  0.001434931600 -0.003776444000  0.009515037600 -0.022549669000  0.029016592600 -0.037278597200
  0.035453980600 -0.008043471800  0.005508677900 -0.015660217300  0.033027081600 -0.063982831000  0.105657625300 -0.250620096500
  0.104407108600 -0.024425887100  0.016914969000 -0.039860947600  0.100247880500 -0.228608457400  0.268102833000 -0.179181919500
  0.241289491800 -0.061367911800  0.051416652400 -0.129730087600  0.222184221900 -0.255749077700  0.513596693600 -1.577226803700
  0.383422548300 -0.117776783500  0.113734374100 -0.159269297500  0.322086461800 -0.524201936500 -0.102118446700  5.718428556900
  0.307851439300 -0.155048778300  0.233718394400 -0.482172080100  0.240894884200  2.068977125200 -3.072923793000 -8.216444566700
  0.068724429900 -0.019333168600 -0.071837825700  1.085425655300 -2.874569219800 -1.125905540400  5.645493253100  7.113267615800
  0.000222444500  0.399693067800 -1.049090871100  1.046868697200  3.717778316900 -1.523459204800 -6.196260444000 -4.719306149300
  0.001976748900  0.558942094900 -0.066627339900 -2.567952968900 -1.796160065000  3.630833782700  5.496814426700  2.890000802900
  0.002057859400  0.171119502300  1.011999379800  1.061668797400 -0.556252904300 -3.668214185900 -3.590993970300 -1.393217268900
  0.000418202000  0.007456244600  0.165604638600  0.458331291100  0.963689623900  1.753519776600  1.335671311200  0.391116776200
    2
 -1.1327600000e1 -0.705300000000
* p-type functions
    9    8
         83.33315500
         19.55761100
          6.08036500
          2.17931700
          0.86515000
          0.36194400
          0.15474000
          0.06542900
          0.02290000
  0.001344656000 -0.001771588500  0.003786190500 -0.006709699800  0.016032598300 -0.025677709900  0.001192357800 -0.127105636900
  0.010235555000 -0.014562181000  0.036388353300 -0.043874262400  0.018625871100 -0.057628176100  0.033124685300 -1.420478970400
  0.045200671000 -0.057457335700  0.150643566700 -0.352950859800  0.903890724000 -1.316992321900  0.405386545000  1.898110632400
  0.141075619800 -0.212658284800  0.666891458000 -0.847538837400 -0.662449015700  2.776964837700 -1.023153258300 -1.693950704100
  0.304738808500 -0.527171292400  0.173724026400  1.858048472700 -0.942160217700 -3.457397244100  1.700874689400  1.352010618800
  0.399528101100 -0.092969773000 -1.280224400700 -0.913740918500  2.627806948900  3.173429556300 -2.441513504400 -0.982083102400
  0.271916343200  0.663003166900  0.396386442300 -0.776758035700 -2.968207297800 -1.985631352200  3.046503984100  0.611740530700
  0.058576693300  0.336087779300  0.524464184300  0.986238040600  1.575640197100  0.440339228000 -2.892745967400 -0.280607257900
 -0.000126381300  0.005469524400  0.006229509200  0.013970672800 -0.025051327200  0.397479551100  1.753566586500  0.070222882800
    1
 -0.435400000000
* d-type functions
    4    4
          1.90000000
          0.66500000
          0.23275000
          0.08146300
  0.142451804800 -0.438379972300  1.166550608200 -0.602980468900
  0.559197301900 -0.592678139500 -1.180543163600  1.186098163500
  0.443000438000  0.867243576200  0.275823214900 -1.562069790500
  0.041066537000  0.170171493800  0.445254722300  1.306910393600
    0
* f-type functions
    3    3
          1.25000000
          0.50000000
          0.20000000
  0.321759892900 -0.795571978600  1.084665676500
  0.589420446000  0.050652870800 -1.652893820800
  0.271166013900  0.772605830300  1.114680696600
    0
* g-type functions
    2    2
          0.62500000
          0.25000000
  0.962795109700 -0.748385912100
  0.062698051800  1.217836134700
    0

/N.ANO-rcc.Roos.14s9p4d3f2g.8s7p4d3f2g.
B.O. Roos, R. Lindh, P.-A. Malmqvist, V. Veryazov, P.-O. Widmark. J. Phys. Chem. A 108 (2004) 2851-2858. doi:10.1021/jp031064+
NITROGEN (14s,9p,4d,3f,2g) -> [8s,7p,4d,3f,2g]
************************************************************************
* N Nitrogen atom                                                      *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Basic primitive: Duijneveldt 13s,8p                                  *
* Augmented: 1s with exponent 0.35x lowest exponent                    *
*            1p with exponent 0.35x lowest exponent                    *
*            4d even-tempered with scale factor 0.35, 3 optimized for  *
*               the SDCI energy for the ground state atom, and the     *
*               fourth added as an additional diffuse                  *
*            3f even-tempered with scale factor 0.40, 2 optimized for  *
*               the SDCI energy for the ground state atom, and the     *
*               third added as an additional diffuse                   *
*            2g (1.25*f) added to reach QZ quality (030607)            *
*                                                                      *
* Contraction: State       Field  Method  Weight                       *
*              N(4S,s2p3)  0.000  CASPT2  1/4                          *
*              N(2D,s2p3)  0.000  CASPT2  1/4                          *
*              N+(3P,s2p2) 0.000  CASPT2  1/4                          *
*              N2          0.000  CASPT2  1/4                          *
*                                                                      *
* Contraction range: 2s1p - 8s7p4d3f2g                                 *
* Results(eV)                                                          *
* Contraction       CASPT2(N,4S)    IP     2D                          *
* MB: 2s1p        -54.4179544469   14.32  3.084                        *
* DZP: 3s2p1d     -54.5151176140   14.29  2.738                        *
* TZP:4s3p2d1f    -54.5357383725   14.38  2.494                        *
* QZP:5s4p3d2f    -54.5406121186   14.40  2.461                        *
* large:8s7p4d3f  -54.5418779370   14.39  2.454                        *
* Primitive:      -54.5419048878   14.39  2.454                        *
* Expt.                            14.54  2.384                        *
*                                                                      *
* The N dimer: CASPT2 results with 2s,2p active (8/8) with             *
* and without counterpoise correction (CP). 8s7p4d3f2g  basis set.     *
* No core correlation. No level shift, Focktype=G1                     *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Expt.     *
* Re(a)      1.103      1.103         1.102      1.102      1.097      *
* De(eV)     9.236      9.236         9.744      9.709       9.91      *
* D0(eV)     9.09 1     9.091         9.600      9.565       9.76      *
* w_e(cm-1)   2352       2352          2343       2340       2360      *
************************************************************************
Options
OrbitalEnergies
EndOptions
     7.0   4
* s-type functions
   14    8
      74761.71500000
      11123.65400000
       2512.68570000
        703.77729000
        225.47879000
         79.61581000
         30.23728300
         12.26362200
          5.26508600
          2.33347100
          0.90185600
          0.35833600
          0.14109300
          0.04938300
  0.000118260000 -0.000027070000  0.000018760000 -0.000049440000  0.000075820000 -0.000198450000  0.000385090000 -0.000719630000
  0.000517290000 -0.000118370000  0.000081180000 -0.000207340000  0.000320430000 -0.000926290000  0.001703610000 -0.002535010000
  0.002266660000 -0.000520380000  0.000365900000 -0.000986760000  0.001504880000 -0.003550730000  0.007240380000 -0.016191620000
  0.009145290000 -0.002102930000  0.001443040000 -0.003542280000  0.005495110000 -0.017138010000  0.030173100000 -0.034332970000
  0.032393430000 -0.007568200000  0.005531840000 -0.014809970000  0.022469540000 -0.046293750000  0.098284830000 -0.253618380000
  0.097707930000 -0.023467670000  0.017243590000 -0.037915680000  0.059188030000 -0.185206130000  0.302350710000 -0.152856910000
  0.231703680000 -0.060429010000  0.052795480000 -0.125705540000  0.187545390000 -0.206451160000  0.459392790000 -1.748222190000
  0.376889890000 -0.117054910000  0.115288130000 -0.145623950000  0.208180240000 -0.607887410000  0.384976670000  5.965795880000
  0.317742070000 -0.155532150000  0.235259390000 -0.473257100000  0.689082420000  1.377059670000 -4.025094510000 -8.374422400000
  0.082113090000 -0.024689350000 -0.048963870000  0.896875910000 -2.951424380000  0.540730100000  6.084552830000  6.880876420000
  0.003312090000  0.362505450000 -1.023217740000  1.259758540000  2.955842700000 -3.285688980000 -5.721128520000 -4.217735910000
  0.003720820000  0.555084500000 -0.148158660000 -2.533038200000 -0.635421890000  4.683020600000  4.578904130000  2.501351140000
  0.003165420000  0.214837690000  1.021557540000  0.892343150000 -1.460546850000 -3.924341520000 -2.774189640000 -1.176933190000
  0.000459580000  0.008983850000  0.172401830000  0.544772570000  1.307301820000  1.704638300000  0.995963540000  0.329919550000
    2
 -1.5634000000e1 -0.945400000000
* p-type functions
    9    7
        126.66657000
         29.83738900
          9.39403800
          3.40510400
          1.35000000
          0.55769600
          0.23244900
          0.09426400
          0.03299200
  0.001233630000 -0.001466230000  0.002657210000 -0.004808020000  0.011439810000 -0.027246920000  0.011482600000
  0.009493410000 -0.011821480000  0.027855930000 -0.042903710000  0.017383060000 -0.013510390000  0.005020350000
  0.042939620000 -0.049831260000  0.101795880000 -0.242855980000  0.638131180000 -1.368003210000  0.880449870000
  0.136292540000 -0.173090420000  0.503826390000 -0.966896790000  0.149229340000  2.453376060000 -1.849760990000
  0.292136250000 -0.473237080000  0.515319480000  1.427573810000 -1.943465440000 -2.435398440000  2.517996970000
  0.388788760000 -0.205511320000 -1.250113850000 -0.011746270000  3.145349590000  1.540580010000 -2.927879240000
  0.294680140000  0.591037980000  0.025060350000 -1.367617490000 -2.804430210000 -0.249453760000  3.054209230000
  0.080128760000  0.451179680000  0.707692970000  1.054608640000  1.207708730000 -0.779575650000 -2.633603990000
  0.000540520000  0.013674720000  0.013939750000  0.044930390000  0.117238320000  0.884170100000  1.527447130000
    1
 -0.570700000000
* d-type functions
    4    4
          2.75000000
          0.96250000
          0.33687500
          0.11790600
  0.147301650000 -0.444084340000  1.137519460000 -0.651179820000
  0.550218260000 -0.591384800000 -1.138056640000  1.231593740000
  0.445256040000  0.865133620000  0.212035120000 -1.572512900000
  0.049428690000  0.166404830000  0.499028030000  1.287527110000
    0
* f-type functions
    3    3
          1.80000000
          0.72000000
          0.28800000
  0.332090080000 -0.817708520000  1.064909760000
  0.569910550000  0.081442640000 -1.658496070000
  0.286832730000  0.749716700000  1.126328410000
    0
* g-type functions
    2    2
          0.90000000
          0.36000000
  0.938315020000 -0.778858660000
  0.101697020000  1.215201060000
    0

/O.ANO-rcc.Roos.14s9p4d3f2g.8s7p4d3f2g.
B.O. Roos, R. Lindh, P.-A. Malmqvist, V. Veryazov, P.-O. Widmark. J. Phys. Chem. A 108 (2004) 2851-2858. doi:10.1021/jp031064+
OXYGEN (14s,9p,4d,3f,2g) -> [8s,7p,4d,3f,2g]
************************************************************************
* O Oxygen atom                                                        *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Basic primitive: Duijneveldt 13s,8p                                  *
* Augmented: 1s with exponent 0.35x lowest exponent                    *
*            1p with exponent 0.35x lowest exponent                    *
*            4d even-tempered with scale factor 0.35, 3 optimized for  *
*               the SDCI energy for the ground state atom, and the     *
*               fourth added as an additional diffuse                  *
*            3f even-tempered with scale factor 0.40, 2 optimized for  *
*               the SDCI energy for the ground state atom, and the     *
*               third added as an additional diffuse                   *
*            2g (1.25*f) added to reach QZ quality (030607)            *
*                                                                      *
* Contraction: State        Field  Method  Weight                      *
*              O(3P, s2p4)  0.000  CASPT2  1/5                         *
*              O(1D, s2p4)  0.000  CASPT2  1/5                         *
*              O+(4S, s2p3) 0.000  CASPT2  1/5                         *
*              O-(2P, s2p5) 0.000  CASPT2  1/5                         *
*              O2(3S_g^-)   0.000  CASPT2  1/5                         *
*                                                                      *
* Contraction range: 2s1p - 8s7p4d3f2g                                 *
* Results(eV)                                                          *
* Contraction       CASPT2(O,3P)    IP     EA     1D                   *
* MB: 2s1p        -74.8572187934  14.94 -3.771   2.191                 *
* DZP: 3s2p1d     -74.9771645344  12.96  0.550   2.144                 *
* TZP:4s3p2d1f    -75.0170992583  13.28  1.238   2.022                 *
* QZP:5s4p3d2f    -75.0284224539  13.35  1.344   1.997                 *
* large:8s7p4d3f  -75.0322791454  13.36  1.376   1.990                 *
* Primitive:      -75.0323099508  13.36  1.375   1.990                 *
* Expt.                           13.60  1.463   1.956                 *
*                                                                      *
* The O dimer: CASPT2 results with 2s,2p active (8/8) with             *
* and without counterpoise correction (CP). 8s7p4d3f  basis set.       *
* No core correlation. No level shift, Focktype=G1                     *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Expt.     *
* Re(a)      1.216       1.216       1.211      1.214       1.208      *
* De(eV)     4.105       4.104       5.504      5.433                  *
* D0(eV)     4.009       4.009       5.407      5.336       5.121      *
* w_e(cm-1)   1544        1544        1578       1568        1580      *
************************************************************************
Options
OrbitalEnergies
EndOptions
     8.0   4
* s-type functions
   14    8
     105374.95000000
      15679.24000000
       3534.54470000
        987.36516000
        315.97875000
        111.65428000
         42.69945100
         17.39559600
          7.43830900
          3.22286200
          1.25387700
          0.49515500
          0.19166500
          0.06708300
  0.000123860000 -0.000028150000  0.000026160000 -0.000050580000  0.000051960000 -0.000107630000  0.000282600000 -0.000742820000
  0.000512010000 -0.000116300000  0.000107480000 -0.000200240000  0.000196120000 -0.000523970000  0.001299180000 -0.002342330000
  0.002152910000 -0.000490920000  0.000459720000 -0.000919520000  0.000993030000 -0.001540040000  0.004321590000 -0.015916400000
  0.008528440000 -0.001946160000  0.001795550000 -0.003202400000  0.002976580000 -0.009994240000  0.023870420000 -0.026545460000
  0.030180490000 -0.007005300000  0.006675740000 -0.013599740000  0.015640710000 -0.017421700000  0.052550720000 -0.259141590000
  0.090997020000 -0.021678140000  0.020534450000 -0.033922960000  0.032319230000 -0.125140100000  0.290613240000 -0.102830240000
  0.217793640000 -0.056412130000  0.058286020000 -0.116854620000  0.160122530000 -0.059848380000  0.201679560000 -2.134798380000
  0.368624570000 -0.112705300000  0.121296910000 -0.140402750000  0.153868670000 -0.783308150000  1.518372890000  6.050819270000
  0.336670730000 -0.158911970000  0.226414750000 -0.475466660000  0.938863000000  0.919006870000 -5.380299790000 -7.468504930000
  0.096576300000 -0.033550830000 -0.042387000000  0.833500960000 -3.164427220000  1.503359710000  6.657121250000  5.731313390000
  0.002144520000  0.353190280000 -1.010455380000  1.301861380000  2.945453920000 -4.171664050000 -5.490755250000 -3.439187530000
  0.001194350000  0.553419930000 -0.153868680000 -2.481758440000 -0.467242560000  5.188023780000  3.958985740000  1.980946980000
  0.000539020000  0.230183910000  0.993453200000  0.811346590000 -1.595038130000 -4.103870470000 -2.262985680000 -0.922071920000
  0.000210340000  0.011272670000  0.185872540000  0.582104170000  1.344034820000  1.751983600000  0.796377010000  0.260771360000
    2
 -2.0684000000e1 -1.247500000000
* p-type functions
    9    7
        200.00000000
         46.53336700
         14.62180900
          5.31306400
          2.10252500
          0.85022300
          0.33759700
          0.12889200
          0.04511200
  0.000917300000 -0.000872130000  0.001296030000 -0.001956020000  0.003194520000 -0.009171820000  0.029455250000
  0.007377140000 -0.007064240000  0.011512790000 -0.023995850000  0.038587030000 -0.009788790000 -0.027054780000
  0.034835150000 -0.033304890000  0.051591200000 -0.091184270000  0.178785470000 -0.532105750000  1.727125350000
  0.114439700000 -0.114412750000  0.204594070000 -0.528633880000  1.009844990000 -0.405059840000 -3.009275110000
  0.255496640000 -0.299010680000  0.550193450000 -0.381983140000 -1.472434710000  2.133584720000  3.086249130000
  0.372255740000 -0.319860540000 -0.148720380000  1.441988160000  0.208370110000 -3.158793400000 -2.418406030000
  0.332331490000  0.205509000000 -0.896900850000 -0.673661460000  1.297137500000  3.046245880000  1.574802830000
  0.140084790000  0.593592680000  0.247075970000 -0.664969500000 -1.718388840000 -2.099413590000 -0.835832050000
  0.023957840000  0.282290270000  0.644434050000  0.829771070000  0.977583180000  0.873807280000  0.292552220000
    1
 -0.636200000000
* d-type functions
    4    4
          3.75000000
          1.31250000
          0.45937500
          0.16078100
  0.136097580000 -0.391519530000  0.951997480000 -0.926706600000
  0.514014750000 -0.622627280000 -0.677366240000  1.534200700000
  0.474071250000  0.721600730000 -0.346085690000 -1.612216130000
  0.081669050000  0.318701030000  0.815245470000  1.078899900000
    0
* f-type functions
    3    3
          2.35000000
          0.94000000
          0.37600000
  0.334606420000 -0.836777070000  1.049193270000
  0.561366720000  0.107219700000 -1.659943220000
  0.295727860000  0.729550610000  1.137218000000
    0
* g-type functions
    2    2
          1.17500000
          0.47000000
  0.895249010000 -0.828000670000
  0.166642350000  1.208009200000
    0

/F.ANO-rcc.Roos.14s9p4d3f2g.8s7p4d3f2g.
B.O. Roos, R. Lindh, P.-A. Malmqvist, V. Veryazov, P.-O. Widmark. J. Phys. Chem. A 108 (2004) 2851-2858. doi:10.1021/jp031064+
FLUORINE (14s,9p,4d,3f,2g) -> [8s,7p,4d,3f,2g]
************************************************************************
* F Fluorine atom                                                      *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Basic primitive: Duijneveldt 13s,8p                                  *
* Augmented: 1s with exponent 0.35x lowest exponent                    *
*            1p with exponent 0.35x lowest exponent                    *
*            4d even-tempered with scale factor 0.35, 3 optimized for  *
*               the SDCI energy for the ground state atom, and the     *
*               fourth added as an additional diffuse                  *
*            3f even-tempered with scale factor 0.40, 2 optimized for  *
*               the SDCI energy for the ground state atom, and the     *
*               third added as an additional diffuse                   *
*            2g (1.25*f) added to reach QZ quality (030607)            *
*                                                                      *
* Contraction: State        Field  Method  Weight                      *
*              F(2P, s2p5)  0.000  CASPT2  1/4                         *
*              F+(3P, s2p4) 0.000  CASPT2  1/4                         *
*              F-(1S, s2p6) 0.000  CASPT2  1/4                         *
*              F2(1S_g^+)   0.000  CASPT2  1/4                         *
*                                                                      *
* Contraction range: 2s1p - 8s7p4d3f2g                                 *
* Results(eV)                                                          *
* Contraction       CASPT2(F,2P)    IP     EA                          *
* MB: 2s1p        -99.4942202338   19.06 -2.128                        *
* DZP:3s2p1d      -99.6454399295   17.04  2.934                        *
* TZP:4s3p2d1f    -99.7037067484   17.20  3.461                        *
* QZP:5s4p3d2f    -99.7199373221   17.25  3.531                        *
* large:8s7p4d3f  -99.7254545732   17.26  3.541                        *
* Primitive:      -99.7254981887   17.26  3.541                        *
* Expt.                            17.42  3.403                        *
*                                                                      *
* The F dimer: CASPT2 results with 2p active (10/6) with               *
* and without counterpoise correction (CP). 8s7p4d3f  basis set.       *
* No core correlation. No level shift, Focktype=G1                     *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Expt.     *
* Re(A)      1.464      1.464        1.421      1.424       1.412      *
* De(eV)     0.763      0.762        1.670      1.647                  *
* D0(eV)     0.719      0.719        1.615      1.592       1.609      *
* w_e(cm-1)    710        710          893        888         917      *
* With the active space: 2p,3p:Re=1.423, D0=1.536, w_e=884(PT2(with CP)*
************************************************************************
Options
OrbitalEnergies
EndOptions
     9.0   4
* s-type functions
   14    8
     103109.46000000
      15281.00700000
       3441.53920000
        967.09483000
        314.03534000
        113.44230000
         44.64472700
         18.94287400
          8.53274300
          3.91940100
          1.56815700
          0.62329000
          0.24086100
          0.08430100
  0.000171310000 -0.000040450000  0.000041720000 -0.000063010000  0.000066170000 -0.000103200000  0.000177500000 -0.000599970000
  0.000712400000 -0.000168230000  0.000172970000 -0.000251750000  0.000266970000 -0.000556840000  0.000850800000 -0.001624970000
  0.002990480000 -0.000708430000  0.000734110000 -0.001149430000  0.001209890000 -0.001263930000  0.002605090000 -0.014262130000
  0.011640370000 -0.002768000000  0.002844360000 -0.003966720000  0.004281050000 -0.011361880000  0.016442390000 -0.012552550000
  0.039686430000 -0.009611380000  0.010084560000 -0.016340920000  0.017927040000 -0.009809780000  0.031119690000 -0.261203110000
  0.112854610000 -0.028339580000  0.029653280000 -0.038878890000  0.048092900000 -0.152263010000  0.236197750000 -0.038279410000
  0.247365070000 -0.068393440000  0.076010560000 -0.130550440000  0.169457190000  0.051931820000  0.139013290000 -2.640478390000
  0.367270270000 -0.123737930000  0.140260180000 -0.137166830000  0.278416530000 -1.221262160000  1.996249330000  7.326282670000
  0.289628700000 -0.151285970000  0.222496080000 -0.512337290000  0.817578710000  2.087575670000 -6.694079240000 -9.037608910000
  0.077866820000 -0.009099910000 -0.125565930000  1.035907660000 -3.590946890000  0.047537660000  8.236961240000  6.738218120000
  0.004562140000  0.371625770000 -1.042421850000  1.093235630000  3.905254220000 -3.103530030000 -6.618954060000 -3.775337270000
  0.002468880000  0.550021440000 -0.011074950000 -2.508336280000 -1.524776850000  4.654463490000  4.737680970000  2.075630340000
  0.001106310000  0.209231870000  0.957465670000  0.979873880000 -0.848486290000 -4.066149190000 -2.756257650000 -0.949533500000
  0.000173970000  0.008074640000  0.150163170000  0.511296140000  1.065443220000  1.872962120000  0.996129610000  0.270002590000
    2
 -2.6408100000e1 -1.576400000000
* p-type functions
    9    7
        245.33029000
         56.91900500
         17.60456800
          6.27499500
          2.44703000
          0.99506000
          0.40397300
          0.15481000
          0.05418400
  0.001024860000 -0.000932600000  0.001409940000 -0.002116000000  0.003879230000 -0.010117500000  0.024857470000
  0.008344290000 -0.007759560000  0.012954170000 -0.026218280000  0.036068920000 -0.004287050000 -0.007736470000
  0.040789270000 -0.037560680000  0.058816930000 -0.103945620000  0.227914310000 -0.615107810000  1.627661500000
  0.135137060000 -0.134637730000  0.250517840000 -0.606911520000  0.962532740000 -0.113753810000 -2.916173410000
  0.279883080000 -0.308134220000  0.546627930000 -0.169871520000 -1.682785500000  1.799252920000  3.168983100000
  0.359796640000 -0.263474350000 -0.255819390000  1.412408990000  0.642857270000 -3.062469710000 -2.681992510000
  0.305534740000  0.203217610000 -0.863459880000 -0.861316720000  0.945509800000  3.151478260000  1.837002880000
  0.135470390000  0.580288300000  0.302116980000 -0.515143570000 -1.578733880000 -2.229719720000 -0.989849830000
  0.028044490000  0.297140420000  0.587380910000  0.780541550000  0.966974340000  0.951019970000  0.352531560000
    1
 -0.731200000000
* d-type functions
    4    4
          5.00000000
          1.75000000
          0.61250000
          0.21437500
  0.136426980000 -0.401483310000  0.930279290000 -0.944284840000
  0.515965650000 -0.606121000000 -0.643496980000  1.554600460000
  0.470809690000  0.706575610000 -0.382458660000 -1.611610590000
  0.083501750000  0.328583910000  0.839659890000  1.056847170000
    0
* f-type functions
    3    3
          3.20000000
          1.28000000
          0.51200000
  0.338579710000 -0.845344940000  1.041018510000
  0.582522820000  0.145950380000 -1.649668390000
  0.262610930000  0.718125270000  1.152517000000
    0
* g-type functions
    2    2
          1.60000000
          0.64000000
  0.875852140000 -0.848492150000
  0.194547120000  1.203830270000
    0

/Ne.ANO-rcc.Roos.14s9p4d3f2g.8s7p4d3f2g.
B.O. Roos, R. Lindh, P.-A. Malmqvist, V. Veryazov, P.-O. Widmark. J. Phys. Chem. A 108 (2004) 2851-2858. doi:10.1021/jp031064+
NEON (14s,9p,4d,3f,2g) -> [8s,7p,4d,3f,2g]
************************************************************************
* Ne Neon atom                                                         *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Basic primitive: Duijneveldt 13s,8p                                  *
* Augmented: 1s with exponent 0.35x lowest exponent                    *
*            1p with exponent 0.35x lowest exponent                    *
*            4d even-tempered with scale factor 0.35, 3 optimized for  *
*               the SDCI energy for the ground state atom, and the     *
*               fourth added as an additional diffuse                  *
*            3f even-tempered with scale factor 0.40, 2 optimized for  *
*               the SDCI energy for the ground state atom, and the     *
*               third added as an additional diffuse                   *
*            2g one CASPT2 optimized, split with 0.4 scale factor      *
*                                                                      *
* Contraction: State        Field  Method  Weight                      *
*              Ne(1S, s2p6)  0.000  CASPT2  1/3                        *
*              Ne+(2P, s2p5) 0.000  CASPT2  1/3                        *
*              Ne(1S, s2p6)  0.010  CASPT2  1/3                        *
*                                                                      *
* Contraction range: 2s1p - 8s7p4d3f2g                                 *
* Results(eV)                                                          *
* Contraction         CASPT2(Ne,1S)     IP                             *
* MB: 2s1p          -128.6712148563   21.084                           *
* DZP:3s2p1d        -128.8931081825   21.351                           *
* TZP:4s3p2d1f      -128.9549742923   21.495                           *
* QZP:5s4p3d2f1g    -128.9804436907   21.595                           *
* large:8s7p4d3f2g  -128.9863190618   21.614                           *
* Primitive:        -128.9863813348   21.614                           *
* Expt.                               21.59                            *
*                                                                      *
* The Ne dimer: CASPT2 results with 2p,3p active (12/12) with          *
* and without counterpoise correction (CP). 8s7p4d3f  basis set.       *
* No core correlation. No level shift, Focktype=G1                     *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Expt+.    *
* Re(A)     not bound  not bound    3.171          3.202      3.16     *
* De(eV)                           0.0028         0.0024               *
* D0(eV)                           0.0015         0.0012    0.0020     *
* G_0(cm-1)                         10.41           9.48      12.3     *
* Or accurate calculations                                             *
************************************************************************
Options
OrbitalEnergies
EndOptions
    10.0   4
* s-type functions
   14    8
     166165.08000000
      23107.52400000
       5060.15390000
       1384.61230000
        436.51258000
        153.47148000
         59.38908700
         24.86196700
         11.01570400
          4.96517500
          1.93650300
          0.76572800
          0.29553800
          0.10343800
  0.000153220000 -0.000036480000  0.000045690000 -0.000056920000  0.000068190000 -0.000068940000  0.000113160000 -0.000289680000
  0.000635250000 -0.000151230000  0.000187920000 -0.000222210000  0.000296060000 -0.000424130000  0.000527670000 -0.000553080000
  0.002574980000 -0.000615400000  0.000778370000 -0.001028500000  0.001102120000 -0.000528620000  0.001617340000 -0.008052850000
  0.010128850000 -0.002425560000  0.002990670000 -0.003306000000  0.004996060000 -0.009586920000  0.010119590000  0.001872660000
  0.035834210000 -0.008746840000  0.011228380000 -0.015818860000  0.015542340000  0.000365900000  0.021354430000 -0.184676030000
  0.105526270000 -0.026606960000  0.032928040000 -0.034391020000  0.062723540000 -0.157297610000  0.167409860000 -0.040937380000
  0.238262770000 -0.066241270000  0.089847590000 -0.146621740000  0.128672460000  0.118870810000  0.154290150000 -2.786443440000
  0.369256610000 -0.123773210000  0.158414120000 -0.132674480000  0.439660480000 -1.672443440000  1.846244300000  7.108619880000
  0.305199600000 -0.158995060000  0.290713140000 -0.733573530000  0.441473540000  3.565733960000 -5.964260430000 -8.250738470000
  0.083725130000 -0.007484420000 -0.246362400000  1.798153390000 -3.467788110000 -2.488477810000  7.300303800000  5.911272160000
  0.003641540000  0.392159910000 -1.266323280000  0.088057190000  4.980770970000 -0.305706380000 -6.205066320000 -3.311363110000
  0.000957480000  0.555760310000  0.462672050000 -2.286449660000 -3.670153330000  2.529935860000  5.011631920000  1.917201160000
  0.000034220000  0.185473210000  0.813439750000  1.606207950000  0.965144760000 -3.241485980000 -3.390108410000 -0.951028930000
  0.000025850000 -0.000189350000  0.010284720000  0.090427980000  0.439077900000  1.897377480000  1.435478630000  0.305859710000
    2
 -3.2811800000e1 -1.935600000000
* p-type functions
    9    7
        234.94500000
         55.07738500
         17.38954900
          6.38953700
          2.54208200
          1.03376400
          0.41878800
          0.16462700
          0.05761900
  0.001674140000 -0.002174300000  0.003073740000 -0.006211420000  0.013828050000 -0.019889260000  0.006303620000
  0.012910200000 -0.017570850000  0.029502250000 -0.046256080000  0.020543340000 -0.066527870000 -0.458466750000
  0.058214770000 -0.078855090000  0.121347050000 -0.317538580000  0.839396120000 -1.453457330000  0.409105310000
  0.170903340000 -0.275300870000  0.565050130000 -0.900006310000 -0.458040290000  2.951038360000 -0.013097710000
  0.314699580000 -0.467239990000  0.198311260000  1.670586140000 -1.199598910000 -3.439158460000 -0.533939450000
  0.373219230000  0.006307160000 -1.137046010000 -0.501772840000  2.607591620000  2.981323910000  1.202350210000
  0.266122460000  0.590747710000  0.166046760000 -0.964309060000 -2.645872020000 -1.914023580000 -1.919628090000
  0.070057220000  0.337619590000  0.687688540000  0.943876550000  1.346003480000  0.670937420000  2.283282140000
  0.000614980000  0.006599370000  0.021855800000  0.008747390000 -0.023044190000  0.095654420000 -1.656761230000
    1
 -0.849700000000
* d-type functions
    4    4
          6.42000000
          2.24700000
          0.78645000
          0.27525750
  0.152549350000 -0.498230200000  1.076720770000 -0.711380580000
  0.551595030000 -0.518430880000 -1.076208270000  1.316519010000
  0.442341980000  0.826497880000  0.140570790000 -1.601857940000
  0.045151430000  0.175718950000  0.586713630000  1.248897880000
    0
* f-type functions
    3    3
          4.19000000
          1.67600000
          0.67040000
  0.371284540000 -0.964831150000  0.918810360000
  0.601008920000  0.414178060000 -1.596648040000
  0.198512980000  0.559516490000  1.249198830000
    0
* g-type functions
    2    2
          4.90820400
          1.96328100
  0.364152330000 -1.163807740000
  0.745966690000  0.964670450000
    0

/Na.ANO-rcc.Veryazov.17s12p5d4f2g.9s8p5d4f2g.
V. Veryazov, P.-O. Widmark, B.O. Roos. Theor. Chem. Acc. 111 (2004) 345-351. doi:10.1007/s00214-003-0537-0
SODIUM (17s,12p,5d,4f,2g) -> [9s,8p,5d,4f,2g]
************************************************************************
* Na Sodium atom                                                       *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Active space 3s or 3p orbitals. Only 1s frozen in CASPT2             *
* Basic primitive: 16s,11p - SCF optimized                             *
*                  4d,3f   - SDCI optimized                            *
* Augmented: 1s with exponent 0.40x lowest exponent                    *
*            1p with exponent 0.40x lowest exponent                    *
*            1d with exponent 2.50x highest exponent                   *
*            1f with exponent 2.50x highest exponent                   *
*            2g with exponent 1.25 times f (added 081118)              *
*                                                                      *
* Contraction: State   Field  Method  Weight                           *
*              Na(2S)  0.000  CASPT2  1/6                              *
*              Na(2P)  0.000  CASPT2  1/6                              *
*              Na+     0.000  CASPT2  1/6                              *
*              Na2     0.000  CASPT2  1/2                              *
*                                                                      *
* Contraction range: 3s2p - 9s8p5d4f2g                                 *
* Results(eV)                                                          *
* Contraction      CASPT2(Na,2S)  IP     2P                            *
* DZ: 4s3p       -162.1836487666 4.975  2.001                          *
* DZP:4s3p1d     -162.1845510192 4.977  2.000                          *
* TZP:5s4p2d1f   -162.2648858065 5.059  2.054                          *
* QZP:6s5p3d2f   -162.2934146917 5.097  2.080                          *
* Primitive:     -162.2987649096 5.117  2.094                          *
* Expt.                          5.138  2.103                          *
*                                                                      *
* The Na dimer: CASPT2 results with 3s,3p active (2el/8 orb) with      *
* and without counterpoise correction (CP).  Contraction: 6s6p3d1f     *
* 2s,2p correlated at the CASPT2 level, no level shift, Focktype=G1    *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Expt.     *
* Re(a)    3.177       3.178       3.070       3.105       3.078       *
* D0(ev)   0.700       0.700       0.758       0.717       0.720       *
* we(cm-1)   153         153         159         157         159       *
************************************************************************
Options
OrbitalEnergies
EndOptions
    11.0   4
* s-type functions
   17    9
     138773.72000000
      20325.89900000
       5878.60490000
       2015.43730000
        739.62658000
        280.82116000
        108.71501000
         42.60157200
         16.82981700
          6.68644860
          2.66748770
          1.06746210
          0.42818910
          0.17208010
          0.06925880
          0.02790920
          0.01116330
 -0.000233760000  0.000036060000  0.000008600000 -0.000063010000  0.000041990000 -0.000092070000  0.000077510000 -0.000068270000  0.000120250000
 -0.000837560000  0.000129110000  0.000030780000 -0.000223260000  0.000146190000 -0.000293410000  0.000269200000 -0.000365140000  0.000805820000
 -0.002235190000  0.000347650000  0.000082610000 -0.000616840000  0.000422300000 -0.001048230000  0.000793240000 -0.000166960000 -0.000445130000
 -0.007195140000  0.001114860000  0.000265040000 -0.001894300000  0.001203820000 -0.002022150000  0.002168760000 -0.004724260000  0.012023740000
 -0.022028370000  0.003508290000  0.000825440000 -0.006259810000  0.004346640000 -0.011521490000  0.008401600000  0.000485470000 -0.012968340000
 -0.066440810000  0.010846240000  0.002521280000 -0.018229330000  0.011491860000 -0.018781050000  0.021127600000 -0.051717870000  0.130212750000
 -0.175260130000  0.031743500000  0.007086040000 -0.055949200000  0.038975690000 -0.108300430000  0.080875250000 -0.010023190000 -0.125605790000
 -0.364538330000  0.080411370000  0.016674970000 -0.129746100000  0.080465230000 -0.135055060000  0.167689210000 -0.501172040000  1.136685070000
 -0.415396880000  0.149455850000  0.027220670000 -0.274549640000  0.203787570000 -0.733448350000  0.572350350000 -0.142336770000 -1.986286050000
 -0.131372060000  0.047180190000  0.008502280000  0.063356980000 -0.144767710000  1.726035690000 -2.381778900000  2.785713220000  0.951064000000
  0.030841580000 -0.359665330000 -0.057171500000  1.225654440000 -0.882999340000  0.169703550000  2.741927470000 -5.072235700000  1.210850050000
  0.046341760000 -0.569969250000 -0.117019900000 -0.281523990000  0.585173160000 -2.739034290000 -0.861528940000  5.560514830000 -3.563501400000
  0.020750690000 -0.223743050000 -0.157370740000 -0.762106280000  0.879705730000  2.363787580000 -1.977152460000 -4.217509410000  5.687546930000
 -0.001590870000  0.006092260000 -0.025129690000 -0.097163650000 -0.395387590000  0.166460050000  3.357060690000  1.594576650000 -7.002763550000
  0.001615890000 -0.000663410000  0.547665530000 -0.367760770000 -1.661029200000 -1.220535430000 -1.750183860000  1.161994960000  6.834023720000
  0.000759280000  0.004963350000  0.554095320000  0.571734490000  1.261319670000  0.401451880000 -0.769787950000 -2.517630900000 -4.994173980000
 -0.000196710000  0.001585870000  0.030447600000  0.104225830000  0.300297960000  0.233650510000  1.142610370000  1.552373180000  2.039773050000
    3
 -4.0537000000e1 -2.804900000000 -0.182400000000
* p-type functions
   12    8
        383.79172000
         94.39807200
         32.36150700
         12.05435200
          4.64171860
          1.81728760
          0.71827120
          0.28558030
          0.11399470
          0.04562920
          0.01830100
          0.00732040
  0.001092380000 -0.000155430000  0.001660950000 -0.000717840000  0.002007240000 -0.001912700000  0.003768410000 -0.009263850000
  0.007548500000 -0.001072180000  0.011660320000 -0.005921090000  0.023981770000 -0.030474040000  0.022415270000  0.016401140000
  0.032959230000 -0.004773240000  0.052688810000 -0.023362630000  0.067711970000 -0.076256500000  0.166142320000 -0.419719590000
  0.117169630000 -0.017457470000  0.209930540000 -0.118306120000  0.536909030000 -0.838864550000  0.890971480000 -0.279364020000
  0.277724000000 -0.043211900000  0.535604640000 -0.231625870000  0.382577090000  0.949191000000 -1.941256480000  1.630858740000
  0.397977040000 -0.048748950000  0.131751360000  0.200733220000 -1.402500350000  0.353970400000  1.818744560000 -2.791257500000
  0.323480040000 -0.026142360000 -0.660666460000  0.324484830000  0.506311900000 -1.637028530000 -0.668269660000  3.546470240000
  0.094017200000 -0.007200610000 -0.295846880000  0.080112980000  0.762248620000  1.430867400000 -0.949616750000 -3.723413390000
  0.000099290000  0.154863170000 -0.025981730000 -0.851686540000 -0.412136550000  0.183126730000  2.181330100000  3.133124440000
  0.001235050000  0.499519360000  0.094851220000 -0.350435960000 -0.435639280000 -1.126564870000 -2.087011310000 -1.916058630000
 -0.000841330000  0.432748500000  0.153277520000  0.896745210000  0.424694940000  0.627278610000  0.836473840000  0.524036200000
  0.000250540000  0.032481950000  0.011467840000  0.079102000000  0.046790620000  0.118239310000  0.161369720000  0.212302320000
    1
 -1.516900000000
* d-type functions
    5    5
          2.15650900
          0.86260360
          0.34514180
          0.13809690
          0.05525480
 -0.295577950000  0.865884800000  1.141741780000 -0.618909750000  0.319745380000
  0.197209570000  0.087374980000 -1.480820720000  1.548769040000 -1.176198850000
 -0.007981780000  0.204316410000  0.189801220000 -1.524379070000  2.185172330000
  0.488050240000 -0.083402800000 -0.100070080000 -0.058883530000 -2.401159370000
  0.552993400000  0.054391700000  0.389929550000  0.625371250000  1.332505650000
    0
* f-type functions
    4    4
          0.82036225
          0.32814490
          0.15734730
          0.07544890
 -0.260509380000  1.287232960000  0.627397750000 -0.289709830000
  0.418928960000 -0.724191310000 -1.731000640000  1.508797220000
  0.272126820000  0.559545510000  0.800060220000 -2.560043180000
  0.568182630000 -0.233249700000  0.323197640000  1.656478310000
    0
* g-type functions
    2    2
          0.41020000
          0.19670000
  1.000000000000  0.000000000000
  0.000000000000  1.000000000000
    0

/Mg.ANO-rcc.Veryazov.17s12p6d2f2g.9s8p6d2f2g.
V. Veryazov, P.-O. Widmark, B.O. Roos. Theor. Chem. Acc. 111 (2004) 345-351. doi:10.1007/s00214-003-0537-0
MAGNESIUM (17s,12p,6d,2f,2g) -> [9s,8p,6d,2f,2g]
************************************************************************
* Mg Magnesium atom                                                    *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Active space 3s and 3p orbitals. 2p correlated in CASPT2             *
* Basic primitive: 16s,11p - SCF optimized                             *
*                  4d,3f   - SDCI optimized                            *
* Augmented: 1s with exponent 0.40x lowest exponent                    *
*            1p with exponent 0.40x lowest exponent                    *
*            6d three for 2p correlation and three for 3s              *
*               CASPT2 optimized.                                      *
*            2f one for 2p and one for 3s exp. (4/3) times basic 3d    *
*            2g with exponent 1.25 times f (added 081118)              *
*                                                                      *
*                                                                      *
* Contraction: State      Field  Method  Weight                        *
*              Mg(1S,s2)  0.000  CASPT2  1/4                           *
*              Mg(3P,sp)  0.000  CASPT2  1/4                           *
*              Mg+(2S,s)  0.000  CASPT2  1/4                           *
*              Mg2        0.000  CASPT2  1/4                           *
*                                                                      *
* Contraction range: 4s2p - 9s8p6d2f2g                                 *
* Results(eV)                                                          *
* Contraction      CASPT2(Mg,1S)    IP     3P                          *
* DZ: 4s2p        -199.9517166393  7.446  2.776                        *
* DZP:5s2p2d      -200.0441429964  7.466  2.715                        *
* TZP:6s3p2d      -200.1181307334  7.504  2.747                        *
* QZ2P:7s4p4d2f   -200.1519023980  7.587  2.712                        *
* large:9s8p5d2f  -200.1622124207  7.606  2.731                        *
* Primitive:      -200.1623358166  7.606  2.730                        *
* Expt.                            7.644  2.714                        *
*                                                                      *
* The Mg dimer: CASPT2 results with 3s,3p,4s,4p active (4/16) with     *
* and without counterpoise correction (CP).  Contraction: 9s8p6d2f     *
* 2p correlated at the CASPT2 level, no level shift, Focktype=G1       *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Expt.     *
* Re(A)      4.128        4.129     4.002       4.012       3.89^a     *
* De(eV)     0.023        0.023     0.040       0.039       0.05^a     *
* D0(eV)     0.021        0.021     0.037       0.036                  *
* deltaG(1/2)(cm-1)       34.65     42.13       41.69                  *
* Comment: 3s,3p active gives Re=4.311 A, De=0.023 eV.                 *
* a. V. E. Bondybey, Chem. Phys. Letters 109 436 (1984).               *
************************************************************************
Options
OrbitalEnergies
EndOptions
    12.0   4
* s-type functions
   17    9
     169973.87000000
      24699.06600000
       7175.48510000
       2478.79200000
        917.73259000
        351.75140000
        137.51557000
         54.43028600
         21.72256900
          8.71944840
          3.51471660
          1.42121320
          0.57607650
          0.23395250
          0.09515600
          0.03875100
          0.01550040
  0.000243550000 -0.000061770000  0.000012240000 -0.000025450000  0.000067200000 -0.000044760000  0.000076810000 -0.000076230000  0.000091960000
  0.000853710000 -0.000216490000  0.000042890000 -0.000089050000  0.000230910000 -0.000140890000  0.000219950000 -0.000188450000  0.000324580000
  0.002190110000 -0.000558280000  0.000110760000 -0.000230720000  0.000628060000 -0.000475830000  0.000914880000 -0.001048080000  0.000850260000
  0.006868710000 -0.001748420000  0.000346220000 -0.000717670000  0.001802380000 -0.000910280000  0.001062580000 -0.000359600000  0.002520270000
  0.020599810000 -0.005331670000  0.001059410000 -0.002208860000  0.006132210000 -0.004984590000  0.010091700000 -0.012298190000  0.008564880000
  0.061321910000 -0.016137010000  0.003202450000 -0.006636970000  0.016583810000 -0.007900630000  0.008019270000 -0.000623180000  0.022932180000
  0.161293090000 -0.045367570000  0.009070060000 -0.018919920000  0.053255150000 -0.044284360000  0.090515100000 -0.114529510000  0.076425500000
  0.339354120000 -0.109061930000  0.021955490000 -0.045299270000  0.113161170000 -0.048941400000  0.035375680000  0.012549690000  0.175633760000
  0.407325740000 -0.187311250000  0.038898780000 -0.086810840000  0.292596650000 -0.326310610000  0.751393260000 -1.142540210000  1.036408590000
  0.150840910000 -0.084892750000  0.017865270000 -0.041833350000  0.041521950000  0.345909650000 -1.384148550000  2.981402550000 -4.306639720000
  0.001947810000  0.336787010000 -0.079122260000  0.334143900000 -1.455933980000  0.985544350000 -0.468918760000 -2.563470680000  7.178337790000
  0.004148650000  0.597066740000 -0.185001890000  0.217625380000  0.305164500000 -1.502078440000  2.722955010000 -0.269613530000 -8.429880290000
 -0.001893780000  0.229640510000 -0.203424740000  0.122775960000  1.536946750000 -0.024224760000 -2.364927910000  3.748354380000  8.202571090000
  0.001236380000 -0.006858190000  0.127613210000 -0.962696000000 -0.523553430000  1.311814280000 -0.498243010000 -6.099900210000 -6.843506170000
 -0.000635910000  0.007305440000  0.655853220000 -0.468912630000 -0.767642850000  0.052645080000  3.189815990000  6.133191260000  4.786357390000
  0.000435670000 -0.002794330000  0.399882440000  0.821621940000  0.205339770000 -2.238608690000 -3.526411880000 -3.998382390000 -2.521139820000
 -0.000118010000  0.001009700000 -0.016103630000  0.408467280000  0.476149900000  1.854895500000  1.638060390000  1.323475720000  0.735119990000
    3
 -4.9116200000e1 -3.779600000000 -0.253400000000
* p-type functions
   12    8
        557.13078000
        135.48388000
         47.21295800
         18.00095500
          7.11466070
          2.86302400
          1.16401850
          0.47630470
          0.19573560
          0.08067830
          0.03332660
          0.01333060
  0.000867680000 -0.000162880000  0.001289180000 -0.000676650000  0.001501530000 -0.000917230000  0.002083200000 -0.006272390000
  0.006023670000 -0.001127290000  0.008868770000 -0.004809430000  0.016093840000 -0.024921030000  0.030877070000  0.008095780000
  0.026082890000 -0.004948780000  0.040534760000 -0.021574130000  0.046266090000 -0.023047210000  0.076916850000 -0.273113290000
  0.094409310000 -0.018159440000  0.161588720000 -0.094552370000  0.379171140000 -0.692114370000  1.231517390000 -0.718474430000
  0.241581280000 -0.048273600000  0.476794490000 -0.273962250000  0.630823020000  0.157121280000 -2.209143060000  2.234711370000
  0.387364610000 -0.073045950000  0.276239740000 -0.011231560000 -1.213932360000  1.490012130000  1.641411400000 -3.348973600000
  0.355995350000 -0.066644280000 -0.570927180000  0.506135880000 -0.128973270000 -2.327118510000 -0.072164380000  4.008023590000
  0.122516930000 -0.011128040000 -0.388602400000  0.216854810000  1.211276380000  1.396219880000 -1.650931640000 -4.248961650000
  0.003309160000  0.264064360000 -0.101312170000 -0.901810540000 -0.357287660000  0.552314840000  2.764610810000  3.959607310000
  0.002274510000  0.544652890000  0.121565200000 -0.343871310000 -0.703581570000 -1.578861620000 -2.714426370000 -3.071473660000
 -0.000899230000  0.299460560000  0.282514070000  0.996455800000  0.594547360000  1.053930920000  1.632965710000  1.747197590000
  0.000289000000  0.015555160000  0.014846720000  0.054129650000  0.007031980000 -0.135595470000 -0.437845960000 -0.532751290000
    1
 -2.280500000000
* d-type functions
    6    6
         10.99851400
          3.63307900
          1.20009500
          0.39642100
          0.13094800
          0.05237900
  0.161867570000 -0.078901030000  0.466101560000 -0.544794530000  0.904628800000 -0.639636200000
  0.579541320000 -0.160486650000  0.457775720000  0.222091760000 -1.088483330000  1.108960210000
  0.427581940000  0.034263120000 -0.797886580000  0.542567520000  0.577710370000 -1.405108280000
  0.022735080000  0.198671000000 -0.209398060000 -0.869473250000  0.297605380000  1.623322120000
  0.024702610000  0.537083710000  0.192916190000 -0.223651950000 -1.067270760000 -1.554675650000
  0.005605980000  0.406544760000  0.241613040000  0.719071970000  0.894170660000  0.906549440000
    0
* f-type functions
    2    2
          4.84410500
          0.17459700
  0.999422830000 -0.035683270000
  0.024765830000  0.999752940000
    0
* g-type functions
    2    2
          6.05500000
          0.21800000
  1.000000000000  0.000000000000
  0.000000000000  1.000000000000
    0

/Al.ANO-rcc.Roos.17s12p5d3f2g.9s9p5d3f2g.
B.O. Roos, R. Lindh, P.-A. Malmqvist, V. Veryazov, P.-O. Widmark. J. Phys. Chem. A 108 (2004) 2851-2858. doi:10.1021/jp031064+
ALUMINIUM (17s,12p,5d,3f,2g) -> [9s,9p,5d,3f,2g]
************************************************************************
* Al Aluminium atom                                                    *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Active space 3s and 3p orbitals. 2p correlated in CASPT2             *
* Basic primitive: 16s,11p - SCF optimized                             *
*                  4d,3f   - SDCI optimized                            *
* Augmented: 1s with exponent 0.40x lowest exponent                    *
*            1p with exponent 0.40x lowest exponent                    *
*            5d two for 2p correlation and three for 3s,3p             *
*               CASPT2 optimized.                                      *
*            3f for 3s3p exp. (4/3) times most diffuse 3d              *
*            2g with exponent 1.25 times f (added 081118)              *
*                                                                      *
*                                                                      *
* Contraction: State      Field  Method  Weight                        *
*              Al(2P,s2p)  0.000  CASPT2  1/6                          *
*              Al(4P,sp2)  0.000  CASPT2  1/6                          *
*              Al+(1S,s2)  0.000  CASPT2  1/6                          *
*              Al2         0.000  CASPT2  1/2                          *
*                                                                      *
* Contraction range: 4s2p - 9s9p5d3f2g                                 *
* Results                                                              *
* Contraction      CASPT2(Al,2P)    IP     4P       EA                 *
* MB: 3s2p         -242.3285626705  5.275  2.815                       *
* DZP:4s3p1d       -242.3806553427  5.637  3.245                       *
* TZP:5s4p2d1f     -242.5315728649  5.733  3.507                       *
* QZP:6s5p3d2f     -242.5431525962  5.773  3.554                       *
* large:9s9p5d3f   -242.5593800386  5.792  3.581                       *
* Primitive:       -242.5596684297  5.797  3.593  0.253                *
* Expt.                             5.984  3.607  0.433                *
*                                                                      *
* The Al dimer 3Pi_u state: CASPT2 results with 3s,3p active (6/8) with*
* and without counterpoise correction (CP).  Contraction: 9s8p5d3f.    *
* 2p correlated at the CASPT2 level, no level shift, Focktype=G1.      *
*                                                                      *
* Method:  CAS(no CP) CAS(with CP) PT2(no CP) PT2(with CP)   Other&.   *
* R_e(A)   2.758        2.758         2.719       2.722      2.727     *
* D_0(eV)  0.966        0.963         1.391       1.391      1.381     *
* omega_e    270          270           278         277        277     *
* T_e(3Sigma_g^-)(cm-1):                             34        174     *
* &From the work of Bauschlicher et al., J. Chem. Phys. 86, 7007 (1987)*
* Experimental D_e=1.55+-0.15 eV. Spin-orbit effects on D_e: -0.014 eV *
************************************************************************
Options
OrbitalEnergies
EndOptions
    13.0   4
* s-type functions
   17    9
     208459.49000000
      29971.59800000
       8764.45650000
       3060.70730000
       1147.49630000
        445.75595000
        176.70642000
         70.94362000
         28.72400000
         11.69892300
          4.78536970
          1.96375180
          0.80785940
          0.33299060
          0.13746930
          0.05682380
          0.02272950
 -0.000254710000  0.000063550000  0.000019180000 -0.000021860000  0.000069300000 -0.000049660000  0.000073480000 -0.000073280000  0.000148800000
 -0.000876510000  0.000218770000  0.000066000000 -0.000075380000  0.000235000000 -0.000159250000  0.000222030000 -0.000176760000  0.000549480000
 -0.002150020000  0.000539130000  0.000162770000 -0.000184730000  0.000603910000 -0.000474120000  0.000760420000 -0.000965740000  0.001142720000
 -0.006537630000  0.001638730000  0.000494000000 -0.000566630000  0.001713170000 -0.001027480000  0.001206920000 -0.000191080000  0.004435520000
 -0.019096640000  0.004861050000  0.001467270000 -0.001658190000  0.005554290000 -0.004623180000  0.007698680000 -0.010956760000  0.010114940000
 -0.055828370000  0.014452800000  0.004350450000 -0.004988320000  0.015100090000 -0.008785800000  0.009184240000  0.001386940000  0.039414700000
 -0.146570210000  0.040397380000  0.012161100000 -0.013661860000  0.047187920000 -0.040493470000  0.065201050000 -0.098849010000  0.087620530000
 -0.314377380000  0.098180910000  0.029393990000 -0.033378410000  0.104979870000 -0.061118550000  0.043358660000  0.029789730000  0.293602320000
 -0.413065550000  0.178978330000  0.053715850000 -0.060265810000  0.259056320000 -0.281544070000  0.461586640000 -0.888622420000  1.316296580000
 -0.190144670000  0.117844550000  0.035558380000 -0.046837980000  0.169901500000 -0.005885530000 -0.463895800000  1.684377690000 -5.203081800000
 -0.004987540000 -0.273328520000 -0.086136740000  0.170405070000 -1.326253690000  1.543792000000 -1.684467700000  0.054944670000  7.710744090000
 -0.000646250000 -0.606818200000 -0.246400390000  0.250606560000 -0.143314250000 -1.380076410000  3.796547040000 -3.431557890000 -7.874305780000
  0.003631240000 -0.273135930000 -0.263497000000  0.383916810000  1.592511690000 -1.388859820000 -3.421098910000  6.258633680000  6.728899710000
 -0.000872910000  0.002076290000  0.197922750000 -1.059550590000  0.172758640000  3.823506340000  0.766556500000 -7.482834690000 -5.097710920000
  0.004687670000 -0.028983250000  0.704321690000 -0.864699990000 -1.759606850000 -3.141088590000  2.198971270000  7.018054980000  3.415109760000
  0.001564740000 -0.010052720000  0.305905730000  1.529653940000  0.991891180000  0.383624820000 -3.447364740000 -4.965745490000 -1.845720270000
  0.000221270000 -0.001709230000  0.000082920000  0.020269360000  0.107578170000  0.822254280000  2.010201870000  1.982050770000  0.593897770000
    3
 -5.8619700000e1 -4.928100000000 -0.394200000000
* p-type functions
   12    9
        677.76458000
        164.83442000
         57.68342400
         22.10867400
          8.78775140
          3.55708740
          1.45487800
          0.59893630
          0.24763730
          0.10269950
          0.04268530
          0.01707410
  0.000881160000 -0.000177980000  0.000812760000 -0.001239770000  0.000980640000 -0.001287580000  0.000985480000 -0.002606040000  0.004388830000
  0.006061250000 -0.001221700000  0.005466520000 -0.008546280000  0.009209790000 -0.017008610000  0.026076740000 -0.026516890000  0.000545910000
  0.026171230000 -0.005339430000  0.025203010000 -0.038879780000  0.030207400000 -0.037860870000  0.025482460000 -0.100896180000  0.188783420000
  0.095168530000 -0.019625340000  0.098151800000 -0.162730460000  0.207979650000 -0.433935920000  0.784394940000 -1.228748890000  0.708770920000
  0.245178370000 -0.052216610000  0.295570750000 -0.487911300000  0.424583500000 -0.453544260000 -0.509502690000  2.526066930000 -2.011861540000
  0.398367490000 -0.084741690000  0.196241420000 -0.134263690000 -0.528354290000  1.514504810000 -1.165819160000 -2.572639690000  2.894735760000
  0.352889310000 -0.084638940000 -0.227579390000  0.805285810000 -0.635781420000 -0.834433530000  2.779615490000  1.686435360000 -3.365452910000
  0.102570120000  0.023461480000 -0.249352820000  0.319018850000  1.085489260000 -0.939972920000 -3.270213900000 -0.422103870000  3.597421390000
  0.001299550000  0.350207870000 -0.655677660000 -0.935081900000  0.356963350000  2.091695880000  2.444108690000 -0.846800180000 -3.661368260000
  0.001212430000  0.517202410000  0.274428740000 -0.044594410000 -1.588393550000 -1.833503470000 -0.933855510000  1.825275740000  3.514208220000
 -0.000615010000  0.232061690000  0.582637770000  0.608783080000  0.939543170000  0.521245630000 -0.392379210000 -2.080908580000 -2.845442120000
  0.000104380000  0.011103190000  0.027139470000  0.036316970000  0.228673430000  0.383483470000  0.671121090000  1.248375320000  1.427219910000
    2
 -3.216100000000 -0.209800000000
* d-type functions
    5    5
          7.33783400
          2.93513370
          0.51202500
          0.20481000
          0.08192400
  0.031482020000 -0.388265640000  0.353331420000 -1.005169440000  0.887252890000
  0.073662190000 -0.614511970000  0.017910880000  0.801312200000 -1.159477360000
  0.198693620000 -0.232618170000 -0.711741070000  0.558093130000  1.410195770000
  0.557460470000  0.281760130000 -0.242343040000 -1.239278500000 -1.636328970000
  0.369926040000  0.083337910000  0.856138050000  0.904540260000  0.871203650000
    0
* f-type functions
    3    3
          0.68269900
          0.27307960
          0.10923100
  0.106666890000 -0.687826330000  1.195188920000
  0.697042810000 -0.264359000000 -1.589418420000
  0.326856450000  0.857616710000  1.034697480000
    0
* g-type functions
    2    2
          0.34140000
          0.13650000
  1.000000000000  0.000000000000
  0.000000000000  1.000000000000
    0

/Si.ANO-rcc.Roos.17s12p5d4f2g.8s7p5d4f2g.
B.O. Roos, R. Lindh, P.-A. Malmqvist, V. Veryazov, P.-O. Widmark. J. Phys. Chem. A 108 (2004) 2851-2858. doi:10.1021/jp031064+
SILICON (17s,12p,5d,4f,2g) -> [8s,7p,5d,4f,2g]
************************************************************************
* Si Silicon atom                                                      *
* Relativistic Contraction of the ANO-L set                            *
* based on CASSCF/CASPT2 using the Douglas-Kroll Hamiltonian.          *
* Active space 3s and 3p orbitals. 2p correlated in CASPT2             *
*                                                                      *
* Basic primitive: 16s,11p - SCF optimized                             *
*                  4d,3f   - SDCI optimized                            *
* Augmented: 1s with exponent 0.40x lowest exponent                    *
*            1p with exponent 0.40x lowest exponent                    *
*            1d with exponent 0.40x lowest exponent                    *
*            1f with exponent 0.40x lowest exponent                    *
*            2g, 1 CASPT2 optimized, split 0.4                         *
*                                                                      *
*                                                                      *
* Contraction: State       Field  Method  Weight                       *
*              Si(3P,s2p2) 0.000  CASPT2  1/4                          *
*              Si(5S,sp3)  0.000  CASPT2  1/4                          *
*              Si+(2P,s2p) 0.000  CASPT2  1/4                          *
*              Si2         0.000  CASPT2  1/4                          *
*                                                                      *
* Contraction range: 3s2p - 8s7p5d4f2g                                 *
* Results                                                              *
* Contraction       CASPT2(Si,3P)   IP     5S     EA(with SO)          *
* MB: 3s2p       -289.4647840344  7.712   2.815                        *
* DZP: 4s3p1d    -289.5150039724  7.876   3.689                        *
* TZP:5s4p2d1f   -289.5255556739  7.974   3.867                        *
* QZP:6s5p3d2f   -289.5273982633  7.985   3.905                        *
* large:8s7p5d4f -289.5281146405  7.990   3.919  1.329                 *
* Primitive:     -289.5281335861  7.990   3.920                        *
* Expt.(J-aver)                   8.136    -     1.390                 *
*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          