<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2007 XBRL US, Inc. All Rights Reserved.
Authorized Uses are Set Forth at http://xbrl.us/legal
  --><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:us-gaap="http://xbrl.us/us-gaap/2007-12-31"
           xmlns:link="http://www.xbrl.org/2003/linkbase"
           xmlns:us-types="http://xbrl.us/us-types/2007-12-31"
           xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
           xmlns:xbrli="http://www.xbrl.org/2003/instance"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           targetNamespace="http://xbrl.us/us-gaap/2007-12-31"
           elementFormDefault="qualified">
  <xs:import namespace="http://www.xbrl.org/2003/instance"
              schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://xbrl.us/us-types/2007-12-31"
              schemaLocation="types-20071231.xsd"/>
  <xs:import namespace="http://xbrl.us/us-roles/2007-12-31"
              schemaLocation="roles-20071231.xsd"/>
  <xs:import namespace="http://xbrl.org/2005/xbrldt"
              schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2004/ref"
              schemaLocation="http://www.xbrl.org/2004/ref-2004-08-10.xsd"/>
  <xs:element name="AccidentAndHealthInsuranceSegmentMember"
               id="us-gaap_AccidentAndHealthInsuranceSegmentMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherAccountsPayableAndAccruedLiabilities"
               id="us-gaap_OtherAccountsPayableAndAccruedLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountingChangesAndErrorCorrectionsTextBlock"
               id="us-gaap_AccountingChangesAndErrorCorrectionsTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountingForCertainLoansAndDebtSecuritiesAcquiredInTransferDisclosureTextBlock"
               id="us-gaap_AccountingForCertainLoansAndDebtSecuritiesAcquiredInTransferDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountingForUncertaintyInIncomeTaxesPolicy"
               id="us-gaap_AccountingForUncertaintyInIncomeTaxesPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="InitialMeasurementOfInterestsContinuedToBeHeldByTransferorWhenSecuritizedFinancialAssetsAreAccountedForAsSalePolicy"
               id="us-gaap_InitialMeasurementOfInterestsContinuedToBeHeldByTransferorWhenSecuritizedFinancialAssetsAreAccountedForAsSalePolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="InterestsContinuedToBeHeldByTransferorInFinancialAssetsThatItHasSecuritizedOrServicingAssetsOrLiabilitiesRelatingToAssetsThatItHasSecuritizedAbstract"
               id="us-gaap_InterestsContinuedToBeHeldByTransferorInFinancialAssetsThatItHasSecuritizedOrServicingAssetsOrLiabilitiesRelatingToAssetsThatItHasSecuritizedAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="InterestsContinuedToBeHeldByTransferorInFinancialAssetsThatItHasSecuritizedOrServicingAssetsOrLiabilitiesPolicy"
               id="us-gaap_InterestsContinuedToBeHeldByTransferorInFinancialAssetsThatItHasSecuritizedOrServicingAssetsOrLiabilitiesPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ServicingAssetsAndServicingLiabilitiesAtFairValuePolicy"
               id="us-gaap_ServicingAssetsAndServicingLiabilitiesAtFairValuePolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountsNotesReceivableNet" id="us-gaap_AccountsNotesReceivableNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsNotesAndLoansReceivableNetCurrentAbstract"
               id="us-gaap_AccountsNotesAndLoansReceivableNetCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountsPayable" id="us-gaap_AccountsPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"
               id="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountsPayableAccruedExpenses"
               id="us-gaap_AccountsPayableAccruedExpenses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsPayableAndAccruedLiabilitiesAbstract"
               id="us-gaap_AccountsPayableAndAccruedLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GasPurchasePayable" id="us-gaap_GasPurchasePayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsPayableInterestBearing"
               id="us-gaap_AccountsPayableInterestBearing"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsPayableInterestBearingInterestRate"
               id="us-gaap_AccountsPayableInterestBearingInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsPayableRelatedParties" id="us-gaap_AccountsPayableRelatedParties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsPayableTrade" id="us-gaap_AccountsPayableTrade"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsPayableAbstract" id="us-gaap_AccountsPayableAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountsPayableUnderwritersPromotersAndEmployeesOtherThanSalariesAndWages"
               id="us-gaap_AccountsPayableUnderwritersPromotersAndEmployeesOtherThanSalariesAndWages"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsReceivableBilledForLongTermContractsOrPrograms"
               id="us-gaap_AccountsReceivableBilledForLongTermContractsOrPrograms"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsReceivableUnapprovedContractClaimsAmountExpectedToBeCollectedAfterOneYear"
               id="us-gaap_AccountsReceivableUnapprovedContractClaimsAmountExpectedToBeCollectedAfterOneYear"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsReceivableAdditionalDisclosuresAbstract"
               id="us-gaap_AccountsReceivableAdditionalDisclosuresAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ReceivablesLongTermContractsOrPrograms"
               id="us-gaap_ReceivablesLongTermContractsOrPrograms"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ReceivablesLongTermContractsOrProgramsAbstract"
               id="us-gaap_ReceivablesLongTermContractsOrProgramsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountsReceivableGrossNoncurrent"
               id="us-gaap_AccountsReceivableGrossNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsReceivableNet" id="us-gaap_AccountsReceivableNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsReceivableNetCurrent" id="us-gaap_AccountsReceivableNetCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsReceivableNetNoncurrent"
               id="us-gaap_AccountsReceivableNetNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsReceivableNetNoncurrentAbstract"
               id="us-gaap_AccountsReceivableNetNoncurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountsReceivableRelatedPartiesNoncurrent"
               id="us-gaap_AccountsReceivableRelatedPartiesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsReceivableTradeNet" id="us-gaap_AccountsReceivableTradeNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccretionAmortizationOfDiscountsAndPremiumsInvestments"
               id="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AccretionOfDiscount" id="us-gaap_AccretionOfDiscount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AccretionExpense" id="us-gaap_AccretionExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AccretionExpenseMember" id="us-gaap_AccretionExpenseMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingencies"
               id="us-gaap_AccrualForEnvironmentalLossContingencies"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesDisclosureAbstract"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesProvisionForNewLosses"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesProvisionForNewLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesComponentAmount"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesComponentAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesBalanceSheetClassificationAbstract"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesBalanceSheetClassificationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesCaption"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesCaption"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesComponents"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesComponents"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesIncreaseDecreaseForRevisionInEstimates"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesIncreaseDecreaseForRevisionInEstimates"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesDiscount"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesDiscount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesDiscountRate"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesDiscountRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesGross"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesIncreaseDecreaseForAcquisitionsAndDivestitures"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesIncreaseDecreaseForAcquisitionsAndDivestitures"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesIncreaseDecreaseForCurrencyTranslation"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesIncreaseDecreaseForCurrencyTranslation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesMaterialChangesInAccrual"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesMaterialChangesInAccrual"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesPeriodIncreaseDecrease"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesNet"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesPayments"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesPayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesReconciliationOfUndiscountedAmountToRecordedBalanceAbstract"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesReconciliationOfUndiscountedAmountToRecordedBalanceAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesSignificantAssumptions"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesSignificantAssumptions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesUndiscountedDueAfterFifthYear"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesUndiscountedDueAfterFifthYear"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesUndiscountedDueInFifthYear"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesUndiscountedDueInFifthYear"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesUndiscountedDueInFourthYear"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesUndiscountedDueInFourthYear"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesUndiscountedDueInSecondYear"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesUndiscountedDueInSecondYear"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesUndiscountedDueInThirdYear"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesUndiscountedDueInThirdYear"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualForEnvironmentalLossContingenciesUndiscountedDueWithinOneYear"
               id="us-gaap_AccrualForEnvironmentalLossContingenciesUndiscountedDueWithinOneYear"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedPayrollTaxes" id="us-gaap_AccruedPayrollTaxes"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedProfessionalFees" id="us-gaap_AccruedProfessionalFees"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccrualRealAndPersonalPropertyTaxesUncertainty"
               id="us-gaap_AccrualRealAndPersonalPropertyTaxesUncertainty"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccruedSalesCommission" id="us-gaap_AccruedSalesCommission"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedUtilities" id="us-gaap_AccruedUtilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedLiabilities" id="us-gaap_AccruedLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedLiabilitiesAbstract" id="us-gaap_AccruedLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccruedAcquisitionReserveMember"
               id="us-gaap_AccruedAcquisitionReserveMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccruedAdvertising" id="us-gaap_AccruedAdvertising"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedBonuses" id="us-gaap_AccruedBonuses" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="EnvironmentalCostsOfPropertyForSaleDisposalOrAbandonmentAccruedExitCosts"
               id="us-gaap_EnvironmentalCostsOfPropertyForSaleDisposalOrAbandonmentAccruedExitCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedExchangeFeeRebate" id="us-gaap_AccruedExchangeFeeRebate"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccountsPayableAndAccruedLiabilitiesNoncurrent"
               id="us-gaap_AccountsPayableAndAccruedLiabilitiesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedFeesAndOtherRevenueReceivable"
               id="us-gaap_AccruedFeesAndOtherRevenueReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedInsurance" id="us-gaap_AccruedInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedInsuranceNoncurrent" id="us-gaap_AccruedInsuranceNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedInterest" id="us-gaap_AccruedInterest"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedInterestReceivable" id="us-gaap_AccruedInterestReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedInterestReceivableMember"
               id="us-gaap_AccruedInterestReceivableMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccruedReclamationCostsCurrent"
               id="us-gaap_AccruedReclamationCostsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="OilAndGasReclamationLiabilityNoncurrent"
               id="us-gaap_OilAndGasReclamationLiabilityNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedRent" id="us-gaap_AccruedRent" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedRentNoncurrent" id="us-gaap_AccruedRentNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedRoyalties" id="us-gaap_AccruedRoyalties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccruedTaxes" id="us-gaap_AccruedTaxes" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="TaxesPayableAbstract" id="us-gaap_TaxesPayableAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccruedVacation" id="us-gaap_AccruedVacation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccumulatedAmortizationGoodwill"
               id="us-gaap_AccumulatedAmortizationGoodwill"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccumulatedAmortizationIntangibleAssetsFiniteLived"
               id="us-gaap_AccumulatedAmortizationIntangibleAssetsFiniteLived"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccumulatedAmortizationOfOtherDeferredCosts"
               id="us-gaap_AccumulatedAmortizationOfOtherDeferredCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccumulatedComprehensiveIncome"
               id="us-gaap_AccumulatedComprehensiveIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract"
               id="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccumulatedComprehensiveIncomeAfterAdoptionOfNewAccountingPrinciple"
               id="us-gaap_AccumulatedComprehensiveIncomeAfterAdoptionOfNewAccountingPrinciple"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="AccumulatedDepreciationAmortization"
               id="us-gaap_AccumulatedDepreciationAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"
               id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="RealEstateInvestmentPropertyAccumulatedDepreciation"
               id="us-gaap_RealEstateInvestmentPropertyAccumulatedDepreciation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="OtherComprehensiveIncomeLossAdditionalMinimumPensionLiabilityTaxEffect"
               id="us-gaap_OtherComprehensiveIncomeLossAdditionalMinimumPensionLiabilityTaxEffect"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="MajorClassOfAcquiredFiniteLivedIntangibleAssetAmount"
               id="us-gaap_MajorClassOfAcquiredFiniteLivedIntangibleAssetAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="MajorClassOfAcquiredFiniteLivedIntangibleAssetClassNameDomain"
               id="us-gaap_MajorClassOfAcquiredFiniteLivedIntangibleAssetClassNameDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MajorClassOfAcquiredFiniteLivedIntangibleAssetResidualValue"
               id="us-gaap_MajorClassOfAcquiredFiniteLivedIntangibleAssetResidualValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="MajorClassOfAcquiredFiniteLivedIntangibleAssetWeightedAverageUsefulLife"
               id="us-gaap_MajorClassOfAcquiredFiniteLivedIntangibleAssetWeightedAverageUsefulLife"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MajorClassOfAcquiredFiniteLivedIntangibleAssetAxis"
               id="us-gaap_MajorClassOfAcquiredFiniteLivedIntangibleAssetAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MajorClassOfAcquiredFiniteLivedIntangibleAssetLineItems"
               id="us-gaap_MajorClassOfAcquiredFiniteLivedIntangibleAssetLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MajorClassOfAcquiredFiniteLivedIntangibleAssetTable"
               id="us-gaap_MajorClassOfAcquiredFiniteLivedIntangibleAssetTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AcquiredFiniteLivedIntangibleAssetsAbstract"
               id="us-gaap_AcquiredFiniteLivedIntangibleAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"
               id="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MajorClassOfAcquiredIndefiniteLivedIntangibleAssetAmount"
               id="us-gaap_MajorClassOfAcquiredIndefiniteLivedIntangibleAssetAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="MajorClassOfAcquiredIndefiniteLivedIntangibleAssetClassNameDomain"
               id="us-gaap_MajorClassOfAcquiredIndefiniteLivedIntangibleAssetClassNameDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MajorClassOfAcquiredIndefiniteLivedIntangibleAssetAxis"
               id="us-gaap_MajorClassOfAcquiredIndefiniteLivedIntangibleAssetAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MajorClassOfAcquiredIndefiniteLivedIntangibleAssetLineItems"
               id="us-gaap_MajorClassOfAcquiredIndefiniteLivedIntangibleAssetLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MajorClassOfAcquiredIndefiniteLivedIntangibleAssetTable"
               id="us-gaap_MajorClassOfAcquiredIndefiniteLivedIntangibleAssetTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AcquiredIndefiniteLivedIntangibleAssetsAbstract"
               id="us-gaap_AcquiredIndefiniteLivedIntangibleAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AcquiredIndefiniteLivedIntangibleAssetsGross"
               id="us-gaap_AcquiredIndefiniteLivedIntangibleAssetsGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="PaymentsToAcquireBusinessesAndInterestInAffiliates"
               id="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsToAcquireBusinessesAndInterestInAffiliatesAbstract"
               id="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliatesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AcquisitionBusinessesNetCashAcquired"
               id="us-gaap_AcquisitionBusinessesNetCashAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsToAcquireBusinessesNetOfCashAcquiredAbstract"
               id="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquiredAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AcquisitionOfBusinessesAndPurchaseOfInvestments"
               id="us-gaap_AcquisitionOfBusinessesAndPurchaseOfInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AcquisitionOfContentRightsInExchangeForFutureServicesMember"
               id="us-gaap_AcquisitionOfContentRightsInExchangeForFutureServicesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AcquisitionCostsAmortized" id="us-gaap_AcquisitionCostsAmortized"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AcquisitionDivestitureBusinessActivitiesNet"
               id="us-gaap_AcquisitionDivestitureBusinessActivitiesNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForProceedsFromBusinessesAndInterestInAffiliatesAbstract"
               id="us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliatesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherPaymentsToAcquireBusinesses"
               id="us-gaap_OtherPaymentsToAcquireBusinesses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForProceedsFromRealEstatePartnershipInvestmentNet"
               id="us-gaap_PaymentsForProceedsFromRealEstatePartnershipInvestmentNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForProceedsFromRealEstatePartnershipInvestmentNetAbstract"
               id="us-gaap_PaymentsForProceedsFromRealEstatePartnershipInvestmentNetAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AcquisitionMember" id="us-gaap_AcquisitionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsToAcquirePartnersInterestInRealEstatePartnershipNetOfCashAcquired"
               id="us-gaap_PaymentsToAcquirePartnersInterestInRealEstatePartnershipNetOfCashAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionValueOfAssetsAcquired"
               id="us-gaap_NoncashOrPartNoncashAcquisitionValueOfAssetsAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionAccountsReceivableAcquired"
               id="us-gaap_NoncashOrPartNoncashAcquisitionAccountsReceivableAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionFixedAssetsAcquired"
               id="us-gaap_NoncashOrPartNoncashAcquisitionFixedAssetsAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired"
               id="us-gaap_NoncashOrPartNoncashAcquisitionIntangibleAssetsAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionInventoryAcquired"
               id="us-gaap_NoncashOrPartNoncashAcquisitionInventoryAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionInvestmentsAcquired"
               id="us-gaap_NoncashOrPartNoncashAcquisitionInvestmentsAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionOtherAssetsAcquired"
               id="us-gaap_NoncashOrPartNoncashAcquisitionOtherAssetsAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionInterestAcquired"
               id="us-gaap_NoncashOrPartNoncashAcquisitionInterestAcquired"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionValueOfLiabilitiesAssumed"
               id="us-gaap_NoncashOrPartNoncashAcquisitionValueOfLiabilitiesAssumed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionDebtAssumed"
               id="us-gaap_NoncashOrPartNoncashAcquisitionDebtAssumed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionEmployeeBenefitLiabilitiesAssumed"
               id="us-gaap_NoncashOrPartNoncashAcquisitionEmployeeBenefitLiabilitiesAssumed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionOtherLiabilitiesAssumed"
               id="us-gaap_NoncashOrPartNoncashAcquisitionOtherLiabilitiesAssumed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionPayablesAssumed"
               id="us-gaap_NoncashOrPartNoncashAcquisitionPayablesAssumed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationDueDateDayMonthAndYear"
               id="us-gaap_NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationDueDateDayMonthAndYear"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationDueDateMonthAndYear"
               id="us-gaap_NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationDueDateMonthAndYear"
               type="xbrli:gYearMonthItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationDueDateYear"
               id="us-gaap_NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationDueDateYear"
               type="xbrli:gYearItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationOptionsIssued"
               id="us-gaap_NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationOptionsIssued"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationRate"
               id="us-gaap_NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationSharesIssued"
               id="us-gaap_NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationSharesIssued"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationWarrantsIssued"
               id="us-gaap_NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationWarrantsIssued"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed"
               id="us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionByUniqueDescriptionAxis"
               id="us-gaap_NoncashOrPartNoncashAcquisitionByUniqueDescriptionAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionLineItems"
               id="us-gaap_NoncashOrPartNoncashAcquisitionLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashAcquisitionsTable"
               id="us-gaap_NoncashOrPartNoncashAcquisitionsTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalCashAndCashEquivalentRelatedText"
               id="us-gaap_AdditionalCashAndCashEquivalentRelatedText"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalChargesForCustomersAndNoncustomersCommodityAccounts"
               id="us-gaap_AdditionalChargesForCustomersAndNoncustomersCommodityAccounts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AdditionalChargesForCustomersAndNoncustomersSecurityAccounts"
               id="us-gaap_AdditionalChargesForCustomersAndNoncustomersSecurityAccounts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AdditionsToContractHoldersFunds"
               id="us-gaap_AdditionsToContractHoldersFunds"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidCapital" id="us-gaap_AdditionalPaidCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AdditionalPaidInCapitalCommonStock"
               id="us-gaap_AdditionalPaidInCapitalCommonStock"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockPeriodIncreaseDecrease"
               id="us-gaap_AdditionalPaidInCapitalCommonStockPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockPurchasedRetiredAdditionalPaidCapital"
               id="us-gaap_CommonStockPurchasedRetiredAdditionalPaidCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockRetired"
               id="us-gaap_AdditionalPaidInCapitalCommonStockRetired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockSharesHeldInTrustForEmployeeStockOwnershipPlan"
               id="us-gaap_AdditionalPaidInCapitalCommonStockSharesHeldInTrustForEmployeeStockOwnershipPlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockStockDividend"
               id="us-gaap_AdditionalPaidInCapitalCommonStockStockDividend"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockIssuedAdditionalPaidCapital"
               id="us-gaap_CommonStockIssuedAdditionalPaidCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockStockIssuedAcquisitions"
               id="us-gaap_AdditionalPaidInCapitalCommonStockStockIssuedAcquisitions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockStockIssuedEmployeeStockOwnershipPlan"
               id="us-gaap_AdditionalPaidInCapitalCommonStockStockIssuedEmployeeStockOwnershipPlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockIssuedEmployeeStockPurchasePlanAdditionalPaidCapital"
               id="us-gaap_CommonStockIssuedEmployeeStockPurchasePlanAdditionalPaidCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockStockIssuedNewIssues"
               id="us-gaap_AdditionalPaidInCapitalCommonStockStockIssuedNewIssues"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockIssuedEmployeesRestrictedSharesAdditionalPaidCapital"
               id="us-gaap_CommonStockIssuedEmployeesRestrictedSharesAdditionalPaidCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockStockIssuedRestrictedStockAwardForfeitures"
               id="us-gaap_AdditionalPaidInCapitalCommonStockStockIssuedRestrictedStockAwardForfeitures"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockStockIssuedRestrictedStockAwardNetOfForfeitures"
               id="us-gaap_AdditionalPaidInCapitalCommonStockStockIssuedRestrictedStockAwardNetOfForfeitures"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockStockIssuedShareBasedCompensation"
               id="us-gaap_AdditionalPaidInCapitalCommonStockStockIssuedShareBasedCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockStockIssuedStockOptionsExercised"
               id="us-gaap_AdditionalPaidInCapitalCommonStockStockIssuedStockOptionsExercised"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockStockIssuedValueMarkToMarketAdjustment"
               id="us-gaap_AdditionalPaidInCapitalCommonStockStockIssuedValueMarkToMarketAdjustment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockTaxBenefitFromShareBasedCompensation"
               id="us-gaap_AdditionalPaidInCapitalCommonStockTaxBenefitFromShareBasedCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalCommonStockTreasuryStockReissuedAsCommon"
               id="us-gaap_AdditionalPaidInCapitalCommonStockTreasuryStockReissuedAsCommon"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalPeriodIncreaseDecrease"
               id="us-gaap_AdditionalPaidInCapitalPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalPreferredStock"
               id="us-gaap_AdditionalPaidInCapitalPreferredStock"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AdditionalPaidInCapitalPreferredStockConverted"
               id="us-gaap_AdditionalPaidInCapitalPreferredStockConverted"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalPreferredStockPeriodIncreaseDecrease"
               id="us-gaap_AdditionalPaidInCapitalPreferredStockPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalPreferredStockStockIssued"
               id="us-gaap_AdditionalPaidInCapitalPreferredStockStockIssued"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalPreferredStockRetired"
               id="us-gaap_AdditionalPaidInCapitalPreferredStockRetired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalPreferredStockStockDividend"
               id="us-gaap_AdditionalPaidInCapitalPreferredStockStockDividend"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalSharesHeldInTrustForEmployeeStockOwnershipPlan"
               id="us-gaap_AdditionalPaidInCapitalSharesHeldInTrustForEmployeeStockOwnershipPlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockDividend"
               id="us-gaap_AdditionalPaidInCapitalStockDividend"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssued"
               id="us-gaap_AdditionalPaidInCapitalStockIssued"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssuedAcquisitions"
               id="us-gaap_AdditionalPaidInCapitalStockIssuedAcquisitions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssuedEmployeeStockOwnershipPlan"
               id="us-gaap_AdditionalPaidInCapitalStockIssuedEmployeeStockOwnershipPlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssuedEmployeeStockPurchasePlan"
               id="us-gaap_AdditionalPaidInCapitalStockIssuedEmployeeStockPurchasePlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssuedNewIssues"
               id="us-gaap_AdditionalPaidInCapitalStockIssuedNewIssues"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssuedRestrictedStockAwardGross"
               id="us-gaap_AdditionalPaidInCapitalStockIssuedRestrictedStockAwardGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssuedRestrictedStockAwardForfeitures"
               id="us-gaap_AdditionalPaidInCapitalStockIssuedRestrictedStockAwardForfeitures"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssuedRestrictedStockAwardNetOfForfeitures"
               id="us-gaap_AdditionalPaidInCapitalStockIssuedRestrictedStockAwardNetOfForfeitures"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssuedShareBasedCompensation"
               id="us-gaap_AdditionalPaidInCapitalStockIssuedShareBasedCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssuedStockOptionsExercised"
               id="us-gaap_AdditionalPaidInCapitalStockIssuedStockOptionsExercised"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockIssuedValueMarkToMarketAdjustment"
               id="us-gaap_AdditionalPaidInCapitalStockIssuedValueMarkToMarketAdjustment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockRepurchasedAndRetired"
               id="us-gaap_AdditionalPaidInCapitalStockRepurchasedAndRetired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalStockRetired"
               id="us-gaap_AdditionalPaidInCapitalStockRetired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalTaxBenefitFromShareBasedCompensation"
               id="us-gaap_AdditionalPaidInCapitalTaxBenefitFromShareBasedCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionalPaidInCapitalTreasuryStockReissuedAsCommonStock"
               id="us-gaap_AdditionalPaidInCapitalTreasuryStockReissuedAsCommonStock"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsToAcquireProductiveAssets"
               id="us-gaap_PaymentsToAcquireProductiveAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsToAcquireProductiveAssetsAbstract"
               id="us-gaap_PaymentsToAcquireProductiveAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="TimeSharingTransactionsAdditionsToAllowanceForCurrentPeriodSales"
               id="us-gaap_TimeSharingTransactionsAdditionsToAllowanceForCurrentPeriodSales"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="TimeSharingTransactionsAdditionsToAllowanceForCurrentPeriodSalesOnReceivablesSoldWithRecourse"
               id="us-gaap_TimeSharingTransactionsAdditionsToAllowanceForCurrentPeriodSalesOnReceivablesSoldWithRecourse"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdditionsToOtherAssetsNoncurrentDescription"
               id="us-gaap_AdditionsToOtherAssetsNoncurrentDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustableRateResidentialMortgageMember"
               id="us-gaap_AdjustableRateResidentialMortgageMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentForAccretion" id="us-gaap_AdjustmentForAccretion"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAllowanceForFundsUsedDuringConstruction"
               id="us-gaap_IncreaseDecreaseInAllowanceForFundsUsedDuringConstruction"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentForAmortization" id="us-gaap_AdjustmentForAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentForAmortizationAbstract"
               id="us-gaap_AdjustmentForAmortizationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfAdvanceRoyalty" id="us-gaap_AmortizationOfAdvanceRoyalty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfDebtIssuanceCosts"
               id="us-gaap_AmortizationOfDebtIssuanceCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfFinancingCostsAndDiscounts"
               id="us-gaap_AmortizationOfFinancingCostsAndDiscounts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfFinancingCostsAndDiscountsAbstract"
               id="us-gaap_AmortizationOfFinancingCostsAndDiscountsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfDeferredHedgeGains"
               id="us-gaap_AmortizationOfDeferredHedgeGains"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfDeferredPropertyTaxes"
               id="us-gaap_AmortizationOfDeferredPropertyTaxes"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfLeasedAsset" id="us-gaap_AmortizationOfLeasedAsset"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfNuclearFuelLease"
               id="us-gaap_AmortizationOfNuclearFuelLease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfPowerContractsEmissionCredits"
               id="us-gaap_AmortizationOfPowerContractsEmissionCredits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfRateDeferral" id="us-gaap_AmortizationOfRateDeferral"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="RestrictedStockExpense" id="us-gaap_RestrictedStockExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashCommissionAndClosingCosts"
               id="us-gaap_NoncashCommissionAndClosingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfCommodityContracts"
               id="us-gaap_GainLossOnSaleOfCommodityContracts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldDepreciation" id="us-gaap_CostOfGoodsSoldDepreciation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfOperatingPropertiesSold" id="us-gaap_CostOfOperatingPropertiesSold"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DepreciationCostOfServices" id="us-gaap_DepreciationCostOfServices"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDeferredGasCost"
               id="us-gaap_IncreaseDecreaseInDeferredGasCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredIncomeTaxes" id="us-gaap_DeferredIncomeTaxes"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="InvestmentTaxCredit" id="us-gaap_InvestmentTaxCredit"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredPurchasedPowerCosts" id="us-gaap_DeferredPurchasedPowerCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DepletionOfOilAndGasProperties"
               id="us-gaap_DepletionOfOilAndGasProperties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="Depreciation" id="us-gaap_Depreciation" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DepreciationAbstract" id="us-gaap_DepreciationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentForDepreciationAndDepletion"
               id="us-gaap_AdjustmentForDepreciationAndDepletion"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentForDepreciationDepletionAndAccretion"
               id="us-gaap_AdjustmentForDepreciationDepletionAndAccretion"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DepreciationPremisesAndEquipment"
               id="us-gaap_DepreciationPremisesAndEquipment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfDerivatives" id="us-gaap_GainLossOnSaleOfDerivatives"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EquityMethodInvestmentDividendsOrDistributions"
               id="us-gaap_EquityMethodInvestmentDividendsOrDistributions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncomeLossFromEquityUnconsolidatedRealEstatePartnerships"
               id="us-gaap_IncomeLossFromEquityUnconsolidatedRealEstatePartnerships"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeBenefitsAndStockBasedCompensation"
               id="us-gaap_EmployeeBenefitsAndStockBasedCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeBenefitsAndStockBasedCompensationAbstract"
               id="us-gaap_EmployeeBenefitsAndStockBasedCompensationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentForLongTermIntercompanyTransactionsAbstract"
               id="us-gaap_AdjustmentForLongTermIntercompanyTransactionsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentForLongTermIntercompanyTransactionsGrossOfTax"
               id="us-gaap_AdjustmentForLongTermIntercompanyTransactionsGrossOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentForLongTermIntercompanyTransactionsNetOfTax"
               id="us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ImpairmentOfLeasehold" id="us-gaap_ImpairmentOfLeasehold"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IssuanceOfStockAndWarrantsForServicesOrClaims"
               id="us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashMergerRelatedCosts" id="us-gaap_NoncashMergerRelatedCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentMinorityInterestInOperatingPartnerships"
               id="us-gaap_AdjustmentMinorityInterestInOperatingPartnerships"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentMinorityInterestInPartialInterest"
               id="us-gaap_AdjustmentMinorityInterestInPartialInterest"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfMortgageLoansNet"
               id="us-gaap_GainLossOnSaleOfMortgageLoansNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfNetInvestmentPremium"
               id="us-gaap_AmortizationOfNetInvestmentPremium"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentOtherMinorityInterest"
               id="us-gaap_AdjustmentOtherMinorityInterest"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInGasImbalanceReceivable"
               id="us-gaap_IncreaseDecreaseInGasImbalanceReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PensionAndEmployeeBenefitsExpense"
               id="us-gaap_PensionAndEmployeeBenefitsExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentPlantCapacity" id="us-gaap_AdjustmentPlantCapacity"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashProjectAbandonmentCosts"
               id="us-gaap_NoncashProjectAbandonmentCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfPropertyPlantEquipmentAbstract"
               id="us-gaap_GainLossOnSaleOfPropertyPlantEquipmentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="PurchaseOfOperatingProperties" id="us-gaap_PurchaseOfOperatingProperties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfOilAndGasProperty"
               id="us-gaap_GainLossOnSaleOfOilAndGasProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfOilAndGasPropertyAbstract"
               id="us-gaap_GainLossOnSaleOfOilAndGasPropertyAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfProperty" id="us-gaap_GainLossOnSaleOfProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfPropertyAbstract"
               id="us-gaap_GainLossOnSaleOfPropertyAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfProvedProperty"
               id="us-gaap_GainLossOnSaleOfProvedProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfTimberProperty"
               id="us-gaap_GainLossOnSaleOfTimberProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfUnprovedProperty"
               id="us-gaap_GainLossOnSaleOfUnprovedProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfOtherAssets" id="us-gaap_GainLossOnSaleOfOtherAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfEquityMethodInvestments"
               id="us-gaap_GainLossOnSaleOfEquityMethodInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfOtherInvestments"
               id="us-gaap_GainLossOnSaleOfOtherInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfProject" id="us-gaap_GainLossOnSaleOfProject"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentRealizedGainLossOnSaleOfProperty"
               id="us-gaap_AdjustmentRealizedGainLossOnSaleOfProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfDebtInvestments"
               id="us-gaap_GainLossOnSaleOfDebtInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfEquityInvestments"
               id="us-gaap_GainLossOnSaleOfEquityInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainLossOnSaleOfInvestmentProperties"
               id="us-gaap_GainLossOnSaleOfInvestmentProperties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ReclamationAndMineShutdownProvision"
               id="us-gaap_ReclamationAndMineShutdownProvision"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ReimbursementFromLimitedPartnershipInvestment"
               id="us-gaap_ReimbursementFromLimitedPartnershipInvestment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ImpairmentOfRetainedInterest" id="us-gaap_ImpairmentOfRetainedInterest"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="StockOptionPlanExpense" id="us-gaap_StockOptionPlanExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="StormDamageProvision" id="us-gaap_StormDamageProvision"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="UnrealizedGainsLossesDerivativesNetChangesBalances"
               id="us-gaap_UnrealizedGainsLossesDerivativesNetChangesBalances"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="UnrealizedGainLossOnEnergyContracts"
               id="us-gaap_UnrealizedGainLossOnEnergyContracts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="UnrealizedGainLossOnDerivativesAndCommodityContracts"
               id="us-gaap_UnrealizedGainLossOnDerivativesAndCommodityContracts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="UnrealizedGainLossOnDerivativesAndCommodityContractsAbstract"
               id="us-gaap_UnrealizedGainLossOnDerivativesAndCommodityContractsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="UnrealizedGainLossOnCommodityContracts"
               id="us-gaap_UnrealizedGainLossOnCommodityContracts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="UnrealizedGainLossOnInvestments"
               id="us-gaap_UnrealizedGainLossOnInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="UnrealizedGainLossOnInvestmentsAbstract"
               id="us-gaap_UnrealizedGainLossOnInvestmentsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentOfWarrantsGrantedForServices"
               id="us-gaap_AdjustmentOfWarrantsGrantedForServices"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="WriteOffOfInventory" id="us-gaap_WriteOffOfInventory"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentsToReconcileToIncomeLossFromContinuingOperations"
               id="us-gaap_AdjustmentsToReconcileToIncomeLossFromContinuingOperations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentsToReconcileToIncomeLossFromContinuingOperationsAbstract"
               id="us-gaap_AdjustmentsToReconcileToIncomeLossFromContinuingOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentsReconcileNetIncomeLossNetCashProvidedUsedOperations"
               id="us-gaap_AdjustmentsReconcileNetIncomeLossNetCashProvidedUsedOperations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentsToReconcileIncomeLossToNetCashProvidedByUsedInContinuingOperationsAbstract"
               id="us-gaap_AdjustmentsToReconcileIncomeLossToNetCashProvidedByUsedInContinuingOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdjustmentsOfRetainedEarningsAndAccumulatedOtherComprehensiveIncomeLossDueToApplicationOfMeasurementProvisionsAbstract"
               id="us-gaap_AdjustmentsOfRetainedEarningsAndAccumulatedOtherComprehensiveIncomeLossDueToApplicationOfMeasurementProvisionsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdministrativeFeesDescription" id="us-gaap_AdministrativeFeesDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdoptionDateOfSFAS156" id="us-gaap_AdoptionDateOfSFAS156"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdoptionOfSFAS158EmployersAccountingForDefinedBenefitPensionAndOtherPostretirementPlansAbstract"
               id="us-gaap_AdoptionOfSFAS158EmployersAccountingForDefinedBenefitPensionAndOtherPostretirementPlansAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvancePaymentsByBorrowersForTaxesAndInsurance"
               id="us-gaap_AdvancePaymentsByBorrowersForTaxesAndInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AdvancePaymentsByBorrowersForTaxesAndInsuranceDisclosureAbstract"
               id="us-gaap_AdvancePaymentsByBorrowersForTaxesAndInsuranceDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvancePaymentsByBorrowersForTaxesAndInsuranceAtFairValue"
               id="us-gaap_AdvancePaymentsByBorrowersForTaxesAndInsuranceAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AdvancePaymentsByBorrowersForTaxesAndInsuranceRelatedText"
               id="us-gaap_AdvancePaymentsByBorrowersForTaxesAndInsuranceRelatedText"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvancePaymentsByBorrowersForTaxesAndInsuranceSummary"
               id="us-gaap_AdvancePaymentsByBorrowersForTaxesAndInsuranceSummary"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvanceRent" id="us-gaap_AdvanceRent" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AdvancesFromFederalHomeLoanBanks"
               id="us-gaap_AdvancesFromFederalHomeLoanBanks"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AdvancesForGasExplorationDevelopmentAndProductionAmount"
               id="us-gaap_AdvancesForGasExplorationDevelopmentAndProductionAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AdvancesToAffiliate" id="us-gaap_AdvancesToAffiliate"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="Advertising" id="us-gaap_Advertising" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingBarterTransactions" id="us-gaap_AdvertisingBarterTransactions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingBarterTransactionsAdvertisingBarterCosts"
               id="us-gaap_AdvertisingBarterTransactionsAdvertisingBarterCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingBarterTransactionsAdvertisingBarterRevenue"
               id="us-gaap_AdvertisingBarterTransactionsAdvertisingBarterRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingBarterTransactionsIndeterminableFairValueDisclosure"
               id="us-gaap_AdvertisingBarterTransactionsIndeterminableFairValueDisclosure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingBarterTransactionsMember"
               id="us-gaap_AdvertisingBarterTransactionsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingCostsCapitalizedDirectResponseAdvertisingAmortization"
               id="us-gaap_AdvertisingCostsCapitalizedDirectResponseAdvertisingAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingCostsCapitalizedDirectResponseAdvertisingAssetAdditions"
               id="us-gaap_AdvertisingCostsCapitalizedDirectResponseAdvertisingAssetAdditions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingCostsCapitalizedDirectResponseAdvertisingWriteDown"
               id="us-gaap_AdvertisingCostsCapitalizedDirectResponseAdvertisingWriteDown"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingCostsPolicy" id="us-gaap_AdvertisingCostsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingCostsPolicyCapitalizedDirectResponseAdvertising"
               id="us-gaap_AdvertisingCostsPolicyCapitalizedDirectResponseAdvertising"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingCostsPolicyCapitalizedDirectResponseAdvertisingAmortizationPeriod"
               id="us-gaap_AdvertisingCostsPolicyCapitalizedDirectResponseAdvertisingAmortizationPeriod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingCostsPolicyCapitalizedDirectResponseAdvertisingDescriptionOfQualifyingActivity"
               id="us-gaap_AdvertisingCostsPolicyCapitalizedDirectResponseAdvertisingDescriptionOfQualifyingActivity"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingCostsPolicyCapitalizedDirectResponseAdvertisingTypesOfCostsCapitalized"
               id="us-gaap_AdvertisingCostsPolicyCapitalizedDirectResponseAdvertisingTypesOfCostsCapitalized"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingCostPolicyExpensedAdvertisingCost"
               id="us-gaap_AdvertisingCostPolicyExpensedAdvertisingCost"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingExpenseMember" id="us-gaap_AdvertisingExpenseMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingRevenue" id="us-gaap_AdvertisingRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AgedShortSecurityDifferences" id="us-gaap_AgedShortSecurityDifferences"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="RealEstateFederalIncomeTaxBasis"
               id="us-gaap_RealEstateFederalIncomeTaxBasis"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="GainLossOnDerivativeInstrumentsNetNetOfTax"
               id="us-gaap_GainLossOnDerivativeInstrumentsNetNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainOnDerivativeInstrumentsPretax"
               id="us-gaap_GainOnDerivativeInstrumentsPretax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="GainOnDerivativeInstrumentsNetOfTax"
               id="us-gaap_GainOnDerivativeInstrumentsNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="Indebtedness" id="us-gaap_Indebtedness" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="IndebtednessAbstract" id="us-gaap_IndebtednessAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LossOnDerivativeInstrumentsPretax"
               id="us-gaap_LossOnDerivativeInstrumentsPretax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="LossOnDerivativeInstrumentsNetOfTax"
               id="us-gaap_LossOnDerivativeInstrumentsNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AgriculturalRelatedInventory" id="us-gaap_AgriculturalRelatedInventory"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AgriculturalRelatedInventoryAbstract"
               id="us-gaap_AgriculturalRelatedInventoryAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AirTrafficLiability" id="us-gaap_AirTrafficLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AirlineRelatedInventoryAircraftFuel"
               id="us-gaap_AirlineRelatedInventoryAircraftFuel"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AirTransportationEquipmentMember"
               id="us-gaap_AirTransportationEquipmentMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AirlineRelatedInventoryAircraftParts"
               id="us-gaap_AirlineRelatedInventoryAircraftParts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AirlineRelatedInventory" id="us-gaap_AirlineRelatedInventory"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AirlineRelatedInventoryAbstract"
               id="us-gaap_AirlineRelatedInventoryAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllCertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelAtCarryingValue"
               id="us-gaap_AllCertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AllCertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelEndOfPeriodAtCarryingValue"
               id="us-gaap_AllCertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelEndOfPeriodAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AllCertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelEndOfPeriodAtCarryingValue"
               id="us-gaap_AllCertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelEndOfPeriodAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AllCertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesNotAccountedForUsingIncomeRecognitionModel"
               id="us-gaap_AllCertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesNotAccountedForUsingIncomeRecognitionModel"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AllocationOfStockCompensationGeneralAdministrative"
               id="us-gaap_AllocationOfStockCompensationGeneralAdministrative"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AllocationOfStockCompensationMarketingAndSelling"
               id="us-gaap_AllocationOfStockCompensationMarketingAndSelling"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AllocationOfStockCompensationOtherCostAndExpense"
               id="us-gaap_AllocationOfStockCompensationOtherCostAndExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AllocationOfStockCompensationResearchAndDevelopment"
               id="us-gaap_AllocationOfStockCompensationResearchAndDevelopment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AllocationsToPolicyholdersPolicies"
               id="us-gaap_AllocationsToPolicyholdersPolicies"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowableAssetsErroneouslyReportedAsNonallowable"
               id="us-gaap_AllowableAssetsErroneouslyReportedAsNonallowable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AllowanceForDoubtfulAccountsReceivableNoncurrent"
               id="us-gaap_AllowanceForDoubtfulAccountsReceivableNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AllowanceForDoubtfulAccountsContinuingOperationsMember"
               id="us-gaap_AllowanceForDoubtfulAccountsContinuingOperationsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForDoubtfulAccountsReceivableCurrent"
               id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AllowanceForDoubtfulAccountsCurrentMember"
               id="us-gaap_AllowanceForDoubtfulAccountsCurrentMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForDoubtfulAccountsDiscontinuedOperationsMember"
               id="us-gaap_AllowanceForDoubtfulAccountsDiscontinuedOperationsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForDoubtfulAccountsNoncurrentMember"
               id="us-gaap_AllowanceForDoubtfulAccountsNoncurrentMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForDoubtfulAccountsMember"
               id="us-gaap_AllowanceForDoubtfulAccountsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForFranchiseNotesReceivableMember"
               id="us-gaap_AllowanceForFranchiseNotesReceivableMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForFranchiseReceivablesMember"
               id="us-gaap_AllowanceForFranchiseReceivablesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForFundsUsedDuringConstructionMember"
               id="us-gaap_AllowanceForFundsUsedDuringConstructionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="InventoryValuationReserveMember"
               id="us-gaap_InventoryValuationReserveMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesMember"
               id="us-gaap_AllowanceForLoanAndLeaseLossesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesForeignCurrencyTranslation"
               id="us-gaap_AllowanceForLoanAndLeaseLossesForeignCurrencyTranslation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesLoansAcquired"
               id="us-gaap_AllowanceForLoanAndLeaseLossesLoansAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesLoansSold"
               id="us-gaap_AllowanceForLoanAndLeaseLossesLoansSold"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesRollForward"
               id="us-gaap_AllowanceForLoanAndLeaseLossesRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesPeriodIncreaseDecrease"
               id="us-gaap_AllowanceForLoanAndLeaseLossesPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesOtherAdjustmentsNet"
               id="us-gaap_AllowanceForLoanAndLeaseLossesOtherAdjustmentsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesProvisionForLossGross"
               id="us-gaap_AllowanceForLoanAndLeaseLossesProvisionForLossGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesProvisionForLossNet"
               id="us-gaap_AllowanceForLoanAndLeaseLossesProvisionForLossNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesRecoveriesOfBadDebts"
               id="us-gaap_AllowanceForLoanAndLeaseLossesRecoveriesOfBadDebts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLoanAndLeaseLossesWriteOffs"
               id="us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForLossesOnFinanceReceivablesMember"
               id="us-gaap_AllowanceForLossesOnFinanceReceivablesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForNotesReceivableCurrent"
               id="us-gaap_AllowanceForNotesReceivableCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AllowanceForNotesReceivableMember"
               id="us-gaap_AllowanceForNotesReceivableMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForPromotionsMember" id="us-gaap_AllowanceForPromotionsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForReceivableFromInsuranceProviderMember"
               id="us-gaap_AllowanceForReceivableFromInsuranceProviderMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForReinsuranceRecoverableMember"
               id="us-gaap_AllowanceForReinsuranceRecoverableMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForSalesReturnsMember"
               id="us-gaap_AllowanceForSalesReturnsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForTradeReceivablesMember"
               id="us-gaap_AllowanceForTradeReceivablesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="TimeSharingTransactionsAllowanceForUncollectibleAccounts"
               id="us-gaap_TimeSharingTransactionsAllowanceForUncollectibleAccounts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="TimeSharingTransactionsAllowanceForUncollectibleAccountsOnReceivablesSoldWithRecourse"
               id="us-gaap_TimeSharingTransactionsAllowanceForUncollectibleAccountsOnReceivablesSoldWithRecourse"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AllowanceForUncollectibleAgencyLoansMember"
               id="us-gaap_AllowanceForUncollectibleAgencyLoansMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForUncollectibleCustomersLiabilityForAcceptances"
               id="us-gaap_AllowanceForUncollectibleCustomersLiabilityForAcceptances"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AllowanceForUncollectibleDeductiblesMember"
               id="us-gaap_AllowanceForUncollectibleDeductiblesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForUncollectiblePremiumsReceivableMember"
               id="us-gaap_AllowanceForUncollectiblePremiumsReceivableMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllowanceForFundsUsedDuringConstruction"
               id="us-gaap_AllowanceForFundsUsedDuringConstruction"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AlternativeDisclosureOnProductiveWells"
               id="us-gaap_AlternativeDisclosureOnProductiveWells"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AlternativeExcessNetCapital" id="us-gaap_AlternativeExcessNetCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AlternativeNetCapitalRequirement"
               id="us-gaap_AlternativeNetCapitalRequirement"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="Amortization" id="us-gaap_Amortization" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfDeferredChargesAbstract"
               id="us-gaap_AmortizationOfDeferredChargesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationAcquisitionCosts" id="us-gaap_AmortizationAcquisitionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfCapitalizedValueOfBusinessAcquiredAsset"
               id="us-gaap_AmortizationOfCapitalizedValueOfBusinessAcquiredAsset"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldAmortization" id="us-gaap_CostOfGoodsSoldAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfDeferredLoanFees"
               id="us-gaap_AmortizationOfDeferredLoanFees"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfDeferredPolicyAcquisitionCosts"
               id="us-gaap_AmortizationOfDeferredPolicyAcquisitionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfDeferredSalesCommissions"
               id="us-gaap_AmortizationOfDeferredSalesCommissions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfDeferredSalesCommissionsMember"
               id="us-gaap_AmortizationOfDeferredSalesCommissionsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredFinanceCostAmortizationExpense"
               id="us-gaap_DeferredFinanceCostAmortizationExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="OtherDeferredCostAmortizationExpense"
               id="us-gaap_OtherDeferredCostAmortizationExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfFinancingCosts" id="us-gaap_AmortizationOfFinancingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfGoodwillMember" id="us-gaap_AmortizationOfGoodwillMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfIntangibleAssetsAndGoodwillMember"
               id="us-gaap_AmortizationOfIntangibleAssetsAndGoodwillMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IntangibleAssetsAmortizationExpense"
               id="us-gaap_IntangibleAssetsAmortizationExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfIntangiblesNonproductionMember"
               id="us-gaap_AmortizationOfIntangiblesNonproductionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfMortgageServicingRightsMSRs"
               id="us-gaap_AmortizationOfMortgageServicingRightsMSRs"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="OtherAmortizationOfDeferredCharges"
               id="us-gaap_OtherAmortizationOfDeferredCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationPeriodOfDeferredGainLossOnDiscontinuationOfFairValueHedge"
               id="us-gaap_AmortizationPeriodOfDeferredGainLossOnDiscontinuationOfFairValueHedge"
               type="us-types:durationStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationPeriodOfDeferredGainLossOnDiscontinuationOfForeignCurrencyFairValueHedge"
               id="us-gaap_AmortizationPeriodOfDeferredGainLossOnDiscontinuationOfForeignCurrencyFairValueHedge"
               type="us-types:durationStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationPeriodOfDeferredGainLossOnDiscontinuationOfInterestRateFairValueHedge"
               id="us-gaap_AmortizationPeriodOfDeferredGainLossOnDiscontinuationOfInterestRateFairValueHedge"
               type="us-types:durationStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationPeriodOfDeferredGainLossOnDiscontinuationOfPriceRiskFairValueHedge"
               id="us-gaap_AmortizationPeriodOfDeferredGainLossOnDiscontinuationOfPriceRiskFairValueHedge"
               type="us-types:durationStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfRegulatoryAsset" id="us-gaap_AmortizationOfRegulatoryAsset"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfRegulatoryAssetMember"
               id="us-gaap_AmortizationOfRegulatoryAssetMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfValueOfBusinessAcquiredVOBA"
               id="us-gaap_AmortizationOfValueOfBusinessAcquiredVOBA"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateIntercompanyProfitsIncludedInCarryingAmount"
               id="us-gaap_RealEstateIntercompanyProfitsIncludedInCarryingAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AmountAvailableForDividendDistributionWithApprovalFromRegulatoryAgencies"
               id="us-gaap_AmountAvailableForDividendDistributionWithApprovalFromRegulatoryAgencies"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AmountAvailableForDividendDistributionWithoutAffectingCapitalAdequacyRequirements"
               id="us-gaap_AmountAvailableForDividendDistributionWithoutAffectingCapitalAdequacyRequirements"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AmountAvailableForDividendDistributionWithoutPriorApprovalFromRegulatoryAgency"
               id="us-gaap_AmountAvailableForDividendDistributionWithoutPriorApprovalFromRegulatoryAgency"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashFlowHedgeGainLossReclassifiedToCostOfSalesNet"
               id="us-gaap_CashFlowHedgeGainLossReclassifiedToCostOfSalesNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainLossReclassifiedToEarningsNet"
               id="us-gaap_CashFlowHedgeGainLossReclassifiedToEarningsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainLossReclassifiedToInterestExpenseNet"
               id="us-gaap_CashFlowHedgeGainLossReclassifiedToInterestExpenseNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainLossReclassifiedToInvestmentIncomeNet"
               id="us-gaap_CashFlowHedgeGainLossReclassifiedToInvestmentIncomeNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainLossReclassifiedToOtherExpenseNet"
               id="us-gaap_CashFlowHedgeGainLossReclassifiedToOtherExpenseNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainLossReclassifiedToOtherIncomeNet"
               id="us-gaap_CashFlowHedgeGainLossReclassifiedToOtherIncomeNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainLossReclassifiedToRevenueNet"
               id="us-gaap_CashFlowHedgeGainLossReclassifiedToRevenueNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths"
               id="us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainReclassifiedToCostOfSales"
               id="us-gaap_CashFlowHedgeGainReclassifiedToCostOfSales"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainReclassifiedToEarnings"
               id="us-gaap_CashFlowHedgeGainReclassifiedToEarnings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainReclassifiedToInterestExpense"
               id="us-gaap_CashFlowHedgeGainReclassifiedToInterestExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainReclassifiedToInvestmentIncome"
               id="us-gaap_CashFlowHedgeGainReclassifiedToInvestmentIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainReclassifiedToOtherExpense"
               id="us-gaap_CashFlowHedgeGainReclassifiedToOtherExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainReclassifiedToOtherIncome"
               id="us-gaap_CashFlowHedgeGainReclassifiedToOtherIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeGainReclassifiedToRevenue"
               id="us-gaap_CashFlowHedgeGainReclassifiedToRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeLossReclassifiedToCostOfSales"
               id="us-gaap_CashFlowHedgeLossReclassifiedToCostOfSales"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeLossReclassifiedToEarnings"
               id="us-gaap_CashFlowHedgeLossReclassifiedToEarnings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeLossReclassifiedToInterestExpense"
               id="us-gaap_CashFlowHedgeLossReclassifiedToInterestExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeLossReclassifiedToInvestmentIncome"
               id="us-gaap_CashFlowHedgeLossReclassifiedToInvestmentIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeLossReclassifiedToOtherExpense"
               id="us-gaap_CashFlowHedgeLossReclassifiedToOtherExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeLossReclassifiedToOtherIncome"
               id="us-gaap_CashFlowHedgeLossReclassifiedToOtherIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeLossReclassifiedToRevenue"
               id="us-gaap_CashFlowHedgeLossReclassifiedToRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CumulativeTranslationAdjustmentReclassifiedToEarningsLossGainNetOfTax"
               id="us-gaap_CumulativeTranslationAdjustmentReclassifiedToEarningsLossGainNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AmountOfDeferredCostsRelatedToLongTermContracts"
               id="us-gaap_AmountOfDeferredCostsRelatedToLongTermContracts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredGainLossOnDiscontinuationOfFairValueHedge"
               id="us-gaap_DeferredGainLossOnDiscontinuationOfFairValueHedge"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredGainLossOnDiscontinuationOfForeignCurrencyFairValueHedge"
               id="us-gaap_DeferredGainLossOnDiscontinuationOfForeignCurrencyFairValueHedge"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredGainLossOnDiscontinuationOfInterestRateFairValueHedge"
               id="us-gaap_DeferredGainLossOnDiscontinuationOfInterestRateFairValueHedge"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredGainLossOnDiscontinuationOfPriceRiskFairValueHedge"
               id="us-gaap_DeferredGainLossOnDiscontinuationOfPriceRiskFairValueHedge"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ForeignCurrencyCashFlowHedgeGainLossReclassifiedToEarningsNet"
               id="us-gaap_ForeignCurrencyCashFlowHedgeGainLossReclassifiedToEarningsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months"
               id="us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AmountOfGainLossRelatedToIrrevocableElectionToReclassifyAvailableForSaleSecuritiesToTradingSecuritiesUponAdoptionOfSFAS156"
               id="us-gaap_AmountOfGainLossRelatedToIrrevocableElectionToReclassifyAvailableForSaleSecuritiesToTradingSecuritiesUponAdoptionOfSFAS156"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AmountOfIneffectivenessOnNetInvestmentHedges"
               id="us-gaap_AmountOfIneffectivenessOnNetInvestmentHedges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="InterestRateCashFlowHedgeGainLossReclassifiedToEarningsNet"
               id="us-gaap_InterestRateCashFlowHedgeGainLossReclassifiedToEarningsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="InterestRateCashFlowHedgeGainLossToBeReclassifiedDuringNext12MonthsNet"
               id="us-gaap_InterestRateCashFlowHedgeGainLossToBeReclassifiedDuringNext12MonthsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="PriceRiskCashFlowHedgeGainLossReclassifiedToEarningsNet"
               id="us-gaap_PriceRiskCashFlowHedgeGainLossReclassifiedToEarningsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="PriceRiskCashFlowHedgeUnrealizedGainLossToBeReclassifiedDuringNext12Months"
               id="us-gaap_PriceRiskCashFlowHedgeUnrealizedGainLossToBeReclassifiedDuringNext12Months"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="TranslationAdjustmentForNetInvestmentHedgeLossGainOnReclassifiedOfEarningsNetOfTax"
               id="us-gaap_TranslationAdjustmentForNetInvestmentHedgeLossGainOnReclassifiedOfEarningsNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="TranslationAdjustmentFunctionalToReportingCurrencyLossGainOnReclassifiedOfEarningsNetOfTax"
               id="us-gaap_TranslationAdjustmentFunctionalToReportingCurrencyLossGainOnReclassifiedOfEarningsNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DueFromAffiliateUnclassified" id="us-gaap_DueFromAffiliateUnclassified"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AmountsDueFromAffiliatesCurrent"
               id="us-gaap_AmountsDueFromAffiliatesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AmountsDueFromAffiliatesNoncurrent"
               id="us-gaap_AmountsDueFromAffiliatesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromEmployeesUnclassified" id="us-gaap_DueFromEmployeesUnclassified"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromEmployeesCurrent" id="us-gaap_DueFromEmployeesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromEmployeesNoncurrent" id="us-gaap_DueFromEmployeesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromJointVenturesUnclassified"
               id="us-gaap_DueFromJointVenturesUnclassified"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromJointVenturesCurrent" id="us-gaap_DueFromJointVenturesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromJointVenturesNoncurrent"
               id="us-gaap_DueFromJointVenturesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromOtherRelatedPartiesUnclassified"
               id="us-gaap_DueFromOtherRelatedPartiesUnclassified"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromOtherRelatedPartiesCurrent"
               id="us-gaap_DueFromOtherRelatedPartiesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromOtherRelatedPartiesNoncurrent"
               id="us-gaap_DueFromOtherRelatedPartiesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromRelatedPartiesUnclassified"
               id="us-gaap_DueFromRelatedPartiesUnclassified"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AmountsDueToAffiliatesCurrent" id="us-gaap_AmountsDueToAffiliatesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AmountsDueToAffiliatesNoncurrent"
               id="us-gaap_AmountsDueToAffiliatesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToEmployees" id="us-gaap_DueToEmployees" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToEmployeesNoncurrent" id="us-gaap_DueToEmployeesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToOtherRelatedPartiesCurrent"
               id="us-gaap_DueToOtherRelatedPartiesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToOtherRelatedPartiesNoncurrent"
               id="us-gaap_DueToOtherRelatedPartiesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToRelatedParties" id="us-gaap_DueToRelatedParties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToRelatedPartiesCurrentAndUnclassifiedAbstract"
               id="us-gaap_DueToRelatedPartiesCurrentAndUnclassifiedAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmountsDueToRelatedPartiesNoncurrent"
               id="us-gaap_AmountsDueToRelatedPartiesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToRelatedPartiesNoncurrentAbstract"
               id="us-gaap_DueToRelatedPartiesNoncurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ReceivableFromOfficersAndDirectorsForLoans"
               id="us-gaap_ReceivableFromOfficersAndDirectorsForLoans"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ReceivableFromShareholdersOrAffiliates"
               id="us-gaap_ReceivableFromShareholdersOrAffiliates"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AncillaryFeeIncomeGeneratedByServicingFinancialAssetsAmount"
               id="us-gaap_AncillaryFeeIncomeGeneratedByServicingFinancialAssetsAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AncillaryFeeIncomeGeneratedByServicingFinancialAssetsDescriptionOfWhereReportedOnStatementOfIncome"
               id="us-gaap_AncillaryFeeIncomeGeneratedByServicingFinancialAssetsDescriptionOfWhereReportedOnStatementOfIncome"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AnnuitizationBenefitMember" id="us-gaap_AnnuitizationBenefitMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AntidilutiveSharesOutstanding" id="us-gaap_AntidilutiveSharesOutstanding"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EnvironmentalCostsOfPropertyForSaleDisposalOrAbandonmentAnticipatedExitCosts"
               id="us-gaap_EnvironmentalCostsOfPropertyForSaleDisposalOrAbandonmentAnticipatedExitCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AnticipatedInvestmentIncomeAsComponentOfPremiumDeficiencyOnShortDurationContractsPolicy"
               id="us-gaap_AnticipatedInvestmentIncomeAsComponentOfPremiumDeficiencyOnShortDurationContractsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContingentlyIssuableSharesMember"
               id="us-gaap_ContingentlyIssuableSharesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertibleDebtSecuritiesMember"
               id="us-gaap_ConvertibleDebtSecuritiesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EquityForwardAgreementsMember" id="us-gaap_EquityForwardAgreementsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EquityUnitPurchaseAgreementsMember"
               id="us-gaap_EquityUnitPurchaseAgreementsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OutstandingStockAwardsMember" id="us-gaap_OutstandingStockAwardsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RestrictedStockMember" id="us-gaap_RestrictedStockMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="StockCompensationPlanMember" id="us-gaap_StockCompensationPlanMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="StockOptionsMember" id="us-gaap_StockOptionsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="WarrantsMember" id="us-gaap_WarrantsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ApplicabilityImpactAndConclusionOfEnvironmentalLossContingenciesAbstract"
               id="us-gaap_ApplicabilityImpactAndConclusionOfEnvironmentalLossContingenciesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ApplicabilityAndImpactOfEnvironmentalLaws"
               id="us-gaap_ApplicabilityAndImpactOfEnvironmentalLaws"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForAsbestosAndEnvironmentalClaimsAbstract"
               id="us-gaap_LiabilityForAsbestosAndEnvironmentalClaimsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForAsbestosAndEnvironmentalClaimsDescription"
               id="us-gaap_LiabilityForAsbestosAndEnvironmentalClaimsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForAsbestosAndEnvironmentalClaimsNetClaimsPaid"
               id="us-gaap_LiabilityForAsbestosAndEnvironmentalClaimsNetClaimsPaid"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForAsbestosAndEnvironmentalClaimsGross"
               id="us-gaap_LiabilityForAsbestosAndEnvironmentalClaimsGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="LiabilityForAsbestosAndEnvironmentalClaimsGrossIncurredLoss"
               id="us-gaap_LiabilityForAsbestosAndEnvironmentalClaimsGrossIncurredLoss"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForAsbestosAndEnvironmentalClaimsNetIncurredLoss"
               id="us-gaap_LiabilityForAsbestosAndEnvironmentalClaimsNetIncurredLoss"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForAsbestosAndEnvironmentalClaimsNet"
               id="us-gaap_LiabilityForAsbestosAndEnvironmentalClaimsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="LiabilityForAsbestosAndEnvironmentalClaimsRollForward"
               id="us-gaap_LiabilityForAsbestosAndEnvironmentalClaimsRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForAsbestosAndEnvironmentalClaimsNetRollForward"
               id="us-gaap_LiabilityForAsbestosAndEnvironmentalClaimsNetRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForAsbestosAndEnvironmentalClaimsMethodologyAndAssumptions"
               id="us-gaap_LiabilityForAsbestosAndEnvironmentalClaimsMethodologyAndAssumptions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetBackedSecuritiesAtCarryingValue"
               id="us-gaap_AssetBackedSecuritiesAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetBackedSecuritiesMember" id="us-gaap_AssetBackedSecuritiesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionAssetDescriptionDomain"
               id="us-gaap_AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionAssetDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionIncomeStatementClassificationOfGainLossOnDisposal"
               id="us-gaap_AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionIncomeStatementClassificationOfGainLossOnDisposal"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionGainLossOnDisposition"
               id="us-gaap_AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionGainLossOnDisposition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionMethodOfDisposal"
               id="us-gaap_AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionMethodOfDisposal"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionSegmentClassification"
               id="us-gaap_AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionSegmentClassification"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionAxis"
               id="us-gaap_AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionLineItems"
               id="us-gaap_AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionTable"
               id="us-gaap_AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveries"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveries"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesAmount"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesBalanceSheetClassificationAbstract"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesBalanceSheetClassificationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesCaption"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesCaption"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesComponents"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesComponents"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesCurrent"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesDiscount"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesDiscount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesDiscountRate"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesDiscountRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesNet"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesNet"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesNoncurrent"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesReconciliationOfUndiscountedAmountToRecordedBalanceAbstract"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesReconciliationOfUndiscountedAmountToRecordedBalanceAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesUndiscounted"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesUndiscounted"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldForSaleCarryingAmount"
               id="us-gaap_AssetsHeldForSaleCarryingAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldForSaleDescriptionDomain"
               id="us-gaap_AssetsHeldForSaleDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsHeldForSaleGainLossOnSale"
               id="us-gaap_AssetsHeldForSaleGainLossOnSale"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldForSaleImpairmentCharge"
               id="us-gaap_AssetsHeldForSaleImpairmentCharge"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldForSaleProceedsFromSale"
               id="us-gaap_AssetsHeldForSaleProceedsFromSale"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldForSaleAxis" id="us-gaap_AssetsHeldForSaleAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsHeldForSaleLineItems" id="us-gaap_AssetsHeldForSaleLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsHeldForSaleTable" id="us-gaap_AssetsHeldForSaleTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetImpairmentCharge" id="us-gaap_AssetImpairmentCharge"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetImpairmentChargesAbstract"
               id="us-gaap_AssetImpairmentChargesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherAssetImpairmentCharges" id="us-gaap_OtherAssetImpairmentCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetImpairmentForRegulatoryActionMember"
               id="us-gaap_AssetImpairmentForRegulatoryActionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetManagementFees" id="us-gaap_AssetManagementFees"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetManagementFeesAbstract" id="us-gaap_AssetManagementFeesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetOrLiabilityFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueAtCarryingValue"
               id="us-gaap_AssetOrLiabilityFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetOrLiabilityFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueDescriptionDomain"
               id="us-gaap_AssetOrLiabilityFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetOrLiabilityFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueReasonWhyNotEstimated"
               id="us-gaap_AssetOrLiabilityFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueReasonWhyNotEstimated"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRecoverableGasCostsMember"
               id="us-gaap_AssetRecoverableGasCostsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="AssetRecoveryDamagedPropertyCostsCurrent"
               id="us-gaap_AssetRecoveryDamagedPropertyCostsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetRetirementObligation" id="us-gaap_AssetRetirementObligation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetRetirementObligationAbstract"
               id="us-gaap_AssetRetirementObligationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationCashPaidToSettle"
               id="us-gaap_AssetRetirementObligationCashPaidToSettle"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationCostsMember"
               id="us-gaap_AssetRetirementObligationCostsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationCurrent"
               id="us-gaap_AssetRetirementObligationCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetRetirementObligationDisclosureTextBlock"
               id="us-gaap_AssetRetirementObligationDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationAccretionExpense"
               id="us-gaap_AssetRetirementObligationAccretionExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationForeignCurrencyTranslation"
               id="us-gaap_AssetRetirementObligationForeignCurrencyTranslation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationPeriodIncreaseDecrease"
               id="us-gaap_AssetRetirementObligationPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationLegallyRestrictedAsset"
               id="us-gaap_AssetRetirementObligationLegallyRestrictedAsset"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetRetirementObligationLegallyRestrictedAssetDescription"
               id="us-gaap_AssetRetirementObligationLegallyRestrictedAssetDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationLiabilitiesIncurred"
               id="us-gaap_AssetRetirementObligationLiabilitiesIncurred"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationLiabilitiesSettled"
               id="us-gaap_AssetRetirementObligationLiabilitiesSettled"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationLiabilityNotRecognized"
               id="us-gaap_AssetRetirementObligationLiabilityNotRecognized"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationRollForwardAnalysisRollForward"
               id="us-gaap_AssetRetirementObligationRollForwardAnalysisRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationsNoncurrent"
               id="us-gaap_AssetRetirementObligationsNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetRetirementObligationRevisionOfEstimate"
               id="us-gaap_AssetRetirementObligationRevisionOfEstimate"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationSignificantChanges"
               id="us-gaap_AssetRetirementObligationSignificantChanges"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationsAndEnvironmentalCostPolicy"
               id="us-gaap_AssetRetirementObligationsAndEnvironmentalCostPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetRetirementObligationsPolicy"
               id="us-gaap_AssetRetirementObligationsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountingPoliciesEnvironmentalCosts"
               id="us-gaap_AccountingPoliciesEnvironmentalCosts"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EnvironmentalCostsCapitalizationPolicy"
               id="us-gaap_EnvironmentalCostsCapitalizationPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EnvironmentalCostExpensePolicy"
               id="us-gaap_EnvironmentalCostExpensePolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetUnderConstructionMember" id="us-gaap_AssetUnderConstructionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsDesignatedToClosedBlock" id="us-gaap_AssetsDesignatedToClosedBlock"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDesignatedToClosedBlockAbstract"
               id="us-gaap_AssetsDesignatedToClosedBlockAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsDesignatedToClosedBlockCashAndCashEquivalents"
               id="us-gaap_AssetsDesignatedToClosedBlockCashAndCashEquivalents"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDesignatedToClosedBlockEquitySecuritiesAtFairValue"
               id="us-gaap_AssetsDesignatedToClosedBlockEquitySecuritiesAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDesignatedToClosedBlockFixedMaturitiesHeldToMaturityAtAmortizedCost"
               id="us-gaap_AssetsDesignatedToClosedBlockFixedMaturitiesHeldToMaturityAtAmortizedCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDesignatedToClosedBlockMortgageLoansOnRealEstate"
               id="us-gaap_AssetsDesignatedToClosedBlockMortgageLoansOnRealEstate"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDesignatedToClosedBlockOtherClosedBlockAssets"
               id="us-gaap_AssetsDesignatedToClosedBlockOtherClosedBlockAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDesignatedToClosedBlockPolicyLoans"
               id="us-gaap_AssetsDesignatedToClosedBlockPolicyLoans"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDesignatedToClosedBlockRealEstate"
               id="us-gaap_AssetsDesignatedToClosedBlockRealEstate"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDesignatedToClosedBlockShortTermInvestments"
               id="us-gaap_AssetsDesignatedToClosedBlockShortTermInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDiscontinuedOperationsCurrent"
               id="us-gaap_AssetsDiscontinuedOperationsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDiscontinuedOperationsNoncurrent"
               id="us-gaap_AssetsDiscontinuedOperationsNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionAbstract"
               id="us-gaap_AssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RecordedThirdPartyRecoveriesRelatedToEnvironmentalRemediationObligationsAbstract"
               id="us-gaap_RecordedThirdPartyRecoveriesRelatedToEnvironmentalRemediationObligationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EnergyMarketingContractsAssetsCurrent"
               id="us-gaap_EnergyMarketingContractsAssetsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="PropertyPlantAndEquipmentAssetsHeldForSaleDisclosureAbstract"
               id="us-gaap_PropertyPlantAndEquipmentAssetsHeldForSaleDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsHeldSaleCurrent" id="us-gaap_AssetsHeldSaleCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldForSaleAtCarryingValue"
               id="us-gaap_AssetsHeldForSaleAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldSaleNoncurrent" id="us-gaap_AssetsHeldSaleNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldForSaleLongLivedAbstract"
               id="us-gaap_AssetsHeldForSaleLongLivedAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsLeasedToOthersNet" id="us-gaap_AssetsLeasedToOthersNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="StatementOfFinancialPositionAbstract"
               id="us-gaap_StatementOfFinancialPositionAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsOfDiscontinuedOperations"
               id="us-gaap_AssetsOfDiscontinuedOperations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsOrLiabilitiesFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueCarryingAmount"
               id="us-gaap_AssetsOrLiabilitiesFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueCarryingAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsOrLiabilitiesFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueAbstract"
               id="us-gaap_AssetsOrLiabilitiesFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsOrLiabilitiesFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueAxis"
               id="us-gaap_AssetsOrLiabilitiesFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsOrLiabilitiesFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueLineItems"
               id="us-gaap_AssetsOrLiabilitiesFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsOrLiabilitiesFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueTable"
               id="us-gaap_AssetsOrLiabilitiesFromTransfersOfFinancialAssetsHavingNoReasonableEstimateOfFairValueTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateHeldForDevelopmentAndSaleSubsidiary"
               id="us-gaap_RealEstateHeldForDevelopmentAndSaleSubsidiary"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsSoldUnderAgreementsToRepurchaseInterestRate"
               id="us-gaap_AssetsSoldUnderAgreementsToRepurchaseInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsSoldUnderAgreementsToRepurchaseTypeDomain"
               id="us-gaap_AssetsSoldUnderAgreementsToRepurchaseTypeDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsSoldUnderAgreementsToRepurchaseAxis"
               id="us-gaap_AssetsSoldUnderAgreementsToRepurchaseAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsSoldUnderAgreementsToRepurchaseCarryingAmounts"
               id="us-gaap_AssetsSoldUnderAgreementsToRepurchaseCarryingAmounts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsSoldUnderAgreementsToRepurchaseLineItems"
               id="us-gaap_AssetsSoldUnderAgreementsToRepurchaseLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsSoldUnderAgreementsToRepurchaseMarketValue"
               id="us-gaap_AssetsSoldUnderAgreementsToRepurchaseMarketValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsSoldUnderAgreementsToRepurchaseRepurchaseLiability"
               id="us-gaap_AssetsSoldUnderAgreementsToRepurchaseRepurchaseLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsSoldUnderAgreementsToRepurchaseTable"
               id="us-gaap_AssetsSoldUnderAgreementsToRepurchaseTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsTotalMember" id="us-gaap_AssetsTotalMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsOfWhollyOwnedRealEstateInvestmentSubsidiaries"
               id="us-gaap_AssetsOfWhollyOwnedRealEstateInvestmentSubsidiaries"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssumedPremiumsEarned" id="us-gaap_AssumedPremiumsEarned"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssumedPremiumsEarnedAccidentAndHealth"
               id="us-gaap_AssumedPremiumsEarnedAccidentAndHealth"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssumedPremiumsEarnedLife" id="us-gaap_AssumedPremiumsEarnedLife"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssumedPremiumsEarnedOtherInsurance"
               id="us-gaap_AssumedPremiumsEarnedOtherInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssumedPremiumsEarnedPropertyAndCasualty"
               id="us-gaap_AssumedPremiumsEarnedPropertyAndCasualty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssumedPremiumsWritten" id="us-gaap_AssumedPremiumsWritten"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssumedPremiumsWrittenAccidentAndHealth"
               id="us-gaap_AssumedPremiumsWrittenAccidentAndHealth"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssumedPremiumsWrittenLife" id="us-gaap_AssumedPremiumsWrittenLife"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssumedPremiumsWrittenOtherInsurance"
               id="us-gaap_AssumedPremiumsWrittenOtherInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssumedPremiumsWrittenPropertyAndCasualty"
               id="us-gaap_AssumedPremiumsWrittenPropertyAndCasualty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesDiscountRate"
               id="us-gaap_AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesDiscountRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesExpectedCreditLosses"
               id="us-gaap_AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesExpectedCreditLosses"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesOtherKeyAssumptionRateOrValue"
               id="us-gaap_AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesOtherKeyAssumptionRateOrValue"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesPrepaymentSpeed"
               id="us-gaap_AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesPrepaymentSpeed"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesStaticPoolLosses"
               id="us-gaap_AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesStaticPoolLosses"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesWeightedAverageLife"
               id="us-gaap_AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesWeightedAverageLife"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesDiscountRate"
               id="us-gaap_AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesDiscountRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesExpectedCreditLosses"
               id="us-gaap_AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesExpectedCreditLosses"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesOtherKeyAssumptionValue"
               id="us-gaap_AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesOtherKeyAssumptionValue"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesPrepaymentSpeed"
               id="us-gaap_AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesPrepaymentSpeed"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesTypeOfFinancialAsset"
               id="us-gaap_AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesTypeOfFinancialAsset"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesWeightedAverageLife"
               id="us-gaap_AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesWeightedAverageLife"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesAbstract"
               id="us-gaap_AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesAsOfBalanceSheetDateAbstract"
               id="us-gaap_AssumptionForFairValueOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesAsOfBalanceSheetDateAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueAsOfBalanceSheetDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesAxis"
               id="us-gaap_AssumptionForFairValueAsOfBalanceSheetDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueAsOfBalanceSheetDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesLineItems"
               id="us-gaap_AssumptionForFairValueAsOfBalanceSheetDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueAsOfBalanceSheetDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesTable"
               id="us-gaap_AssumptionForFairValueAsOfBalanceSheetDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesAxis"
               id="us-gaap_AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesLineItems"
               id="us-gaap_AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesTable"
               id="us-gaap_AssumptionForFairValueOnSecuritizationDateOfInterestsContinuedToBeHeldByTransferorServicingAssetsOrLiabilitiesTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesAbstract"
               id="us-gaap_AuctionMarketPreferredSecuritiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecurities"
               id="us-gaap_AuctionMarketPreferredSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AuctionMarketPreferredSecuritiesDisclosure"
               id="us-gaap_AuctionMarketPreferredSecuritiesDisclosure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesDividendCumulativeUndistributed"
               id="us-gaap_AuctionMarketPreferredSecuritiesDividendCumulativeUndistributed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AuctionMarketPreferredSecuritiesDividendPaidFromCapital"
               id="us-gaap_AuctionMarketPreferredSecuritiesDividendPaidFromCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesDividendPaidFromEarnings"
               id="us-gaap_AuctionMarketPreferredSecuritiesDividendPaidFromEarnings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesDividendPaidFromEarningsAndCapital"
               id="us-gaap_AuctionMarketPreferredSecuritiesDividendPaidFromEarningsAndCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesPerShare"
               id="us-gaap_AuctionMarketPreferredSecuritiesPerShare"
               type="us-types:perShareItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AuctionMarketPreferredSecuritiesSharesIssued"
               id="us-gaap_AuctionMarketPreferredSecuritiesSharesIssued"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesSharesOutstanding"
               id="us-gaap_AuctionMarketPreferredSecuritiesSharesOutstanding"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="AuctionMarketPreferredSecuritiesSharesRedeemed"
               id="us-gaap_AuctionMarketPreferredSecuritiesSharesRedeemed"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSharesOutstandingPeriodIncreaseDecrease"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSharesOutstandingPeriodIncreaseDecrease"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesValue"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesLiquidationPreference"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesLiquidationPreference"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesLiquidationValue"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesLiquidationValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesParValue"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesParValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesRateSettingInterval"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesRateSettingInterval"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesRedemptionRequirements"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesRedemptionRequirements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesScheduleOfDividendDistributionsAbstract"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesScheduleOfDividendDistributionsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesSharesAuthorized"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesSharesAuthorized"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="MovementInAuctionMarketPreferredSecuritiesSharesOutstandingRollForward"
               id="us-gaap_MovementInAuctionMarketPreferredSecuritiesSharesOutstandingRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesTitleDomain"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesTitleDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesVariableInterestRateEarned"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesVariableInterestRateEarned"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesAxis"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesLineItems"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuctionMarketPreferredSecuritiesStockSeriesTable"
               id="us-gaap_AuctionMarketPreferredSecuritiesStockSeriesTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AuditAdjustmentsToRecordAdditionalCompensation"
               id="us-gaap_AuditAdjustmentsToRecordAdditionalCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AutomobileLoanMember" id="us-gaap_AutomobileLoanMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LoansAndLeasesReceivableConsumerInstallmentDurableGoods"
               id="us-gaap_LoansAndLeasesReceivableConsumerInstallmentDurableGoods"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AvailableForSaleSecuritiesGrossRealizedGainsLossesCostBasisMethodologyOfSecuritiesSold"
               id="us-gaap_AvailableForSaleSecuritiesGrossRealizedGainsLossesCostBasisMethodologyOfSecuritiesSold"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AvailableForSaleSecuritiesChangeInNetUnrealizedHoldingGainLoss"
               id="us-gaap_AvailableForSaleSecuritiesChangeInNetUnrealizedHoldingGainLoss"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AvailableForSaleSecuritiesChangeInNetUnrealizedHoldingGainLossNetOfTax"
               id="us-gaap_AvailableForSaleSecuritiesChangeInNetUnrealizedHoldingGainLossNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AvailableForSaleSecuritiesGrossRealizedGains"
               id="us-gaap_AvailableForSaleSecuritiesGrossRealizedGains"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AvailableForSaleSecuritiesGrossRealizedLosses"
               id="us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AvailableForSaleSecuritiesIncomeTaxExpenseOnChangeInUnrealizedHoldingGainOrLoss"
               id="us-gaap_AvailableForSaleSecuritiesIncomeTaxExpenseOnChangeInUnrealizedHoldingGainOrLoss"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AvailableForSaleSecuritiesMember"
               id="us-gaap_AvailableForSaleSecuritiesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AvailableForSaleSecuritiesGrossRealizedGainLossNet"
               id="us-gaap_AvailableForSaleSecuritiesGrossRealizedGainLossNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AvailableForSaleSecuritiesGrossRealizedGainsLossesSaleProceeds"
               id="us-gaap_AvailableForSaleSecuritiesGrossRealizedGainsLossesSaleProceeds"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AvailableForSaleSecuritiesUnrealizedHoldingGainLossArisingDuringPeriod"
               id="us-gaap_AvailableForSaleSecuritiesUnrealizedHoldingGainLossArisingDuringPeriod"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AverageBalanceDuringPeriodOfLoansHeldForSaleOrSecuritization"
               id="us-gaap_AverageBalanceDuringPeriodOfLoansHeldForSaleOrSecuritization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AverageBalanceDuringPeriodOfLoansHeldInPortfolio"
               id="us-gaap_AverageBalanceDuringPeriodOfLoansHeldInPortfolio"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AverageBalanceDuringPeriodOfLoansHeldInPortfolioAbstract"
               id="us-gaap_AverageBalanceDuringPeriodOfLoansHeldInPortfolioAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AverageBalanceDuringPeriodOfLoansManagedAndSecuritized"
               id="us-gaap_AverageBalanceDuringPeriodOfLoansManagedAndSecuritized"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AverageBalanceDuringPeriodOfLoansSecuritized"
               id="us-gaap_AverageBalanceDuringPeriodOfLoansSecuritized"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AverageProductionCostInformation"
               id="us-gaap_AverageProductionCostInformation"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AverageRemainingMaturityOfForeignCurrencyDerivatives"
               id="us-gaap_AverageRemainingMaturityOfForeignCurrencyDerivatives"
               type="us-types:durationStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="AverageTermOfCreditRiskDerivatives"
               id="us-gaap_AverageTermOfCreditRiskDerivatives"
               type="us-types:durationStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BadDebtReserveForTaxPurposesOfUSSavingsAndLoanAssociationsOrOtherQualifiedThriftLenderMember"
               id="us-gaap_BadDebtReserveForTaxPurposesOfUSSavingsAndLoanAssociationsOrOtherQualifiedThriftLenderMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BalanceSheetRelatedDisclosuresAbstract"
               id="us-gaap_BalanceSheetRelatedDisclosuresAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankAcceptancesExecuted" id="us-gaap_BankAcceptancesExecuted"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BankAcceptancesExecutedAndOutstanding"
               id="us-gaap_BankAcceptancesExecutedAndOutstanding"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="LoansToFinanceLeveragedBuyout" id="us-gaap_LoansToFinanceLeveragedBuyout"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="BankOverdrafts" id="us-gaap_BankOverdrafts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BankOverdraftsMember" id="us-gaap_BankOverdraftsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankOwnedLifeInsurance" id="us-gaap_BankOwnedLifeInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="TimeDepositsAtCarryingValue" id="us-gaap_TimeDepositsAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BankersAcceptanceMember" id="us-gaap_BankersAcceptanceMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankersAcceptance" id="us-gaap_BankersAcceptance"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankersAcceptancesAbstract" id="us-gaap_BankersAcceptancesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="FinancialInstrumentsSoldNotYetPurchasedMortgagesMortgageBackedAndAssetBackedSecurities"
               id="us-gaap_FinancialInstrumentsSoldNotYetPurchasedMortgagesMortgageBackedAndAssetBackedSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BankingAndThriftDisclosureTextBlock"
               id="us-gaap_BankingAndThriftDisclosureTextBlock"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyClaimsAbstract" id="us-gaap_BankruptcyClaimsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyClaimsAmountOfClaimsExpungedByBankruptcyCourt"
               id="us-gaap_BankruptcyClaimsAmountOfClaimsExpungedByBankruptcyCourt"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyClaimsAmountOfClaimsFiled"
               id="us-gaap_BankruptcyClaimsAmountOfClaimsFiled"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyClaimsAmountOfClaimsSettled"
               id="us-gaap_BankruptcyClaimsAmountOfClaimsSettled"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyClaimsAmountOfClaimsUnderReviewByManagement"
               id="us-gaap_BankruptcyClaimsAmountOfClaimsUnderReviewByManagement"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyClaimsAmountOfFiledClaimsLikelyToBeDenied"
               id="us-gaap_BankruptcyClaimsAmountOfFiledClaimsLikelyToBeDenied"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyClaimsAmountPaidToSettleClaims"
               id="us-gaap_BankruptcyClaimsAmountPaidToSettleClaims"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyClaimsDateByWhichContractsMustBeRejectedByDebtor"
               id="us-gaap_BankruptcyClaimsDateByWhichContractsMustBeRejectedByDebtor"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyClaimsDescriptionOfClaims"
               id="us-gaap_BankruptcyClaimsDescriptionOfClaims"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyClaimsDescriptionOfClaimsUnderReviewByManagement"
               id="us-gaap_BankruptcyClaimsDescriptionOfClaimsUnderReviewByManagement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyClaimsDescriptionOfMaterialContractsAssumedOrAssigned"
               id="us-gaap_BankruptcyClaimsDescriptionOfMaterialContractsAssumedOrAssigned"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyClaimsDescriptionOfMaterialContractsRejected"
               id="us-gaap_BankruptcyClaimsDescriptionOfMaterialContractsRejected"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyClaimsLastDateToFileClaimsWithBankruptcyCourt"
               id="us-gaap_BankruptcyClaimsLastDateToFileClaimsWithBankruptcyCourt"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyClaimsNumberOfClaimsExpungedByBankruptcyCourt"
               id="us-gaap_BankruptcyClaimsNumberOfClaimsExpungedByBankruptcyCourt"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyClaimsNumberClaimsFiled"
               id="us-gaap_BankruptcyClaimsNumberClaimsFiled"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyClaimsNumberOfClaimsSettled"
               id="us-gaap_BankruptcyClaimsNumberOfClaimsSettled"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyClaimsNumberOfClaimsUnderReviewByManagement"
               id="us-gaap_BankruptcyClaimsNumberOfClaimsUnderReviewByManagement"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyClaimsNumberOfFiledClaimsLikelyToBeDenied"
               id="us-gaap_BankruptcyClaimsNumberOfFiledClaimsLikelyToBeDenied"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyOfCustomerMember" id="us-gaap_BankruptcyOfCustomerMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsCourtWherePetitionWasFiled"
               id="us-gaap_BankruptcyProceedingsCourtWherePetitionWasFiled"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsDatePetitionForBankruptcyFiled"
               id="us-gaap_BankruptcyProceedingsDatePetitionForBankruptcyFiled"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BankruptcyProceedingsDescriptionOfCreditorCommittees"
               id="us-gaap_BankruptcyProceedingsDescriptionOfCreditorCommittees"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsDescriptionOfManagementForEntitiesInBankruptcy"
               id="us-gaap_BankruptcyProceedingsDescriptionOfManagementForEntitiesInBankruptcy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsDescriptionOfNonUSEntities"
               id="us-gaap_BankruptcyProceedingsDescriptionOfNonUSEntities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsDescriptionOfOperationalImprovementPlans"
               id="us-gaap_BankruptcyProceedingsDescriptionOfOperationalImprovementPlans"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsDescriptionOfOrdersApprovedByCourt"
               id="us-gaap_BankruptcyProceedingsDescriptionOfOrdersApprovedByCourt"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsDescriptionOfProceedings"
               id="us-gaap_BankruptcyProceedingsDescriptionOfProceedings"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsEntitiesIncludedInBankruptcyFiling"
               id="us-gaap_BankruptcyProceedingsEntitiesIncludedInBankruptcyFiling"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsEntitiesNotIncludedInBankruptcyFiling"
               id="us-gaap_BankruptcyProceedingsEntitiesNotIncludedInBankruptcyFiling"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsReasonsForBankruptcyFiling"
               id="us-gaap_BankruptcyProceedingsReasonsForBankruptcyFiling"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BasicEarningsPerShareNetIncome"
               id="us-gaap_BasicEarningsPerShareNetIncome"
               type="us-types:perShareItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BasisOfFinancialStatementPresentationInChapter11"
               id="us-gaap_BasisOfFinancialStatementPresentationInChapter11"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BasisForDeterminingClassesOfServicingAssetsAndServicingLiabilities"
               id="us-gaap_BasisForDeterminingClassesOfServicingAssetsAndServicingLiabilities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BasisForExemptionFromSegregationRequirementsDescription"
               id="us-gaap_BasisForExemptionFromSegregationRequirementsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BasisOfProvisionForRefundsUnderGovernmentContracts"
               id="us-gaap_BasisOfProvisionForRefundsUnderGovernmentContracts"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BasisSwapMember" id="us-gaap_BasisSwapMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BeneficialInterest" id="us-gaap_BeneficialInterest"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="InterestExpenseBeneficialInterestsIssuedByConsolidatedVariableInterestEntities"
               id="us-gaap_InterestExpenseBeneficialInterestsIssuedByConsolidatedVariableInterestEntities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="BenefitPlansPensionAndOtherPostretirementPlansPolicy"
               id="us-gaap_BenefitPlansPensionAndOtherPostretirementPlansPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BenefitPlansPensionAndOtherPostretirementPlansNonpensionPostretirementBenefitsPolicy"
               id="us-gaap_BenefitPlansPensionAndOtherPostretirementPlansNonpensionPostretirementBenefitsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BenefitPlansPensionAndOtherPostretirementPlansPensionsPolicy"
               id="us-gaap_BenefitPlansPensionAndOtherPostretirementPlansPensionsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BenefitPlansPolicy" id="us-gaap_BenefitPlansPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BenefitsClaimsLossesAndSettlementExpense"
               id="us-gaap_BenefitsClaimsLossesAndSettlementExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="BillingsInExcessOfCost" id="us-gaap_BillingsInExcessOfCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BondFutureMember" id="us-gaap_BondFutureMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BondOptionMember" id="us-gaap_BondOptionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AmortizationOfBondDiscountPremium"
               id="us-gaap_AmortizationOfBondDiscountPremium"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="BondsInvestmentTypeMember" id="us-gaap_BondsInvestmentTypeMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BondsMember" id="us-gaap_BondsMember" type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BorrowedMember" id="us-gaap_BorrowedMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BorrowedSecurities" id="us-gaap_BorrowedSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="InterestExpenseBorrowingsAbstract"
               id="us-gaap_InterestExpenseBorrowingsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BorrowingsUnderGuaranteedInvestmentAgreements"
               id="us-gaap_BorrowingsUnderGuaranteedInvestmentAgreements"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="RealEstateVariableInterestEntityBorrowings"
               id="us-gaap_RealEstateVariableInterestEntityBorrowings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BorrowingsToFinanceLeveragedBuyout"
               id="us-gaap_BorrowingsToFinanceLeveragedBuyout"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="BorrowingsToFinanceLeveragedBuyoutAbstract"
               id="us-gaap_BorrowingsToFinanceLeveragedBuyoutAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BreedingAndProductionAnimalsMember"
               id="us-gaap_BreedingAndProductionAnimalsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BridgeLoan" id="us-gaap_BridgeLoan" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BridgeLoanMember" id="us-gaap_BridgeLoanMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IndustrySpecificPoliciesBrokerDealer"
               id="us-gaap_IndustrySpecificPoliciesBrokerDealer"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BrokerageCommissions" id="us-gaap_BrokerageCommissions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForBrokerageFees" id="us-gaap_PaymentsForBrokerageFees"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="BrokersAndDealersDisclosureTextBlock"
               id="us-gaap_BrokersAndDealersDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BuildingsAndImprovementsGross" id="us-gaap_BuildingsAndImprovementsGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BuildingImprovementsMember" id="us-gaap_BuildingImprovementsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BuildingMember" id="us-gaap_BuildingMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="InventoryBuildingsAndImprovements"
               id="us-gaap_InventoryBuildingsAndImprovements"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionContingentConsiderationAccountingTreatment"
               id="us-gaap_BusinessAcquisitionContingentConsiderationAccountingTreatment"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionContingentConsiderationLineItems"
               id="us-gaap_BusinessAcquisitionContingentConsiderationLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable"
               id="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionContingentConsiderationAtFairValue"
               id="us-gaap_BusinessAcquisitionContingentConsiderationAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionContingentConsiderationPotentialCashPayment"
               id="us-gaap_BusinessAcquisitionContingentConsiderationPotentialCashPayment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionContingentConsiderationSharesIssuableDescription"
               id="us-gaap_BusinessAcquisitionContingentConsiderationSharesIssuableDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionCostOfAcquiredEntityAbstract"
               id="us-gaap_BusinessAcquisitionCostOfAcquiredEntityAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionCostOfAcquiredEntityCashPaid"
               id="us-gaap_BusinessAcquisitionCostOfAcquiredEntityCashPaid"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCostOfAcquiredEntityDescriptionOfPurchasePriceComponents"
               id="us-gaap_BusinessAcquisitionCostOfAcquiredEntityDescriptionOfPurchasePriceComponents"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionCostOfAcquiredEntityEquityInterestsIssuedAndIssuable"
               id="us-gaap_BusinessAcquisitionCostOfAcquiredEntityEquityInterestsIssuedAndIssuable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCostOfAcquiredEntityLiabilitiesIncurred"
               id="us-gaap_BusinessAcquisitionCostOfAcquiredEntityLiabilitiesIncurred"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCostOfAcquiredEntityOtherNoncashConsideration"
               id="us-gaap_BusinessAcquisitionCostOfAcquiredEntityOtherNoncashConsideration"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCostOfAcquiredEntityPurchasePrice"
               id="us-gaap_BusinessAcquisitionCostOfAcquiredEntityPurchasePrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"
               id="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionDateOfAcquisitionAbstract"
               id="us-gaap_BusinessAcquisitionDateOfAcquisitionAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionDateOfAcquisitionAgreement"
               id="us-gaap_BusinessAcquisitionDateOfAcquisitionAgreement"
               type="us-types:dateStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionDescriptionOfAcquiredEntity"
               id="us-gaap_BusinessAcquisitionDescriptionOfAcquiredEntity"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPlannedRestructuringActivitiesDescription"
               id="us-gaap_BusinessAcquisitionPlannedRestructuringActivitiesDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionEffectiveDateOfAcquisition"
               id="us-gaap_BusinessAcquisitionEffectiveDateOfAcquisition"
               type="us-types:dateStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionEntityAcquiredAndReasonForAcquisitionAbstract"
               id="us-gaap_BusinessAcquisitionEntityAcquiredAndReasonForAcquisitionAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionEquityInterestIssuedOrIssuableBasisForDeterminingValue"
               id="us-gaap_BusinessAcquisitionEquityInterestIssuedOrIssuableBasisForDeterminingValue"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionEquityInterestIssuedOrIssuableDescription"
               id="us-gaap_BusinessAcquisitionEquityInterestIssuedOrIssuableDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EquityInterestIssuedOrIssuableTypeDomain"
               id="us-gaap_EquityInterestIssuedOrIssuableTypeDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesIssued"
               id="us-gaap_BusinessAcquisitionEquityInterestIssuedOrIssuableNumberOfSharesIssued"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ScheduleOfBusinessAcquisitionsByAcquisitionEquityInterestIssuedOrIssuableTable"
               id="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionEquityInterestIssuedOrIssuableTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionEquityInterestIssuedOrIssuableValueAssigned"
               id="us-gaap_BusinessAcquisitionEquityInterestIssuedOrIssuableValueAssigned"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionEquityInterestsIssuedOrIssuableLineItems"
               id="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionNameOfAcquiredEntity"
               id="us-gaap_BusinessAcquisitionNameOfAcquiredEntity"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPercentageOfVotingInterestsAcquired"
               id="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPeriodResultsIncludedInCombinedEntity"
               id="us-gaap_BusinessAcquisitionPeriodResultsIncludedInCombinedEntity"
               type="us-types:dateStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPreacquisitionContingencyAbstract"
               id="us-gaap_BusinessAcquisitionPreacquisitionContingencyAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPreacquisitionContingencyAmount"
               id="us-gaap_BusinessAcquisitionPreacquisitionContingencyAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPreacquisitionContingencyAmountOfSettlement"
               id="us-gaap_BusinessAcquisitionPreacquisitionContingencyAmountOfSettlement"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPreacquisitionContingencyDescription"
               id="us-gaap_BusinessAcquisitionPreacquisitionContingencyDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPreacquisitionContingencyDescriptionOfSettlement"
               id="us-gaap_BusinessAcquisitionPreacquisitionContingencyDescriptionOfSettlement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPreexistingRelationshipAbstract"
               id="us-gaap_BusinessAcquisitionPreexistingRelationshipAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPreexistingRelationshipDescription"
               id="us-gaap_BusinessAcquisitionPreexistingRelationshipDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPreexistingRelationshipGainLossRecognized"
               id="us-gaap_BusinessAcquisitionPreexistingRelationshipGainLossRecognized"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionProFormaInformationAbstract"
               id="us-gaap_BusinessAcquisitionProFormaInformationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationAbstract"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationAmortizableIntangibleAssets"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationAmortizableIntangibleAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionAmortizableIntangibleAssetsMajorIntangibleClassesAbstract"
               id="us-gaap_BusinessAcquisitionAmortizableIntangibleAssetsMajorIntangibleClassesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationAssetsAcquired"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationAssetsAcquired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationAssetsAcquiredLiabilitiesAssumedNet"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationAssetsAcquiredLiabilitiesAssumedNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationAssetsAcquiredLiabilitiesAssumedNetAbstract"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationAssetsAcquiredLiabilitiesAssumedNetAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCapitalLeaseObligationAccrual"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCapitalLeaseObligationAccrual"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssets"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsAssetHeldForSale"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsAssetHeldForSale"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsAssetNotToBeUsed"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsAssetNotToBeUsed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsAssetToBeDisposedOf"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsAssetToBeDisposedOf"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsCashAndCashEquivalents"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsCashAndCashEquivalents"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsDescription"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsFinishedGoods"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsFinishedGoods"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsInventory"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsInventory"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsMarketableSecurities"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsMarketableSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsMerchandise"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsMerchandise"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsPrepaidExpenseAndOtherAssets"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsPrepaidExpenseAndOtherAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsRawMaterials"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsRawMaterials"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsReceivables"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentAssetsWorkInProgress"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentAssetsWorkInProgress"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentLiabilities"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentLiabilitiesAccountsPayable"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentLiabilitiesAccountsPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentLiabilitiesAccruedLiabilities"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentLiabilitiesAccruedLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentLiabilitiesDescription"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentLiabilitiesDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentLiabilitiesLongTermDebt"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentLiabilitiesLongTermDebt"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationCurrentLiabilitiesOtherLiabilities"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationCurrentLiabilitiesOtherLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationDeferredIncomeTaxesAssetLiabilityNet"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationDeferredIncomeTaxesAssetLiabilityNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationEquipment"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationEquipment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationGoodwillAbstract"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationGoodwillAmount"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionsByAcquisitionGoodwillAllocatedToSegment"
               id="us-gaap_BusinessAcquisitionsByAcquisitionGoodwillAllocatedToSegment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsNotAmortizable"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsNotAmortizable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsDescription"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsDescription"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionsByAcquisitionIntangibleAssetNotAmortizableAllocatedToSegment"
               id="us-gaap_BusinessAcquisitionsByAcquisitionIntangibleAssetNotAmortizableAllocatedToSegment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AllocationOfIntangibleAssetsNotAmortizableAndGoodwillBySegmentAxis"
               id="us-gaap_AllocationOfIntangibleAssetsNotAmortizableAndGoodwillBySegmentAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionsByAcquisitionAllocationOfIntangibleAssetsNotAmortizableAndGoodwillLineItems"
               id="us-gaap_BusinessAcquisitionsByAcquisitionAllocationOfIntangibleAssetsNotAmortizableAndGoodwillLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AllocationOfIntangibleAssetsNotAmortizableAndGoodwillSegmentDomain"
               id="us-gaap_AllocationOfIntangibleAssetsNotAmortizableAndGoodwillSegmentDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ScheduleOfBusinessAcquisitionsByAcquisitionAllocationOfIntangibleAssetsNotAmortizableAndGoodwillToSegmentsTable"
               id="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionAllocationOfIntangibleAssetsNotAmortizableAndGoodwillToSegmentsTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationLiabilitiesAssumed"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationLiabilitiesAssumed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationMethodology"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationMethodology"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationMineralRights"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationMineralRights"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationNaturalResources"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationNaturalResources"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationNegativeGoodwillDescription"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationNegativeGoodwillDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationNoncurrentAssets"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationNoncurrentAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationNoncurrentAssetsDescription"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationNoncurrentAssetsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationNoncurrentLiabilities"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationNoncurrentLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationNoncurrentLiabilitiesDescription"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationNoncurrentLiabilitiesDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationNoncurrentLiabilitiesLongTermDebt"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationNoncurrentLiabilitiesLongTermDebt"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationNoncurrentLiabilitiesRestructuringCostAccrual"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationNoncurrentLiabilitiesRestructuringCostAccrual"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationNotesPayableAndLongTermDebt"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationNotesPayableAndLongTermDebt"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationOtherNoncurrentAssets"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationOtherNoncurrentAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationPlant"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationPlant"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationPreacquisitionContingencyAccrual"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationPreacquisitionContingencyAccrual"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationProjectedBenefitObligationAsset"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationProjectedBenefitObligationAsset"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationProperty"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationPropertyPlantAndEquipment"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationPropertyPlantAndEquipment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationStatus"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationStatus"
               type="us-types:BusinessAcquisition-PurchasePriceAllocationStatusItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionTrademarksAllocation"
               id="us-gaap_BusinessAcquisitionTrademarksAllocation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationUnfavorableContractAccrual"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationUnfavorableContractAccrual"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPurchasePriceAllocationWarrantyLiability"
               id="us-gaap_BusinessAcquisitionPurchasePriceAllocationWarrantyLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionReasonForAcquisition"
               id="us-gaap_BusinessAcquisitionReasonForAcquisition"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionRevenueReportedByAcquiredEntityForLastAnnualPeriod"
               id="us-gaap_BusinessAcquisitionRevenueReportedByAcquiredEntityForLastAnnualPeriod"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionStandardIndustrialClassificationSICCodeForAcquiredEntity"
               id="us-gaap_BusinessAcquisitionStandardIndustrialClassificationSICCodeForAcquiredEntity"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionAxis" id="us-gaap_BusinessAcquisitionAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionAcquireeDomain"
               id="us-gaap_BusinessAcquisitionAcquireeDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionLineItems" id="us-gaap_BusinessAcquisitionLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionProFormaInformationDescription"
               id="us-gaap_BusinessAcquisitionProFormaInformationDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted"
               id="us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax"
               id="us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareBasic"
               id="us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareBasic"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionProFormaInformationTextBlock"
               id="us-gaap_BusinessAcquisitionProFormaInformationTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionProFormaNetIncomeLoss"
               id="us-gaap_BusinessAcquisitionProFormaNetIncomeLoss"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionProFormaRevenue"
               id="us-gaap_BusinessAcquisitionProFormaRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCopyrightsAllocation"
               id="us-gaap_BusinessAcquisitionCopyrightsAllocation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCopyrightsAmortizationMethod"
               id="us-gaap_BusinessAcquisitionCopyrightsAmortizationMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionCopyrightsAmortizationPeriod"
               id="us-gaap_BusinessAcquisitionCopyrightsAmortizationPeriod"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCopyrightsDescription"
               id="us-gaap_BusinessAcquisitionCopyrightsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionCopyrightsResidualValue"
               id="us-gaap_BusinessAcquisitionCopyrightsResidualValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCovenantsNotToCompeteAllocation"
               id="us-gaap_BusinessAcquisitionCovenantsNotToCompeteAllocation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCovenantsNotToCompeteAmortizationMethod"
               id="us-gaap_BusinessAcquisitionCovenantsNotToCompeteAmortizationMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionCovenantsNotToCompeteAmortizationPeriod"
               id="us-gaap_BusinessAcquisitionCovenantsNotToCompeteAmortizationPeriod"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionCovenantsNotToCompeteDescription"
               id="us-gaap_BusinessAcquisitionCovenantsNotToCompeteDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPatentsAllocation"
               id="us-gaap_BusinessAcquisitionPatentsAllocation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPatentsAmortizationMethod"
               id="us-gaap_BusinessAcquisitionPatentsAmortizationMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPatentsAmortizationPeriod"
               id="us-gaap_BusinessAcquisitionPatentsAmortizationPeriod"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionPatentsDescription"
               id="us-gaap_BusinessAcquisitionPatentsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionPatentsResidualValue"
               id="us-gaap_BusinessAcquisitionPatentsResidualValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionResearchAndDevelopmentAllocation"
               id="us-gaap_BusinessAcquisitionResearchAndDevelopmentAllocation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionResearchAndDevelopmentCapitalizedAllocation"
               id="us-gaap_BusinessAcquisitionResearchAndDevelopmentCapitalizedAllocation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionResearchAndDevelopmentCapitalizedAmortizationMethod"
               id="us-gaap_BusinessAcquisitionResearchAndDevelopmentCapitalizedAmortizationMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionResearchAndDevelopmentCapitalizedAmortizationPeriod"
               id="us-gaap_BusinessAcquisitionResearchAndDevelopmentCapitalizedAmortizationPeriod"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionResearchAndDevelopmentCapitalizedResidualValue"
               id="us-gaap_BusinessAcquisitionResearchAndDevelopmentCapitalizedResidualValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionResearchAndDevelopmentDescription"
               id="us-gaap_BusinessAcquisitionResearchAndDevelopmentDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionResearchAndDevelopmentExpensedIncomeStatementCaption"
               id="us-gaap_BusinessAcquisitionResearchAndDevelopmentExpensedIncomeStatementCaption"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionTrademarksAmortizationMethod"
               id="us-gaap_BusinessAcquisitionTrademarksAmortizationMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionTrademarksAmortizationPeriod"
               id="us-gaap_BusinessAcquisitionTrademarksAmortizationPeriod"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="BusinessAcquisitionTrademarksDescription"
               id="us-gaap_BusinessAcquisitionTrademarksDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessAcquisitionTrademarksResidualValue"
               id="us-gaap_BusinessAcquisitionTrademarksResidualValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ScheduleOfBusinessAcquisitionsByAcquisitionTable"
               id="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessCombinationMember" id="us-gaap_BusinessCombinationMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="PurchaseTransactionPolicy" id="us-gaap_PurchaseTransactionPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessCombinationsAndOtherPurchaseTransactionsPolicy"
               id="us-gaap_BusinessCombinationsAndOtherPurchaseTransactionsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessCombinationsPolicy" id="us-gaap_BusinessCombinationsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessDevelopmentMember" id="us-gaap_BusinessDevelopmentMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessExitCosts" id="us-gaap_BusinessExitCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CancellationOfContractMember" id="us-gaap_CancellationOfContractMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalAccumulationPlan" id="us-gaap_CapitalAccumulationPlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalAdditionsMember" id="us-gaap_CapitalAdditionsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalAdditionsNet" id="us-gaap_CapitalAdditionsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForProceedsFromProductiveAssetsAbstract"
               id="us-gaap_PaymentsForProceedsFromProductiveAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalAndAllowableSubordinatedBorrowings"
               id="us-gaap_CapitalAndAllowableSubordinatedBorrowings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalAndAllowableSubordinatedBorrowingsAbstract"
               id="us-gaap_CapitalAndAllowableSubordinatedBorrowingsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsOfCapitalDistribution" id="us-gaap_PaymentsOfCapitalDistribution"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeaseExpenseMember" id="us-gaap_CapitalLeaseExpenseMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeaseObligationsCurrent"
               id="us-gaap_CapitalLeaseObligationsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeaseObligationsMember" id="us-gaap_CapitalLeaseObligationsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeaseObligationsNoncurrent"
               id="us-gaap_CapitalLeaseObligationsNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesOfLesseeAbstract" id="us-gaap_CapitalLeasesOfLesseeAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesOfLessorAbstract" id="us-gaap_CapitalLeasesOfLessorAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesLesseeBalanceSheetAbstract"
               id="us-gaap_CapitalLeasesLesseeBalanceSheetAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesLessorBalanceSheetAbstract"
               id="us-gaap_CapitalLeasesLessorBalanceSheetAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesLesseeBalanceSheetAssetsByMajorClassAccumulatedDeprecation"
               id="us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassAccumulatedDeprecation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLesseeBalanceSheetAssetsByMajorClassBuilding"
               id="us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassBuilding"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLesseeBalanceSheetAssetsByMajorClassComputerEquipment"
               id="us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassComputerEquipment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLesseeBalanceSheetAssetsByMajorClassFurnitureAndFixtures"
               id="us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassFurnitureAndFixtures"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLesseeBalanceSheetAssetsByMajorClassGross"
               id="us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLesseeBalanceSheetAssetsByMajorClassLand"
               id="us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassLand"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLesseeBalanceSheetAssetsByMajorClassLeaseholdImprovements"
               id="us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassLeaseholdImprovements"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLesseeBalanceSheetAssetsByMajorClassMachineryAndEquipment"
               id="us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassMachineryAndEquipment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesBalanceSheetAssetsByMajorClassNet"
               id="us-gaap_CapitalLeasesBalanceSheetAssetsByMajorClassNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLesseeBalanceSheetAssetsByMajorClassOtherPropertyPlantAndEquipment"
               id="us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassOtherPropertyPlantAndEquipment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLessorBalanceSheetNetInvestmentInDirectFinancingLeasesCurrent"
               id="us-gaap_CapitalLeasesLessorBalanceSheetNetInvestmentInDirectFinancingLeasesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLessorBalanceSheetNetInvestmentInDirectFinancingLeasesNoncurrent"
               id="us-gaap_CapitalLeasesLessorBalanceSheetNetInvestmentInDirectFinancingLeasesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="NetInvestmentInDirectFinancingAndSalesTypeLeases"
               id="us-gaap_NetInvestmentInDirectFinancingAndSalesTypeLeases"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLessorBalanceSheetNetInvestmentInDirectFinancingAndSalesTypeLeasesCurrent"
               id="us-gaap_CapitalLeasesLessorBalanceSheetNetInvestmentInDirectFinancingAndSalesTypeLeasesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLessorBalanceSheetNetInvestmentInDirectFinancingAndSalesTypeLeasesNoncurrent"
               id="us-gaap_CapitalLeasesLessorBalanceSheetNetInvestmentInDirectFinancingAndSalesTypeLeasesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLessorBalanceSheetNetInvestmentInSalesTypeLeasesCurrent"
               id="us-gaap_CapitalLeasesLessorBalanceSheetNetInvestmentInSalesTypeLeasesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLessorBalanceSheetNetInvestmentInSalesTypeLeasesNoncurrent"
               id="us-gaap_CapitalLeasesLessorBalanceSheetNetInvestmentInSalesTypeLeasesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesContingentRentalPaymentsDue"
               id="us-gaap_CapitalLeasesContingentRentalPaymentsDue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesContingentRentalPaymentsReceivable"
               id="us-gaap_CapitalLeasesContingentRentalPaymentsReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesDescriptionOfLeasingArrangements"
               id="us-gaap_CapitalLeasesDescriptionOfLeasingArrangements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsDue"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsDue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsReceivable"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsDueAbstract"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsReceivableAbstract"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsReceivableAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsDueCurrent"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsReceivableCurrent"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsReceivableCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsDueInFiveYears"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFiveYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsReceivableInFiveYears"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsReceivableInFiveYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsDueInFourYears"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsReceivableInFourYears"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsReceivableInFourYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsDueInThreeYears"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsReceivableInThreeYears"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsReceivableInThreeYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsDueInTwoYears"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsReceivableInTwoYears"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsReceivableInTwoYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsDueThereafter"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsDueThereafter"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsReceivableDueThereafter"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsReceivableDueThereafter"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsExecutoryCosts"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsExecutoryCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsNetMinimumPayments"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsNetMinimumPayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments"
               id="us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesFutureMinimumSubleaseRentals"
               id="us-gaap_CapitalLeasesFutureMinimumSubleaseRentals"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesIncomeStatementOfLesseeAbstract"
               id="us-gaap_CapitalLeasesIncomeStatementOfLesseeAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesIncomeStatementLeaseRevenueIncomeStatementOfLessorAbstract"
               id="us-gaap_CapitalLeasesIncomeStatementLeaseRevenueIncomeStatementOfLessorAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesIncomeStatementAmortizationExpense"
               id="us-gaap_CapitalLeasesIncomeStatementAmortizationExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesIncomeStatementDirectFinancingLeaseRevenue"
               id="us-gaap_CapitalLeasesIncomeStatementDirectFinancingLeaseRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesIncomeStatementInterestExpense"
               id="us-gaap_CapitalLeasesIncomeStatementInterestExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesIncomeStatementLeaseRevenue"
               id="us-gaap_CapitalLeasesIncomeStatementLeaseRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesIncomeStatementSalesTypeLeaseRevenue"
               id="us-gaap_CapitalLeasesIncomeStatementSalesTypeLeaseRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesLiabilities" id="us-gaap_CapitalLeasesLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesLiabilitiesAbstract"
               id="us-gaap_CapitalLeasesLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesNetInvestmentInDirectFinancingLeases"
               id="us-gaap_CapitalLeasesNetInvestmentInDirectFinancingLeases"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInDirectFinancingLeasesAbstract"
               id="us-gaap_CapitalLeasesNetInvestmentInDirectFinancingLeasesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesNetInvestmentInDirectFinancingLeasesAllowanceForUncollectibleMinimumLeasePayments"
               id="us-gaap_CapitalLeasesNetInvestmentInDirectFinancingLeasesAllowanceForUncollectibleMinimumLeasePayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInDirectFinancingLeasesExecutoryCosts"
               id="us-gaap_CapitalLeasesNetInvestmentInDirectFinancingLeasesExecutoryCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInDirectFinancingLeasesInitialDirectCosts"
               id="us-gaap_CapitalLeasesNetInvestmentInDirectFinancingLeasesInitialDirectCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInDirectFinancingLeasesMinimumPaymentsToBeReceived"
               id="us-gaap_CapitalLeasesNetInvestmentInDirectFinancingLeasesMinimumPaymentsToBeReceived"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInDirectFinancingLeasesDeferredIncome"
               id="us-gaap_CapitalLeasesNetInvestmentInDirectFinancingLeasesDeferredIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInDirectFinancingLeasesUnguaranteedResidualValuesOfLeasedProperty"
               id="us-gaap_CapitalLeasesNetInvestmentInDirectFinancingLeasesUnguaranteedResidualValuesOfLeasedProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInDirectFinancingAndSalesTypeLeases"
               id="us-gaap_CapitalLeasesNetInvestmentInDirectFinancingAndSalesTypeLeases"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInSalesTypeLeases"
               id="us-gaap_CapitalLeasesNetInvestmentInSalesTypeLeases"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInSalesTypeLeasesAbstract"
               id="us-gaap_CapitalLeasesNetInvestmentInSalesTypeLeasesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalLeasesNetInvestmentInSalesTypeLeasesAllowanceForUncollectibleMinimumLeasePayments"
               id="us-gaap_CapitalLeasesNetInvestmentInSalesTypeLeasesAllowanceForUncollectibleMinimumLeasePayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInSalesTypeLeasesExecutoryCosts"
               id="us-gaap_CapitalLeasesNetInvestmentInSalesTypeLeasesExecutoryCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInSalesTypeLeasesMinimumPaymentsToBeReceived"
               id="us-gaap_CapitalLeasesNetInvestmentInSalesTypeLeasesMinimumPaymentsToBeReceived"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInSalesTypeLeasesDeferredIncome"
               id="us-gaap_CapitalLeasesNetInvestmentInSalesTypeLeasesDeferredIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalLeasesNetInvestmentInSalesTypeLeasesUnguaranteedResidualValuesOfLeasedProperty"
               id="us-gaap_CapitalLeasesNetInvestmentInSalesTypeLeasesUnguaranteedResidualValuesOfLeasedProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalRequirementOfConsolidatedBrokerDealerSubsidiaryElectingAlternativeMethod"
               id="us-gaap_CapitalRequirementOfConsolidatedBrokerDealerSubsidiaryElectingAlternativeMethod"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="InterestExpenseCapitalSecurities"
               id="us-gaap_InterestExpenseCapitalSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalUnitDomain" id="us-gaap_CapitalUnitDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalUnits" id="us-gaap_CapitalUnits" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalUnitsAuthorized" id="us-gaap_CapitalUnitsAuthorized"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalUnitsAxis" id="us-gaap_CapitalUnitsAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalUnitsLineItems" id="us-gaap_CapitalUnitsLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalUnitsOutstanding" id="us-gaap_CapitalUnitsOutstanding"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalUnitsTable" id="us-gaap_CapitalUnitsTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizationOfDeferredPolicyAcquisitionCostsPolicy"
               id="us-gaap_CapitalizationOfDeferredPolicyAcquisitionCostsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherExpenseCapitalizationToDeferredAcquisitionCostDAC"
               id="us-gaap_OtherExpenseCapitalizationToDeferredAcquisitionCostDAC"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedComputerSoftwareAccumulatedAmortization"
               id="us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalizedComputerSoftwareAdditions"
               id="us-gaap_CapitalizedComputerSoftwareAdditions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedComputerSoftwareAmortization"
               id="us-gaap_CapitalizedComputerSoftwareAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedComputerSoftwareNetAbstract"
               id="us-gaap_CapitalizedComputerSoftwareNetAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedComputerSoftwareGross"
               id="us-gaap_CapitalizedComputerSoftwareGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalizedComputerSoftwareImpairments"
               id="us-gaap_CapitalizedComputerSoftwareImpairments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedComputerSoftwareNet"
               id="us-gaap_CapitalizedComputerSoftwareNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="InventoryCapitalizedCosts" id="us-gaap_InventoryCapitalizedCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CapitalizedCostsAccumulatedDepreciationDepletionAmortizationAndValuationAllowanceForRelatingToOilAndGasProducingActivities"
               id="us-gaap_CapitalizedCostsAccumulatedDepreciationDepletionAmortizationAndValuationAllowanceForRelatingToOilAndGasProducingActivities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsAssetRetirementObligationAsset"
               id="us-gaap_CapitalizedCostsAssetRetirementObligationAsset"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="GeographicAreaOfCapitalizedCostsDomain"
               id="us-gaap_GeographicAreaOfCapitalizedCostsDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsMineralInterestsInProvedProperties"
               id="us-gaap_CapitalizedCostsMineralInterestsInProvedProperties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsMineralInterestsInUnprovedProperties"
               id="us-gaap_CapitalizedCostsMineralInterestsInUnprovedProperties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsProportionalInterestOfNetCapitalizedCostsOfEquityCompaniesNet"
               id="us-gaap_CapitalizedCostsProportionalInterestOfNetCapitalizedCostsOfEquityCompaniesNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsProvedProperties"
               id="us-gaap_CapitalizedCostsProvedProperties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsSupportEquipmentAndFacilities"
               id="us-gaap_CapitalizedCostsSupportEquipmentAndFacilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsUncompletedWellsEquipmentAndFacilities"
               id="us-gaap_CapitalizedCostsUncompletedWellsEquipmentAndFacilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsUnprovedProperties"
               id="us-gaap_CapitalizedCostsUnprovedProperties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsWellsAndRelatedEquipmentAndFacilities"
               id="us-gaap_CapitalizedCostsWellsAndRelatedEquipmentAndFacilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsOilAndGasProducingActivitiesNet"
               id="us-gaap_CapitalizedCostsOilAndGasProducingActivitiesNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsRelatingToOilAndGasProducingActivitiesByGeographicAreaAxis"
               id="us-gaap_CapitalizedCostsRelatingToOilAndGasProducingActivitiesByGeographicAreaAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsOilAndGasProducingActivitiesGross"
               id="us-gaap_CapitalizedCostsOilAndGasProducingActivitiesGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsRelatingToOilAndGasProducingActivitiesByGeographicAreaLineItems"
               id="us-gaap_CapitalizedCostsRelatingToOilAndGasProducingActivitiesByGeographicAreaLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedCostsRelatingToOilAndGasProducingActivitiesByGeographicAreaTable"
               id="us-gaap_CapitalizedCostsRelatingToOilAndGasProducingActivitiesByGeographicAreaTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomers"
               id="us-gaap_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomers"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="MortgageLoansOnRealEstateFederalIncomeTaxBasis"
               id="us-gaap_MortgageLoansOnRealEstateFederalIncomeTaxBasis"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="MortgageLoansOnRealEstateIntercompanyProfitsInCarryingAmountOfLoans"
               id="us-gaap_MortgageLoansOnRealEstateIntercompanyProfitsInCarryingAmountOfLoans"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="MortgageLoansOnRealEstateRenewedAndExtended"
               id="us-gaap_MortgageLoansOnRealEstateRenewedAndExtended"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MortgageLoansOnRealEstateEffectOfNoncashTransactions"
               id="us-gaap_MortgageLoansOnRealEstateEffectOfNoncashTransactions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MortgageLoansOnRealEstateReserves"
               id="us-gaap_MortgageLoansOnRealEstateReserves"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MortgageLoansOnRealEstateTransactionsWithAffiliates"
               id="us-gaap_MortgageLoansOnRealEstateTransactionsWithAffiliates"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CarryingAmountOfReclassifiedTradingSecuritiesUponAdoptionOfSFAS156"
               id="us-gaap_CarryingAmountOfReclassifiedTradingSecuritiesUponAdoptionOfSFAS156"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CarryingCostsPropertyAndExplorationRights"
               id="us-gaap_CarryingCostsPropertyAndExplorationRights"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CarryingValueOfFederalFundsPurchasedSecuritiesSoldUnderAgreementsToRepurchaseAndDepositsReceivedForSecuritiesLoaned"
               id="us-gaap_CarryingValueOfFederalFundsPurchasedSecuritiesSoldUnderAgreementsToRepurchaseAndDepositsReceivedForSecuritiesLoaned"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CarryingValueOfSecuritiesSoldUnderRepurchaseAgreementsAndDepositsReceivedForSecuritiesLoanedAbstract"
               id="us-gaap_CarryingValueOfSecuritiesSoldUnderRepurchaseAgreementsAndDepositsReceivedForSecuritiesLoanedAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CarryingValueOfFederalFundsSoldSecuritiesPurchasedUnderAgreementsToResellAndDepositsPaidForSecuritiesBorrowed"
               id="us-gaap_CarryingValueOfFederalFundsSoldSecuritiesPurchasedUnderAgreementsToResellAndDepositsPaidForSecuritiesBorrowed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CarryingValueOfSecuritiesPurchasedUnderAgreementsToResellAndDepositsPaidForSecuritiesBorrowedAbstract"
               id="us-gaap_CarryingValueOfSecuritiesPurchasedUnderAgreementsToResellAndDepositsPaidForSecuritiesBorrowedAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CarryingValueOfSecuritiesPurchasedUnderAgreementsToResellAndDepositsPaidForSecuritiesBorrowed"
               id="us-gaap_CarryingValueOfSecuritiesPurchasedUnderAgreementsToResellAndDepositsPaidForSecuritiesBorrowed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CarryingValueOfSecuritiesSoldUnderRepurchaseAgreementsAndDepositsReceivedForSecuritiesLoaned"
               id="us-gaap_CarryingValueOfSecuritiesSoldUnderRepurchaseAgreementsAndDepositsReceivedForSecuritiesLoaned"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CashAcquiredFromAcquisition" id="us-gaap_CashAcquiredFromAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderCommodityExchangeActAbstract"
               id="us-gaap_CashAndSecuritiesSegregatedUnderCommodityExchangeActAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderFederalAndOtherRegulationsDescription"
               id="us-gaap_CashAndSecuritiesSegregatedUnderFederalAndOtherRegulationsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderSECRegulationBalanceSheetDisclosuresAbstract"
               id="us-gaap_CashAndSecuritiesSegregatedUnderSECRegulationBalanceSheetDisclosuresAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashCashEquivalents" id="us-gaap_CashCashEquivalents"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashAndCashEquivalentsAtCarryingValueAbstract"
               id="us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountingPoliciesCashCashEquivalents"
               id="us-gaap_AccountingPoliciesCashCashEquivalents"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashCashEquivalentsCashDueBanks"
               id="us-gaap_CashCashEquivalentsCashDueBanks"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashAndCashEquivalentsRollForward"
               id="us-gaap_CashAndCashEquivalentsRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashCashEquivalentsAndFederalFundsSold"
               id="us-gaap_CashCashEquivalentsAndFederalFundsSold"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashCashEquivalentsAndFederalFundsSoldAbstract"
               id="us-gaap_CashCashEquivalentsAndFederalFundsSoldAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy"
               id="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashCashEquivalentsShortTermInvestments"
               id="us-gaap_CashCashEquivalentsShortTermInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashCashEquivalentsAndShortTermInvestmentsAbstract"
               id="us-gaap_CashCashEquivalentsAndShortTermInvestmentsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy"
               id="us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashDivestedFromDeconsolidation"
               id="us-gaap_CashDivestedFromDeconsolidation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashEquivalents" id="us-gaap_CashEquivalents"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashEquivalentsAtCarryingValueAbstract"
               id="us-gaap_CashEquivalentsAtCarryingValueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashEquivalentsMember" id="us-gaap_CashEquivalentsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherCashEquivalentsAtCarryingValue"
               id="us-gaap_OtherCashEquivalentsAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashFlowHedgeAssetsAtFairValue"
               id="us-gaap_CashFlowHedgeAssetsAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashFlowHedgeIneffectivenessIsImmaterial"
               id="us-gaap_CashFlowHedgeIneffectivenessIsImmaterial"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowHedgeLiabilitiesAtFairValue"
               id="us-gaap_CashFlowHedgeLiabilitiesAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CashFlowHedgesAtFairValueNet" id="us-gaap_CashFlowHedgesAtFairValueNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorOtherCashFlowsReceivedOnRetainedInterests"
               id="us-gaap_CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorOtherCashFlowsReceivedOnRetainedInterests"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorProceedsFromCollectionsReinvestedInRevolvingPeriodSecuritizations"
               id="us-gaap_CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorProceedsFromCollectionsReinvestedInRevolvingPeriodSecuritizations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorProceedsFromNewlySecuritizedAssets"
               id="us-gaap_CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorProceedsFromNewlySecuritizedAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorPurchasesOfDelinquentOrForeclosedAssets"
               id="us-gaap_CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorPurchasesOfDelinquentOrForeclosedAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorRepaymentsOfServicingAdvances"
               id="us-gaap_CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorRepaymentsOfServicingAdvances"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorServicingAdvances"
               id="us-gaap_CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorServicingAdvances"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorServicingFeesReceived"
               id="us-gaap_CashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorServicingFeesReceived"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashMember" id="us-gaap_CashMember" type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashOrStockAvailableForDistributionsDescription"
               id="us-gaap_CashOrStockAvailableForDistributionsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateInvestmentSubsidiariesCashAndOtherAssets"
               id="us-gaap_RealEstateInvestmentSubsidiariesCashAndOtherAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashPaidForCapitalizedInterest"
               id="us-gaap_CashPaidForCapitalizedInterest"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="InterestPaid" id="us-gaap_InterestPaid" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsToEmployees" id="us-gaap_PaymentsToEmployees"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsToSuppliers" id="us-gaap_PaymentsToSuppliers"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsToSuppliersAndEmployees"
               id="us-gaap_PaymentsToSuppliersAndEmployees"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForUnderwritingExpense"
               id="us-gaap_PaymentsForUnderwritingExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForPurchaseOfOtherAssets"
               id="us-gaap_PaymentsForPurchaseOfOtherAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForPurchaseOfSecuritiesOperatingActivities"
               id="us-gaap_PaymentsForPurchaseOfSecuritiesOperatingActivities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CashPaymentsRestructuring" id="us-gaap_CashPaymentsRestructuring"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsToAcquireBusinessesGross"
               id="us-gaap_PaymentsToAcquireBusinessesGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromDepositsWithOtherInstitutions"
               id="us-gaap_ProceedsFromDepositsWithOtherInstitutions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromLoans" id="us-gaap_ProceedsFromLoans"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromDeposits" id="us-gaap_ProceedsFromDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromTimeDepositsAccepted"
               id="us-gaap_ProceedsFromTimeDepositsAccepted"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromSaleOfOtherAssets" id="us-gaap_ProceedsFromSaleOfOtherAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromSaleOfSecuritiesOperatingActivities"
               id="us-gaap_ProceedsFromSaleOfSecuritiesOperatingActivities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromCollaborators" id="us-gaap_ProceedsFromCollaborators"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromGrantors" id="us-gaap_ProceedsFromGrantors"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromLegalSettlements" id="us-gaap_ProceedsFromLegalSettlements"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromSaleOfMortgagesHeldForSale"
               id="us-gaap_ProceedsFromSaleOfMortgagesHeldForSale"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashReserveDepositRequiredAndMade"
               id="us-gaap_CashReserveDepositRequiredAndMade"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashSaleGoodsServices" id="us-gaap_CashSaleGoodsServices"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderFederalAndOtherRegulations"
               id="us-gaap_CashAndSecuritiesSegregatedUnderFederalAndOtherRegulations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderFederalAndOtherRegulationsAbstract"
               id="us-gaap_CashAndSecuritiesSegregatedUnderFederalAndOtherRegulationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderCommodityExchangeActDescription"
               id="us-gaap_CashAndSecuritiesSegregatedUnderCommodityExchangeActDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderCommodityExchangeActRegulation"
               id="us-gaap_CashAndSecuritiesSegregatedUnderCommodityExchangeActRegulation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderOtherRegulations"
               id="us-gaap_CashAndSecuritiesSegregatedUnderOtherRegulations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderOtherRegulationsDescription"
               id="us-gaap_CashAndSecuritiesSegregatedUnderOtherRegulationsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderSecuritiesExchangeCommissionRegulation"
               id="us-gaap_CashAndSecuritiesSegregatedUnderSecuritiesExchangeCommissionRegulation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashAndSecuritiesSegregatedUnderSecuritiesExchangeCommissionRegulationDescription"
               id="us-gaap_CashAndSecuritiesSegregatedUnderSecuritiesExchangeCommissionRegulationDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashSegregatedUnderCommodityExchangeActRegulation"
               id="us-gaap_CashSegregatedUnderCommodityExchangeActRegulation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashSegregatedUnderOtherRegulations"
               id="us-gaap_CashSegregatedUnderOtherRegulations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashSurrenderValueDuePolicyholdersAbstract"
               id="us-gaap_CashSurrenderValueDuePolicyholdersAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashSurrenderValueDuePolicyholdersAmount"
               id="us-gaap_CashSurrenderValueDuePolicyholdersAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CashSurrenderValueDuePolicyholdersDescription"
               id="us-gaap_CashSurrenderValueDuePolicyholdersDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashSurrenderValueOfLifeInsurance"
               id="us-gaap_CashSurrenderValueOfLifeInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CashTotalInterestExpense" id="us-gaap_CashTotalInterestExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CatastropheMember" id="us-gaap_CatastropheMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForCatastropheClaimsCarryingAmount"
               id="us-gaap_LiabilityForCatastropheClaimsCarryingAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="LiabilityForCatastropheClaimsBusinessSegment"
               id="us-gaap_LiabilityForCatastropheClaimsBusinessSegment"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForCatastropheClaimsCountry"
               id="us-gaap_LiabilityForCatastropheClaimsCountry"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CatastrophicEventDomain" id="us-gaap_CatastrophicEventDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForCatastropheClaimsByCatastrophicEventAxis"
               id="us-gaap_LiabilityForCatastropheClaimsByCatastrophicEventAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForCatastropheClaimsLineItems"
               id="us-gaap_LiabilityForCatastropheClaimsLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForCatastropheClaimsTable"
               id="us-gaap_LiabilityForCatastropheClaimsTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForCatastropheClaimsMethodologyAndAssumptions"
               id="us-gaap_LiabilityForCatastropheClaimsMethodologyAndAssumptions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForCatastropheClaimsDisclosureAbstract"
               id="us-gaap_LiabilityForCatastropheClaimsDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForCatastropheClaimsDisclosureTextBlock"
               id="us-gaap_LiabilityForCatastropheClaimsDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseAmount"
               id="us-gaap_CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseCauseDomain"
               id="us-gaap_CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseCauseDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseAxis"
               id="us-gaap_CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseLineItems"
               id="us-gaap_CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseTable"
               id="us-gaap_CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseDescription"
               id="us-gaap_CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseDescription"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseAbstract"
               id="us-gaap_CausesOfIncreaseDecreaseInLiabilityForUnpaidClaimsAndClaimsAdjustmentExpenseAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CededCreditRiskAmountAtRisk" id="us-gaap_CededCreditRiskAmountAtRisk"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededCreditRiskClaimsLossAdjustmentExpenseIncurred"
               id="us-gaap_CededCreditRiskClaimsLossAdjustmentExpenseIncurred"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededCreditRiskClaimsReceivable"
               id="us-gaap_CededCreditRiskClaimsReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededCreditRiskOtherRisks" id="us-gaap_CededCreditRiskOtherRisks"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededCreditRiskPremiumsEarned" id="us-gaap_CededCreditRiskPremiumsEarned"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededCreditRiskReinsurerDomain"
               id="us-gaap_CededCreditRiskReinsurerDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CededCreditRiskByReinsurerAbstract"
               id="us-gaap_CededCreditRiskByReinsurerAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CededCreditRiskAxis" id="us-gaap_CededCreditRiskAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CededCreditRiskLineItems" id="us-gaap_CededCreditRiskLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CededCreditRiskTable" id="us-gaap_CededCreditRiskTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CededPremiumsEarned" id="us-gaap_CededPremiumsEarned"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededPremiumsEarnedAccidentAndHealth"
               id="us-gaap_CededPremiumsEarnedAccidentAndHealth"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededPremiumsEarnedLife" id="us-gaap_CededPremiumsEarnedLife"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededPremiumsEarnedOtherInsurance"
               id="us-gaap_CededPremiumsEarnedOtherInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededPremiumsEarnedPropertyAndCasualty"
               id="us-gaap_CededPremiumsEarnedPropertyAndCasualty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededPremiumsWritten" id="us-gaap_CededPremiumsWritten"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededPremiumsWrittenAccidentAndHealth"
               id="us-gaap_CededPremiumsWrittenAccidentAndHealth"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededPremiumsWrittenLife" id="us-gaap_CededPremiumsWrittenLife"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededPremiumsWrittenOtherInsurance"
               id="us-gaap_CededPremiumsWrittenOtherInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CededPremiumsWrittenPropertyAndCasualty"
               id="us-gaap_CededPremiumsWrittenPropertyAndCasualty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYield"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYield"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldAccretion"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldAccretion"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldAdditions"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldAdditions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldDisposalsOfLoans"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldDisposalsOfLoans"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldMovementScheduleRollForward"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldMovementScheduleRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldReclassificationsFromNonaccretableDifference"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldReclassificationsFromNonaccretableDifference"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldReclassificationsToNonaccretableDifference"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAccretableYieldReclassificationsToNonaccretableDifference"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAcquiredDuringPeriodAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAcquiredDuringPeriodAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAcquiredDuringPeriodAtAcquisitionAtFairValue"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAcquiredDuringPeriodAtAcquisitionAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAcquiredDuringPeriodContractuallyRequiredPaymentsReceivableAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAcquiredDuringPeriodContractuallyRequiredPaymentsReceivableAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAcquiredDuringPeriodNotAccountedForUsingIncomeRecognitionModelAtAcquisitionAtCarryingValue"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAcquiredDuringPeriodNotAccountedForUsingIncomeRecognitionModelAtAcquisitionAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesOtherThanTemporaryImpairmentCharges"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesOtherThanTemporaryImpairmentCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYield"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYield"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldAccretion"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldAccretion"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldAdditions"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldAdditions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldDisposalsOfLoans"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldDisposalsOfLoans"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldMovementScheduleRollForward"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldMovementScheduleRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldReclassificationsFromNonaccretableDifference"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldReclassificationsFromNonaccretableDifference"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldReclassificationsToNonaccretableDifference"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAccretableYieldReclassificationsToNonaccretableDifference"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAcquiredDuringPeriodAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAcquiredDuringPeriodAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAcquiredDuringPeriodAtAcquisitionAtFairValue"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAcquiredDuringPeriodAtAcquisitionAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAcquiredDuringPeriodContractuallyRequiredPaymentsReceivableAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAcquiredDuringPeriodContractuallyRequiredPaymentsReceivableAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAcquiredDuringPeriodNotAccountedForUsingIncomeRecognitionModelAtAcquisitionAtCarryingValue"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesAcquiredDuringPeriodNotAccountedForUsingIncomeRecognitionModelAtAcquisitionAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesCarryingAmountNet"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesCarryingAmountNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesOutstandingBalance"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsAvailableForSaleDebtSecuritiesOutstandingBalance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesCarryingAmountNet"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesCarryingAmountNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesCarryingAmountNet"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesCarryingAmountNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesOutstandingBalance"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesOutstandingBalance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesOtherThanTemporaryImpairmentAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesOtherThanTemporaryImpairmentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesOtherThanTemporaryImpairmentCharges"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesOtherThanTemporaryImpairmentCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesOutstandingBalance"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsDebtSecuritiesOutstandingBalance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYield"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYield"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldAccretion"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldAccretion"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldAdditions"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldAdditions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldDisposalsOfLoans"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldDisposalsOfLoans"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldMovementScheduleRollForward"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldMovementScheduleRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldReclassificationsFromNonaccretableDifference"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldReclassificationsFromNonaccretableDifference"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldReclassificationsToNonaccretableDifference"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAccretableYieldReclassificationsToNonaccretableDifference"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAcquiredDuringPeriodAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAcquiredDuringPeriodAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAcquiredDuringPeriodAtAcquisitionAtFairValue"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAcquiredDuringPeriodAtAcquisitionAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAcquiredDuringPeriodContractuallyRequiredPaymentsReceivableAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAcquiredDuringPeriodContractuallyRequiredPaymentsReceivableAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAcquiredDuringPeriodNotAccountedForUsingIncomeRecognitionModelAtAcquisitionAtCarryingValue"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesAcquiredDuringPeriodNotAccountedForUsingIncomeRecognitionModelAtAcquisitionAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesOtherThanTemporaryImpairmentCharges"
               id="us-gaap_CertainLoansAcquiredInTransferAccountedForAsHeldToMaturityDebtSecuritiesOtherThanTemporaryImpairmentCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYield"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYield"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldAccretion"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldAccretion"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldAdditions"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldAdditions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldDisposalsOfLoans"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldDisposalsOfLoans"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldMovementScheduleRollForward"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldMovementScheduleRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldReclassificationsFromNonaccretableDifference"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldReclassificationsFromNonaccretableDifference"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldReclassificationsToNonaccretableDifference"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldReclassificationsToNonaccretableDifference"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodAtAcquisitionAtFairValue"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodAtAcquisitionAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodCommercialContractuallyRequiredPaymentsReceivableAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodCommercialContractuallyRequiredPaymentsReceivableAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodConsumerContractuallyRequiredPaymentsReceivableAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodConsumerContractuallyRequiredPaymentsReceivableAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodContractuallyRequiredPaymentsReceivableAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodContractuallyRequiredPaymentsReceivableAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodNotAccountedForUsingIncomeRecognitionModelAtAcquisition"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodNotAccountedForUsingIncomeRecognitionModelAtAcquisition"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAllowanceForLoanLosses"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAllowanceForLoanLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAllowanceForLoanLossesDecreases"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAllowanceForLoanLossesDecreases"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesCarryingAmountNet"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesCarryingAmountNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesCommercialOutstandingBalance"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesCommercialOutstandingBalance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesConsumerOutstandingBalance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelAbstract"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesNotAccountedForUsingIncomeRecognitionModelAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesOutstandingBalance"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesOutstandingBalance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesProvisionForLoanLosses"
               id="us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesProvisionForLoanLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForLoanLossesRelatedToLoansImpairedSubsequentToAcquisitionByTransfer"
               id="us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAllowanceForLoanLossesRelatedToLoansImpairedSubsequentToAcquisitionByTransfer"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAndDebtSecuritiesAcquiredInTransferAmountOfInvestmentImpairedLoansForWhichNoRelatedAllowanceForLoanLossesIsRecorded"
               id="us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferAmountOfInvestmentImpairedLoansForWhichNoRelatedAllowanceForLoanLossesIsRecorded"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAndDebtSecuritiesAcquiredInTransferDescriptionOfHowPrepaymentsAreConsideredInDeterminationOfContractualCashFlowsAndCashFlowsExpectedToBeCollected"
               id="us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferDescriptionOfHowPrepaymentsAreConsideredInDeterminationOfContractualCashFlowsAndCashFlowsExpectedToBeCollected"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAndDebtSecuritiesAcquiredInTransferInvestmentInLoansAndDebtSecuritiesImpairedSubsequentToAcquisitionByTransfer"
               id="us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferInvestmentInLoansAndDebtSecuritiesImpairedSubsequentToAcquisitionByTransfer"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CertainLoansAndDebtSecuritiesAcquiredInTransferLoansAndDebtSecuritiesImpairedSubsequentToAcquisitionByTransferAbstract"
               id="us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferLoansAndDebtSecuritiesImpairedSubsequentToAcquisitionByTransferAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertainLoansAndDebtSecuritiesAcquiredInTransferRecognizingInterestIncomeOnImpairedLoansPolicy"
               id="us-gaap_CertainLoansAndDebtSecuritiesAcquiredInTransferRecognizingInterestIncomeOnImpairedLoansPolicy"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertificatesOfDepositMember" id="us-gaap_CertificatesOfDepositMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CertificatesOfDepositAtCarryingValue"
               id="us-gaap_CertificatesOfDepositAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="IncreaseDecreaseInAccountsAndNotesReceivable"
               id="us-gaap_IncreaseDecreaseInAccountsAndNotesReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeAccountsPayableAccruedExpenses"
               id="us-gaap_ChangeAccountsPayableAccruedExpenses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAccountsPayableAndAccruedLiabilitiesAbstract"
               id="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAccountsReceivable"
               id="us-gaap_IncreaseDecreaseInAccountsReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAirTrafficLiability"
               id="us-gaap_IncreaseDecreaseInAirTrafficLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueToEmployeesCurrent"
               id="us-gaap_IncreaseDecreaseInDueToEmployeesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAssetRetirementObligations"
               id="us-gaap_IncreaseDecreaseInAssetRetirementObligations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAssetsHeldForSale"
               id="us-gaap_IncreaseDecreaseInAssetsHeldForSale"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInBalancingAccountUtility"
               id="us-gaap_IncreaseDecreaseInBalancingAccountUtility"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromRepaymentsOfBankOverdrafts"
               id="us-gaap_ProceedsFromRepaymentsOfBankOverdrafts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInBillingInExcessOfCostOfEarnings"
               id="us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInBorrowedSecurities"
               id="us-gaap_IncreaseDecreaseInBorrowedSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInClientFundsHeld"
               id="us-gaap_IncreaseDecreaseInClientFundsHeld"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInCoalInventories"
               id="us-gaap_IncreaseDecreaseInCoalInventories"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInCommodityContractAssetsAndLiabilities"
               id="us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInContractReceivablesNet"
               id="us-gaap_IncreaseDecreaseInContractReceivablesNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInLongTermReceivablesCurrent"
               id="us-gaap_IncreaseDecreaseInLongTermReceivablesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInCustomerAdvances"
               id="us-gaap_IncreaseDecreaseInCustomerAdvances"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInCustomerDeposits"
               id="us-gaap_IncreaseDecreaseInCustomerDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDeferredCharges"
               id="us-gaap_IncreaseDecreaseInDeferredCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDeferredCompensation"
               id="us-gaap_IncreaseDecreaseInDeferredCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDeferredFuelCosts"
               id="us-gaap_IncreaseDecreaseInDeferredFuelCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDeferredPensionCosts"
               id="us-gaap_IncreaseDecreaseInDeferredPensionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDeferredRentReceivables"
               id="us-gaap_IncreaseDecreaseInDeferredRentReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDepositOtherAssets"
               id="us-gaap_IncreaseDecreaseInDepositOtherAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDepositOtherAssetsAbstract"
               id="us-gaap_IncreaseDecreaseInDepositOtherAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeEmployeeRelatedLiabilities"
               id="us-gaap_ChangeEmployeeRelatedLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInEmployeeRelatedLiabilitiesAbstract"
               id="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInEnergyTradingActivity"
               id="us-gaap_IncreaseDecreaseInEnergyTradingActivity"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EnvironmentalExpenseAndLiabilities"
               id="us-gaap_EnvironmentalExpenseAndLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EnvironmentalExpenseAndLiabilitiesAbstract"
               id="us-gaap_EnvironmentalExpenseAndLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherIncreaseDecreaseInEnvironmentalLiabilities"
               id="us-gaap_OtherIncreaseDecreaseInEnvironmentalLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInFossilFuelInventories"
               id="us-gaap_IncreaseDecreaseInFossilFuelInventories"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInFuelInventories"
               id="us-gaap_IncreaseDecreaseInFuelInventories"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInFundsHeldUnderReinsuranceTreaty"
               id="us-gaap_IncreaseDecreaseInFundsHeldUnderReinsuranceTreaty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInHealthCareInsuranceLiabilities"
               id="us-gaap_IncreaseDecreaseInHealthCareInsuranceLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ScheduleOfChangeInAccountingEstimateTextBlock"
               id="us-gaap_ScheduleOfChangeInAccountingEstimateTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInAccountingEstimateAbstract"
               id="us-gaap_ChangeInAccountingEstimateAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInAccountingEstimateTypeOfEstimateChangedAxis"
               id="us-gaap_ChangeInAccountingEstimateTypeOfEstimateChangedAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInAccountingEstimateDescription"
               id="us-gaap_ChangeInAccountingEstimateDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInAccountingEstimateTypeDomain"
               id="us-gaap_ChangeInAccountingEstimateTypeDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInAccountingEstimateFinancialEffect"
               id="us-gaap_ChangeInAccountingEstimateFinancialEffect"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInAccountingEstimateLineItems"
               id="us-gaap_ChangeInAccountingEstimateLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInAccountingEstimateTable"
               id="us-gaap_ChangeInAccountingEstimateTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInAccountingMethodAccountedForAsChangeInEstimateMember"
               id="us-gaap_ChangeInAccountingMethodAccountedForAsChangeInEstimateMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInAccountingPrincipleMember"
               id="us-gaap_ChangeInAccountingPrincipleMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInAssumptionsForPensionPlansMember"
               id="us-gaap_ChangeInAssumptionsForPensionPlansMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInHistoricalClaimsRateExperienceMember"
               id="us-gaap_ChangeInHistoricalClaimsRateExperienceMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInMeasurementDateSFAS158Abstract"
               id="us-gaap_ChangeInMeasurementDateSFAS158Abstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInReportingEntity" id="us-gaap_ChangeInReportingEntity"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInReportingEntityAbstract"
               id="us-gaap_ChangeInReportingEntityAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ValuationAllowanceDeferredTaxAssetChangeInAmount"
               id="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeIncomeTaxesPayable" id="us-gaap_ChangeIncomeTaxesPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInIncomeTaxesReceivable"
               id="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInIndustryFundObligation"
               id="us-gaap_IncreaseDecreaseInIndustryFundObligation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInInsuranceLiabilities"
               id="us-gaap_IncreaseDecreaseInInsuranceLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInInsuranceLiabilitiesAbstract"
               id="us-gaap_IncreaseDecreaseInInsuranceLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInIntangibleAssetsCurrent"
               id="us-gaap_IncreaseDecreaseInIntangibleAssetsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInterestPayableNet" id="us-gaap_ChangeInterestPayableNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInterestReceivable" id="us-gaap_ChangeInterestReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeInventories" id="us-gaap_ChangeInventories"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInInventoriesAbstract"
               id="us-gaap_IncreaseDecreaseInInventoriesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInInventoriesMaterialsAndSupplies"
               id="us-gaap_IncreaseDecreaseInInventoriesMaterialsAndSupplies"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInFinancialInstrumentsUsedInOperatingActivities"
               id="us-gaap_IncreaseDecreaseInFinancialInstrumentsUsedInOperatingActivities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInFinancialInstrumentsUsedInOperatingActivitiesAbstract"
               id="us-gaap_IncreaseDecreaseInFinancialInstrumentsUsedInOperatingActivitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInLeasingReceivables"
               id="us-gaap_IncreaseDecreaseInLeasingReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInLifeInsuranceLiabilities"
               id="us-gaap_IncreaseDecreaseInLifeInsuranceLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInLoansDeferredIncome"
               id="us-gaap_IncreaseDecreaseInLoansDeferredIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForProceedsFromMortgageServicingRights"
               id="us-gaap_PaymentsForProceedsFromMortgageServicingRights"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForProceedsFromMortgageServicingRightsAbstract"
               id="us-gaap_PaymentsForProceedsFromMortgageServicingRightsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInNotesReceivables"
               id="us-gaap_IncreaseDecreaseInNotesReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOperatingAssets"
               id="us-gaap_IncreaseDecreaseInOperatingAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOperatingAssetsAbstract"
               id="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOperatingLiabilities"
               id="us-gaap_IncreaseDecreaseInOperatingLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOperatingLiabilitiesAbstract"
               id="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities"
               id="us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOtherAccruedLiabilities"
               id="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeOtherCurrentLiabilities" id="us-gaap_ChangeOtherCurrentLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOtherDeferredLiability"
               id="us-gaap_IncreaseDecreaseInOtherDeferredLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOtherInsuranceLiabilities"
               id="us-gaap_IncreaseDecreaseInOtherInsuranceLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOtherLoans" id="us-gaap_IncreaseDecreaseInOtherLoans"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOtherRealEstateInventories"
               id="us-gaap_IncreaseDecreaseInOtherRealEstateInventories"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOtherReceivable"
               id="us-gaap_IncreaseDecreaseInOtherReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOtherRegulatoryAssets"
               id="us-gaap_IncreaseDecreaseInOtherRegulatoryAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOverEnergyRecovery"
               id="us-gaap_IncreaseDecreaseInOverEnergyRecovery"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOverUnderEnergyRecovery"
               id="us-gaap_IncreaseDecreaseInOverUnderEnergyRecovery"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOverUnderEnergyRecoveryAbstract"
               id="us-gaap_IncreaseDecreaseInOverUnderEnergyRecoveryAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInReinsurancePayables"
               id="us-gaap_IncreaseDecreaseInReinsurancePayables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPensionPlanObligations"
               id="us-gaap_IncreaseDecreaseInPensionPlanObligations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPneumoconiosisBenefitObligationsNoncurrent"
               id="us-gaap_IncreaseDecreaseInPneumoconiosisBenefitObligationsNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPostretirementObligations"
               id="us-gaap_IncreaseDecreaseInPostretirementObligations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPrepaidExpense"
               id="us-gaap_IncreaseDecreaseInPrepaidExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"
               id="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssetsAbstract"
               id="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPrepaidGasDelivery"
               id="us-gaap_IncreaseDecreaseInPrepaidGasDelivery"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangePrepaidPensionCosts" id="us-gaap_ChangePrepaidPensionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPrepaidRent" id="us-gaap_IncreaseDecreaseInPrepaidRent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPrincipalPaymentsOnContractReceivables"
               id="us-gaap_IncreaseDecreaseInPrincipalPaymentsOnContractReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInProductionParticipationPlanLiability"
               id="us-gaap_IncreaseDecreaseInProductionParticipationPlanLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPropertyAndCasualtyInsuranceLiabilities"
               id="us-gaap_IncreaseDecreaseInPropertyAndCasualtyInsuranceLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInPropertyAndOtherTaxesPayable"
               id="us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRealEstateDevelopmentCosts"
               id="us-gaap_IncreaseDecreaseInRealEstateDevelopmentCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRealEstateInventories"
               id="us-gaap_IncreaseDecreaseInRealEstateInventories"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeReceivables" id="us-gaap_ChangeReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInReceivablesAbstract"
               id="us-gaap_IncreaseDecreaseInReceivablesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRecoverablePropertyDamageCosts"
               id="us-gaap_IncreaseDecreaseInRecoverablePropertyDamageCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRecoverableRefundableGasCosts"
               id="us-gaap_IncreaseDecreaseInRecoverableRefundableGasCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRegulatoryAssetsAndLiabilities"
               id="us-gaap_IncreaseDecreaseInRegulatoryAssetsAndLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRegulatoryClauseRevenue"
               id="us-gaap_IncreaseDecreaseInRegulatoryClauseRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRegulatoryLiabilities"
               id="us-gaap_IncreaseDecreaseInRegulatoryLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRentReceivables"
               id="us-gaap_IncreaseDecreaseInRentReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRetainedInterestCurrent"
               id="us-gaap_IncreaseDecreaseInRetainedInterestCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRetainedInterestCurrentAbstract"
               id="us-gaap_IncreaseDecreaseInRetainedInterestCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRiskManagementAssetsAndLiabilities"
               id="us-gaap_IncreaseDecreaseInRiskManagementAssetsAndLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInRoyaltiesPayable"
               id="us-gaap_IncreaseDecreaseInRoyaltiesPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInSecurityDeposits"
               id="us-gaap_IncreaseDecreaseInSecurityDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeShortTermBorrowings" id="us-gaap_ChangeShortTermBorrowings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromRepaymentsOfShortTermDebtAbstract"
               id="us-gaap_ProceedsFromRepaymentsOfShortTermDebtAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherIncreaseDecreaseInShortTermBorrowings"
               id="us-gaap_OtherIncreaseDecreaseInShortTermBorrowings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeShortTermInvestments" id="us-gaap_ChangeShortTermInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsPaymentsOnOtherShortTermInvestments"
               id="us-gaap_ProceedsPaymentsOnOtherShortTermInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInShortTermTradingInvestments"
               id="us-gaap_IncreaseDecreaseInShortTermTradingInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInSpotCommodities"
               id="us-gaap_IncreaseDecreaseInSpotCommodities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInTimeShareAvailableForSale"
               id="us-gaap_IncreaseDecreaseInTimeShareAvailableForSale"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAccountsPayableTrade"
               id="us-gaap_IncreaseDecreaseInAccountsPayableTrade"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInTradingLiabilities"
               id="us-gaap_IncreaseDecreaseInTradingLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInUnbilledReceivables"
               id="us-gaap_IncreaseDecreaseInUnbilledReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInUnderEnergyRecovery"
               id="us-gaap_IncreaseDecreaseInUnderEnergyRecovery"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDeferredPremiums"
               id="us-gaap_IncreaseDecreaseInDeferredPremiums"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInUnprovedOilAndGasProperty"
               id="us-gaap_IncreaseDecreaseInUnprovedOilAndGasProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInWorkersCompensationLiabilities"
               id="us-gaap_IncreaseDecreaseInWorkersCompensationLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangeOperatingAssetsLiabilities"
               id="us-gaap_ChangeOperatingAssetsLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOperatingCapitalAbstract"
               id="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangesAccountsPayable" id="us-gaap_ChangesAccountsPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAccountsPayableAbstract"
               id="us-gaap_IncreaseDecreaseInAccountsPayableAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAccountsPayableRelatedParties"
               id="us-gaap_IncreaseDecreaseInAccountsPayableRelatedParties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangesAccruedExpenses" id="us-gaap_ChangesAccruedExpenses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAccruedLiabilitiesAbstract"
               id="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAccruedCostOfOilAndGasReclamation"
               id="us-gaap_IncreaseDecreaseInAccruedCostOfOilAndGasReclamation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseDueFromAffiliates"
               id="us-gaap_IncreaseDecreaseDueFromAffiliates"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueFromOtherRelatedPartiesCurrent"
               id="us-gaap_IncreaseDecreaseInDueFromOtherRelatedPartiesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseDueFromOtherRelatedParties"
               id="us-gaap_IncreaseDecreaseDueFromOtherRelatedParties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueToAffiliatesCurrent"
               id="us-gaap_IncreaseDecreaseInDueToAffiliatesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueToAffiliates"
               id="us-gaap_IncreaseDecreaseInDueToAffiliates"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueToOfficersAndStockholders"
               id="us-gaap_IncreaseDecreaseInDueToOfficersAndStockholders"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueToOtherRelatedPartiesCurrent"
               id="us-gaap_IncreaseDecreaseInDueToOtherRelatedPartiesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueToOtherRelatedParties"
               id="us-gaap_IncreaseDecreaseInDueToOtherRelatedParties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangesAmountsDueToRelatedPartiesCurrent"
               id="us-gaap_ChangesAmountsDueToRelatedPartiesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueToRelatedPartiesCurrentAbstract"
               id="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueToRelatedParties"
               id="us-gaap_IncreaseDecreaseInDueToRelatedParties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueToRelatedPartiesAbstract"
               id="us-gaap_IncreaseDecreaseInDueToRelatedPartiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangesDeposits" id="us-gaap_ChangesDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInEarnestMoneyDepositsOutstanding"
               id="us-gaap_IncreaseDecreaseInEarnestMoneyDepositsOutstanding"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="TimeSharingTransactionsChangesInEstimateAssociatedWithPriorPeriodSales"
               id="us-gaap_TimeSharingTransactionsChangesInEstimateAssociatedWithPriorPeriodSales"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="TimeSharingTransactionsChangesInEstimateAssociatedWithPriorPeriodSalesOnReceivablesSoldWithRecourse"
               id="us-gaap_TimeSharingTransactionsChangesInEstimateAssociatedWithPriorPeriodSalesOnReceivablesSoldWithRecourse"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInMarginDepositsOutstanding"
               id="us-gaap_IncreaseDecreaseInMarginDepositsOutstanding"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInNotesPayableCurrent"
               id="us-gaap_IncreaseDecreaseInNotesPayableCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInNotesPayableCurrentAbstract"
               id="us-gaap_IncreaseDecreaseInNotesPayableCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInNotesPayableRelatedPartiesCurrent"
               id="us-gaap_IncreaseDecreaseInNotesPayableRelatedPartiesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInNotesPayableRelatedParties"
               id="us-gaap_IncreaseDecreaseInNotesPayableRelatedParties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInOtherAccountsPayable"
               id="us-gaap_IncreaseDecreaseInOtherAccountsPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInAccountsReceivableRelatedParties"
               id="us-gaap_IncreaseDecreaseInAccountsReceivableRelatedParties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangesRelatedPartyNotesReceivable"
               id="us-gaap_ChangesRelatedPartyNotesReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInNotesReceivableRelatedParties"
               id="us-gaap_IncreaseDecreaseInNotesReceivableRelatedParties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ChangesRelatedPartyReceivables"
               id="us-gaap_ChangesRelatedPartyReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueFromRelatedPartiesCurrentAbstract"
               id="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueFromRelatedParties"
               id="us-gaap_IncreaseDecreaseInDueFromRelatedParties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDueFromRelatedPartiesAbstract"
               id="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ChangesToPlanOfAssetsHeldForSale"
               id="us-gaap_ChangesToPlanOfAssetsHeldForSale"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CharityCareBasisForCharityCareAndAmount"
               id="us-gaap_CharityCareBasisForCharityCareAndAmount"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CharityCareDisclosureTextBlock"
               id="us-gaap_CharityCareDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EnergyRelatedInventoryChemicals"
               id="us-gaap_EnergyRelatedInventoryChemicals"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ClaimsMadeCoverageMember" id="us-gaap_ClaimsMadeCoverageMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClaimsPaidCoverageMember" id="us-gaap_ClaimsPaidCoverageMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClaimsAndAssessmentsMember" id="us-gaap_ClaimsAndAssessmentsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForClaimsAndClaimsAdjustmentExpense"
               id="us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="LiabilityForClaimsAndClaimsAdjustmentExpenseByProductSegmentAbstract"
               id="us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpenseByProductSegmentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForClaimsAndClaimsAdjustmentExpenseMethodologiesAndAssumptions"
               id="us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpenseMethodologiesAndAssumptions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilityForClaimsAndClaimsAdjustmentExpenseDisabilityAccidentAndHealth"
               id="us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpenseDisabilityAccidentAndHealth"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualty"
               id="us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClaimsUnderProductWarrantiesMember"
               id="us-gaap_ClaimsUnderProductWarrantiesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EnvironmentalCostsOfPropertyForSaleDisposalOrAbandonmentBalanceSheetCaption"
               id="us-gaap_EnvironmentalCostsOfPropertyForSaleDisposalOrAbandonmentBalanceSheetCaption"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClassificationOfRecordedGuaranteeLiabilities"
               id="us-gaap_ClassificationOfRecordedGuaranteeLiabilities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClearanceFees" id="us-gaap_ClearanceFees" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ClearanceFeesMember" id="us-gaap_ClearanceFeesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClientFundsHeld" id="us-gaap_ClientFundsHeld"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockAssetsAndLiabilities"
               id="us-gaap_ClosedBlockAssetsAndLiabilities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockAssetsAndLiabilitiesMaximumFutureEarningsToBeRecognized"
               id="us-gaap_ClosedBlockAssetsAndLiabilitiesMaximumFutureEarningsToBeRecognized"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockAssetsAndLiabilitiesEffectOnOtherComprehensiveIncome"
               id="us-gaap_ClosedBlockAssetsAndLiabilitiesEffectOnOtherComprehensiveIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockAssetsAndLiabilitiesChangeInPolicyholderDividendObligation"
               id="us-gaap_ClosedBlockAssetsAndLiabilitiesChangeInPolicyholderDividendObligation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockAssetsAndLiabilitiesDisclosures"
               id="us-gaap_ClosedBlockAssetsAndLiabilitiesDisclosures"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockAssetsAndLiabilitiesAbstract"
               id="us-gaap_ClosedBlockAssetsAndLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockDescription" id="us-gaap_ClosedBlockDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockDescriptionOfMethodOfEmergenceOfEarnings"
               id="us-gaap_ClosedBlockDescriptionOfMethodOfEmergenceOfEarnings"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockInvestmentsFixedMaturityAvailableForSaleAmortizedCost"
               id="us-gaap_ClosedBlockInvestmentsFixedMaturityAvailableForSaleAmortizedCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsDesignatedToClosedBlockFixedMaturityAvailableForSaleAtFairValue"
               id="us-gaap_AssetsDesignatedToClosedBlockFixedMaturityAvailableForSaleAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockInvestmentsAvailableForSaleChangeInUnrealizedAppreciation"
               id="us-gaap_ClosedBlockInvestmentsAvailableForSaleChangeInUnrealizedAppreciation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockLiabilities" id="us-gaap_ClosedBlockLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockLiabilitiesAbstract"
               id="us-gaap_ClosedBlockLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockLiabilitiesFuturePolicyBenefitsAndPolicyholderAccountBalances"
               id="us-gaap_ClosedBlockLiabilitiesFuturePolicyBenefitsAndPolicyholderAccountBalances"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockLiabilitiesOtherClosedBlockLiabilities"
               id="us-gaap_ClosedBlockLiabilitiesOtherClosedBlockLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockLiabilitiesPolicyholderDividendObligation"
               id="us-gaap_ClosedBlockLiabilitiesPolicyholderDividendObligation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockLiabilitiesPolicyholderDividendsPayable"
               id="us-gaap_ClosedBlockLiabilitiesPolicyholderDividendsPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClosedBlockDisclosureAbstract" id="us-gaap_ClosedBlockDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsBenefitsAndExpense"
               id="us-gaap_ClosedBlockOperationsBenefitsAndExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsChangeInPolicyholderBenefitsAndInterestCreditedToPolicyholderAccountBalances"
               id="us-gaap_ClosedBlockOperationsChangeInPolicyholderBenefitsAndInterestCreditedToPolicyholderAccountBalances"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsChangeInPolicyholderDividendObligation"
               id="us-gaap_ClosedBlockOperationsChangeInPolicyholderDividendObligation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsRevenue" id="us-gaap_ClosedBlockOperationsRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsIncomeTaxes"
               id="us-gaap_ClosedBlockOperationsIncomeTaxes"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsNetInvestmentIncome"
               id="us-gaap_ClosedBlockOperationsNetInvestmentIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsOtherExpense"
               id="us-gaap_ClosedBlockOperationsOtherExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsOtherRevenue"
               id="us-gaap_ClosedBlockOperationsOtherRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsPolicyholderDividends"
               id="us-gaap_ClosedBlockOperationsPolicyholderDividends"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsPremiums" id="us-gaap_ClosedBlockOperationsPremiums"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsRealizedInvestmentGainsLosses"
               id="us-gaap_ClosedBlockOperationsRealizedInvestmentGainsLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsNetResults"
               id="us-gaap_ClosedBlockOperationsNetResults"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsResultsBeforeIncomeTaxes"
               id="us-gaap_ClosedBlockOperationsResultsBeforeIncomeTaxes"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsPolicyholderBenefits"
               id="us-gaap_ClosedBlockOperationsPolicyholderBenefits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsRevenueAbstract"
               id="us-gaap_ClosedBlockOperationsRevenueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockOperationsNetResultsAbstract"
               id="us-gaap_ClosedBlockOperationsNetResultsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockPolicyholderDividendObligation"
               id="us-gaap_ClosedBlockPolicyholderDividendObligation"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockPresentationBasis" id="us-gaap_ClosedBlockPresentationBasis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockSummarizedFinancialDataAbstract"
               id="us-gaap_ClosedBlockSummarizedFinancialDataAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClosedBlockTermsOfOperation" id="us-gaap_ClosedBlockTermsOfOperation"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CoalSupplyAgreementObligationNoncurrent"
               id="us-gaap_CoalSupplyAgreementObligationNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CoalSupplyAgreementsMember" id="us-gaap_CoalSupplyAgreementsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashCollateralForBorrowedSecurities"
               id="us-gaap_CashCollateralForBorrowedSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="IncreaseDecreaseInCashCollateralForBorrowedSecurities"
               id="us-gaap_IncreaseDecreaseInCashCollateralForBorrowedSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderCommodityExchangeActRegulation"
               id="us-gaap_CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderCommodityExchangeActRegulation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderCommodityExchangeActRegulationDescription"
               id="us-gaap_CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderCommodityExchangeActRegulationDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderOtherRegulations"
               id="us-gaap_CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderOtherRegulations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderOtherRegulationsDescription"
               id="us-gaap_CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderOtherRegulationsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderSecuritiesExchangeCommissionRegulation"
               id="us-gaap_CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderSecuritiesExchangeCommissionRegulation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderSecuritiesExchangeCommissionRegulationDescription"
               id="us-gaap_CollateralHeldOnReverseRepurchaseAgreementsSegregatedUnderSecuritiesExchangeCommissionRegulationDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInCashCollateralForLoanedSecurities"
               id="us-gaap_IncreaseDecreaseInCashCollateralForLoanedSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CollateralOnLoanedSecuritiesAndDerivatives"
               id="us-gaap_CollateralOnLoanedSecuritiesAndDerivatives"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CollateralReceivedThatCanBeResoldOrRepledgedAbstract"
               id="us-gaap_CollateralReceivedThatCanBeResoldOrRepledgedAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CollateralSecuritiesRepledgedDeliveredOrUsed"
               id="us-gaap_CollateralSecuritiesRepledgedDeliveredOrUsed"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CollateralSecuritiesRepledgedDeliveredOrUsedMember"
               id="us-gaap_CollateralSecuritiesRepledgedDeliveredOrUsedMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BrokerDealerCollateralizedAgreements"
               id="us-gaap_BrokerDealerCollateralizedAgreements"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="BrokerDealerCollateralizedAgreementsAbstract"
               id="us-gaap_BrokerDealerCollateralizedAgreementsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CollateralizedMortgageObligationsMember"
               id="us-gaap_CollateralizedMortgageObligationsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CollectibilityOfReceivablesMember"
               id="us-gaap_CollectibilityOfReceivablesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensationRelatedCostsGeneralTextBlock"
               id="us-gaap_CompensationRelatedCostsGeneralTextBlock"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LoansReceivableCommercialConstruction"
               id="us-gaap_LoansReceivableCommercialConstruction"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="LoansReceivableCommercialAndIndustrial"
               id="us-gaap_LoansReceivableCommercialAndIndustrial"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CommercialLoanMember" id="us-gaap_CommercialLoanMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LoansAndLeasesReceivableCommercial"
               id="us-gaap_LoansAndLeasesReceivableCommercial"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="LoansAndLeasesReceivableCommercialAbstract"
               id="us-gaap_LoansAndLeasesReceivableCommercialAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LoansReceivableCommercialFinancialInstitutions"
               id="us-gaap_LoansReceivableCommercialFinancialInstitutions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="LoansAndLeasesReceivableCommercialGovernments"
               id="us-gaap_LoansAndLeasesReceivableCommercialGovernments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="LoansReceivableCommercialMortgage"
               id="us-gaap_LoansReceivableCommercialMortgage"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CommercialPaper" id="us-gaap_CommercialPaper"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CommercialPaperAtCarryingValue"
               id="us-gaap_CommercialPaperAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CommercialPaperCurrent" id="us-gaap_CommercialPaperCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CommercialPaperMember" id="us-gaap_CommercialPaperMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommercialPaperNoncurrent" id="us-gaap_CommercialPaperNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CommercialRealEstateMember" id="us-gaap_CommercialRealEstateMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommissionsPolicy" id="us-gaap_CommissionsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsForCommissions" id="us-gaap_PaymentsForCommissions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromCommissionsReceived"
               id="us-gaap_ProceedsFromCommissionsReceived"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CommitmentDisclosuresAbstract" id="us-gaap_CommitmentDisclosuresAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommitmentsContingenciesNote" id="us-gaap_CommitmentsContingenciesNote"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommitmentsContingencies" id="us-gaap_CommitmentsContingencies"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CommitmentsToExtendCreditMember"
               id="us-gaap_CommitmentsToExtendCreditMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommoditiesInvestmentMember" id="us-gaap_CommoditiesInvestmentMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommodityContractAssetCurrent" id="us-gaap_CommodityContractAssetCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CommodityContractAssetNoncurrent"
               id="us-gaap_CommodityContractAssetNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CommodityFuturesContractsAndSpotCommoditiesProprietaryCapitalCharges"
               id="us-gaap_CommodityFuturesContractsAndSpotCommoditiesProprietaryCapitalCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CommonClassBMember" id="us-gaap_CommonClassBMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockholdersEquityAbstract"
               id="us-gaap_CommonStockholdersEquityAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockDescriptionDomain" id="us-gaap_CommonStockDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockAdditionalPaidInCapital"
               id="us-gaap_CommonStockAdditionalPaidInCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockDescription" id="us-gaap_CommonStockDescription"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockHeldBySubsidiary" id="us-gaap_CommonStockHeldBySubsidiary"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockIssuedEmployeeStockTrust"
               id="us-gaap_CommonStockIssuedEmployeeStockTrust"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ClassOfCommonStockLineItems" id="us-gaap_ClassOfCommonStockLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockParValuePerShare" id="us-gaap_CommonStockParValuePerShare"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockSharesSubscriptions"
               id="us-gaap_CommonStockSharesSubscriptions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockShareSubscribedButUnissuedSubscriptionsReceivable"
               id="us-gaap_CommonStockShareSubscribedButUnissuedSubscriptionsReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockSharesAuthorized" id="us-gaap_CommonStockSharesAuthorized"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockNumberSharesChanges"
               id="us-gaap_CommonStockNumberSharesChanges"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesIssued" id="us-gaap_CommonStockSharesIssued"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockSharesIssuedAcquisitions"
               id="us-gaap_CommonStockSharesIssuedAcquisitions"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesIssuedConvertibleSecurities"
               id="us-gaap_CommonStockSharesIssuedConvertibleSecurities"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesIssuedEmployeeStockOwnershipPlan"
               id="us-gaap_CommonStockSharesIssuedEmployeeStockOwnershipPlan"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockIssuedEmployeeStockPurchasePlanNumberShares"
               id="us-gaap_CommonStockIssuedEmployeeStockPurchasePlanNumberShares"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesIssuedNewIssues"
               id="us-gaap_CommonStockSharesIssuedNewIssues"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockIssuedEmployeesRestrictedSharesNumberShares"
               id="us-gaap_CommonStockIssuedEmployeesRestrictedSharesNumberShares"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesIssuedRestrictedStockAwardForfeitures"
               id="us-gaap_CommonStockSharesIssuedRestrictedStockAwardForfeitures"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesIssuedRestrictedStockAwardNetOfForfeitures"
               id="us-gaap_CommonStockSharesIssuedRestrictedStockAwardNetOfForfeitures"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesIssuedShareBasedCompensation"
               id="us-gaap_CommonStockSharesIssuedShareBasedCompensation"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ExerciseStockOptionsCommonStockNumberShares"
               id="us-gaap_ExerciseStockOptionsCommonStockNumberShares"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesIssuedStockSplits"
               id="us-gaap_CommonStockSharesIssuedStockSplits"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ExerciseStockOptionsTreasuryStockNumberShares"
               id="us-gaap_ExerciseStockOptionsTreasuryStockNumberShares"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesOutstanding" id="us-gaap_CommonStockSharesOutstanding"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockSharesRepurchasedAndHeldInTreasury"
               id="us-gaap_CommonStockSharesRepurchasedAndHeldInTreasury"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockPurchasedRetiredNumberShares"
               id="us-gaap_CommonStockPurchasedRetiredNumberShares"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesSharesHeldInTrustForEmployeeStockOwnershipPlan"
               id="us-gaap_CommonStockSharesSharesHeldInTrustForEmployeeStockOwnershipPlan"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockSharesStockDividend"
               id="us-gaap_CommonStockSharesStockDividend"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClassOfCommonStockTable" id="us-gaap_ClassOfCommonStockTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockTransactionsNet" id="us-gaap_CommonStockTransactionsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueExcludingAdditionalPaidInCapital"
               id="us-gaap_CommonStockValueExcludingAdditionalPaidInCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockValueExcludingAdditionalPaidInCapitalPeriodIncreaseDecrease"
               id="us-gaap_CommonStockValueExcludingAdditionalPaidInCapitalPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockIssuedParValue" id="us-gaap_CommonStockIssuedParValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="StockIssuedPursuantAcquisitionCommonStockParValue"
               id="us-gaap_StockIssuedPursuantAcquisitionCommonStockParValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueExcludingAdditionalPaidInCapitalIssuedConvertibleSecurities"
               id="us-gaap_CommonStockValueExcludingAdditionalPaidInCapitalIssuedConvertibleSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueExcludingAdditionalPaidInCapitalIssuedEmployeeStockOwnershipPlan"
               id="us-gaap_CommonStockValueExcludingAdditionalPaidInCapitalIssuedEmployeeStockOwnershipPlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockIssuedEmployeeStockPurchasePlanParValue"
               id="us-gaap_CommonStockIssuedEmployeeStockPurchasePlanParValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueExcludingAdditionalPaidInCapitalIssuedForfeitures"
               id="us-gaap_CommonStockValueExcludingAdditionalPaidInCapitalIssuedForfeitures"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueExcludingAdditionalPaidInCapitalIssuedNewIssues"
               id="us-gaap_CommonStockValueExcludingAdditionalPaidInCapitalIssuedNewIssues"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockIssuedEmployeesRestrictedSharesParValue"
               id="us-gaap_CommonStockIssuedEmployeesRestrictedSharesParValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueExcludingAdditionalPaidInCapitalIssuedRestrictedStockAwardNetOfForfeitures"
               id="us-gaap_CommonStockValueExcludingAdditionalPaidInCapitalIssuedRestrictedStockAwardNetOfForfeitures"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueExcludingAdditionalPaidInCapitalIssuedShareBasedCompensation"
               id="us-gaap_CommonStockValueExcludingAdditionalPaidInCapitalIssuedShareBasedCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ExerciseStockOptionsCommonStockParValue"
               id="us-gaap_ExerciseStockOptionsCommonStockParValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockPurchasedRetiredParValue"
               id="us-gaap_CommonStockPurchasedRetiredParValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueExcludingAdditionalPaidInCapitalSharesHeldInTrustForEmployeeStockOwnershipPlan"
               id="us-gaap_CommonStockValueExcludingAdditionalPaidInCapitalSharesHeldInTrustForEmployeeStockOwnershipPlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockHeldInTrust" id="us-gaap_CommonStockHeldInTrust"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockDiscountOnShares" id="us-gaap_CommonStockDiscountOnShares"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockUnamortizedDiscountOnShares"
               id="us-gaap_CommonStockUnamortizedDiscountOnShares"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CommonStockIssued" id="us-gaap_CommonStockIssued"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssued"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssued"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssuedAcquisitions"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssuedAcquisitions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssuedConvertibleSecurities"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssuedConvertibleSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssuedEmployeeStockOwnershipPlan"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssuedEmployeeStockOwnershipPlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockIssuedEmployeeStockPurchasePlan"
               id="us-gaap_CommonStockIssuedEmployeeStockPurchasePlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssuedNewIssues"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssuedNewIssues"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockIssuedEmployeesRestrictedShares"
               id="us-gaap_CommonStockIssuedEmployeesRestrictedShares"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssuedRestrictedStockAwardForfeitures"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssuedRestrictedStockAwardForfeitures"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssuedRestrictedStockAwardNetOfForfeitures"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssuedRestrictedStockAwardNetOfForfeitures"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssuedShareBasedCompensation"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssuedShareBasedCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssuedSharesHeldInTrustForEmployeeStockOwnershipPlan"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssuedSharesHeldInTrustForEmployeeStockOwnershipPlan"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ExerciseStockOptionsTreasuryStockValue"
               id="us-gaap_ExerciseStockOptionsTreasuryStockValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssuedTaxBenefitFromShareBasedCompensation"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssuedTaxBenefitFromShareBasedCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockValueIncludingAdditionalPaidInCapitalIssuedTreasuryStockReissuedAsCommonStock"
               id="us-gaap_CommonStockValueIncludingAdditionalPaidInCapitalIssuedTreasuryStockReissuedAsCommonStock"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommonStockPurchasedRetired" id="us-gaap_CommonStockPurchasedRetired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="StockDividendCommonStock" id="us-gaap_StockDividendCommonStock"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CommunicationsAndDataProcessingMember"
               id="us-gaap_CommunicationsAndDataProcessingMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CommunicationsDataProcessingAndOccupancyMember"
               id="us-gaap_CommunicationsDataProcessingAndOccupancyMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LifeInsuranceCorporateOrBankOwnedAmount"
               id="us-gaap_LifeInsuranceCorporateOrBankOwnedAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CompensatedAbsencesPolicy" id="us-gaap_CompensatedAbsencesPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensatedAbsencesLiabilityAbstract"
               id="us-gaap_CompensatedAbsencesLiabilityAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensatedAbsencesLiabilitySabbaticalLeave"
               id="us-gaap_CompensatedAbsencesLiabilitySabbaticalLeave"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CompensatedAbsencesLiability" id="us-gaap_CompensatedAbsencesLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CompensatedAbsencesLiabilityVacationAndHoliday"
               id="us-gaap_CompensatedAbsencesLiabilityVacationAndHoliday"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CompensatedAbsencesNotAccrued" id="us-gaap_CompensatedAbsencesNotAccrued"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensatingBalanceTypeOfCashAndCashEquivalentsAxis"
               id="us-gaap_CompensatingBalanceTypeOfCashAndCashEquivalentsAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ScheduleOfCompensatingBalancesTextBlock"
               id="us-gaap_ScheduleOfCompensatingBalancesTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensatingBalanceAmount" id="us-gaap_CompensatingBalanceAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CompensatingBalanceAgreement" id="us-gaap_CompensatingBalanceAgreement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensatingBalanceDescription"
               id="us-gaap_CompensatingBalanceDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensatingBalancePurpose" id="us-gaap_CompensatingBalancePurpose"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensatingBalanceLineItems" id="us-gaap_CompensatingBalanceLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensatingBalancesTable" id="us-gaap_CompensatingBalancesTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensationAndBenefitsTrust" id="us-gaap_CompensationAndBenefitsTrust"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CompensationRelatedCostsGeneralAbstract"
               id="us-gaap_CompensationRelatedCostsGeneralAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensationRelatedCostsPolicyAbstract"
               id="us-gaap_CompensationRelatedCostsPolicyAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompensationRelatedCostsAndLiabilitiesShareBasedPaymentsAbstract"
               id="us-gaap_CompensationRelatedCostsAndLiabilitiesShareBasedPaymentsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CompetitiveTransitionChargeMember"
               id="us-gaap_CompetitiveTransitionChargeMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="CompetitiveTransitionChargeNoncurrent"
               id="us-gaap_CompetitiveTransitionChargeNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ComponentOfGoodwillNotAllocatedToSegmentsByComponentAxis"
               id="us-gaap_ComponentOfGoodwillNotAllocatedToSegmentsByComponentAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComponentOfGoodwillNotAllocatedToSegmentsLineItems"
               id="us-gaap_ComponentOfGoodwillNotAllocatedToSegmentsLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComponentOfGoodwillNotAllocatedToSegmentsTable"
               id="us-gaap_ComponentOfGoodwillNotAllocatedToSegmentsTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               id="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               id="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract"
               id="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncomeLossFromContinuingOperationsBeforeIncomeTaxesComponentsOfEarningsLossAbstract"
               id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesComponentsOfEarningsLossAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComponentsOfFairValueHedgeIneffectivenessAbstract"
               id="us-gaap_ComponentsOfFairValueHedgeIneffectivenessAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               id="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract"
               id="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IncomeTaxExpenseBenefitContinuingOperationsAbstract"
               id="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               id="us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               id="us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               id="us-gaap_OtherIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               id="us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComprehensiveIncomeAccumulatedGainsLossesNetDeferredHedgingGainLoss"
               id="us-gaap_ComprehensiveIncomeAccumulatedGainsLossesNetDeferredHedgingGainLoss"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ComprehensiveIncomeAccumulatedGainsLossesNetAdditionalMinimumPensionLiability"
               id="us-gaap_ComprehensiveIncomeAccumulatedGainsLossesNetAdditionalMinimumPensionLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ComprehensiveIncomeAccumulatedGainsLossesNetCurrencyTranslationAdjustment"
               id="us-gaap_ComprehensiveIncomeAccumulatedGainsLossesNetCurrencyTranslationAdjustment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ComprehensiveIncomeAccumulatedGainLossNetUnrealizedGainLossOnAvailableForSaleSecurities"
               id="us-gaap_ComprehensiveIncomeAccumulatedGainLossNetUnrealizedGainLossOnAvailableForSaleSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ComprehensiveIncomeNetOfTax" id="us-gaap_ComprehensiveIncomeNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ComprehensiveIncomeNoteTextBlock"
               id="us-gaap_ComprehensiveIncomeNoteTextBlock"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComputationOfAlternativeNetCapitalRequirementAbstract"
               id="us-gaap_ComputationOfAlternativeNetCapitalRequirementAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComputationOfBasicNetCapitalRequirementAbstract"
               id="us-gaap_ComputationOfBasicNetCapitalRequirementAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RegulatoryCapitalRequirementsAbstract"
               id="us-gaap_RegulatoryCapitalRequirementsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComputationOfNetCapitalUnderSecuritiesAndExchangeCommissionRegulation"
               id="us-gaap_ComputationOfNetCapitalUnderSecuritiesAndExchangeCommissionRegulation"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComputerEquipmentMember" id="us-gaap_ComputerEquipmentMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComputerSoftwareIntangibleAssetMember"
               id="us-gaap_ComputerSoftwareIntangibleAssetMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationOfCededCreditRisk"
               id="us-gaap_ConcentrationOfCededCreditRisk"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskDisclosureTextBlock"
               id="us-gaap_ConcentrationRiskDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskPercentage" id="us-gaap_ConcentrationRiskPercentage"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ConcentrationRiskTypeAxis" id="us-gaap_ConcentrationRiskTypeAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskLineItems" id="us-gaap_ConcentrationRiskLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskTable" id="us-gaap_ConcentrationRiskTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskAvailabilityOfServices"
               id="us-gaap_ConcentrationRiskAvailabilityOfServices"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskContributor" id="us-gaap_ConcentrationRiskContributor"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskCreditRisk" id="us-gaap_ConcentrationRiskCreditRisk"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskCreditRiskFinancialInstruments"
               id="us-gaap_ConcentrationRiskCreditRiskFinancialInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskCreditRiskFinancialInstrumentsOffBalanceSheetRisk"
               id="us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentsOffBalanceSheetRisk"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskCreditRiskLoanProducts"
               id="us-gaap_ConcentrationRiskCreditRiskLoanProducts"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskCreditRiskReinsurance"
               id="us-gaap_ConcentrationRiskCreditRiskReinsurance"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskCreditRiskUninsuredDeposits"
               id="us-gaap_ConcentrationRiskCreditRiskUninsuredDeposits"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskCustomer" id="us-gaap_ConcentrationRiskCustomer"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskGeographic" id="us-gaap_ConcentrationRiskGeographic"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskGovernmentContracts"
               id="us-gaap_ConcentrationRiskGovernmentContracts"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskGrantor" id="us-gaap_ConcentrationRiskGrantor"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskLaborSubjectToCollectiveBargainingArrangements"
               id="us-gaap_ConcentrationRiskLaborSubjectToCollectiveBargainingArrangements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskLender" id="us-gaap_ConcentrationRiskLender"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskLicense" id="us-gaap_ConcentrationRiskLicense"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskMarketRisk" id="us-gaap_ConcentrationRiskMarketRisk"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskOtherRisk" id="us-gaap_ConcentrationRiskOtherRisk"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskPatentAndOtherRights"
               id="us-gaap_ConcentrationRiskPatentAndOtherRights"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskProduct" id="us-gaap_ConcentrationRiskProduct"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="UncertaintyRegulatoryOversight"
               id="us-gaap_UncertaintyRegulatoryOversight"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskServiceProvided"
               id="us-gaap_ConcentrationRiskServiceProvided"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskSupplier" id="us-gaap_ConcentrationRiskSupplier"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConcentrationRiskTypeDomain" id="us-gaap_ConcentrationRiskTypeDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock"
               id="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConsolidatedOilAndGasProductionAbstract"
               id="us-gaap_ConsolidatedOilAndGasProductionAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConsolidatedOilAndGasProductionCostsPerUnitOfProduction"
               id="us-gaap_ConsolidatedOilAndGasProductionCostsPerUnitOfProduction"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConsolidatedOilAndGasProductionCostsUnitOfMeasure"
               id="us-gaap_ConsolidatedOilAndGasProductionCostsUnitOfMeasure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConsolidatedPropertyAndCasualtyInsuranceEntityMember"
               id="us-gaap_ConsolidatedPropertyAndCasualtyInsuranceEntityMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConsolidationEntityIdentification"
               id="us-gaap_ConsolidationEntityIdentification"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConsolidationPolicyAbstract" id="us-gaap_ConsolidationPolicyAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConsolidationQualifyingSpecialPurposeEntityPolicy"
               id="us-gaap_ConsolidationQualifyingSpecialPurposeEntityPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy"
               id="us-gaap_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConsolidationSubsidiaryStockIssuancesPolicy"
               id="us-gaap_ConsolidationSubsidiaryStockIssuancesPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConsolidationVariableInterestEntityPolicy"
               id="us-gaap_ConsolidationVariableInterestEntityPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConstructionLoansMember" id="us-gaap_ConstructionLoansMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateInventoryConstructionMaterials"
               id="us-gaap_RealEstateInventoryConstructionMaterials"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ConstructionPayable" id="us-gaap_ConstructionPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ConstructionProgress" id="us-gaap_ConstructionProgress"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ConsumerLoanMember" id="us-gaap_ConsumerLoanMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LoansAndLeasesReceivableConsumerConstruction"
               id="us-gaap_LoansAndLeasesReceivableConsumerConstruction"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="LoansAndLeasesReceivableConsumerMortgage"
               id="us-gaap_LoansAndLeasesReceivableConsumerMortgage"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ContainersMember" id="us-gaap_ContainersMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContingentConsiderationByTypeAxis"
               id="us-gaap_ContingentConsiderationByTypeAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContingentConsiderationTypeDomain"
               id="us-gaap_ContingentConsiderationTypeDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContractReceivableRetainage" id="us-gaap_ContractReceivableRetainage"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ContractReceivableRetainageDueFourToFiveYears"
               id="us-gaap_ContractReceivableRetainageDueFourToFiveYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ContractReceivableRetainageDueFiveYearsOrMore"
               id="us-gaap_ContractReceivableRetainageDueFiveYearsOrMore"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ContractReceivableRetainageDueOneToTwoYears"
               id="us-gaap_ContractReceivableRetainageDueOneToTwoYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ContractReceivableRetainageDueOneYearOrLess"
               id="us-gaap_ContractReceivableRetainageDueOneYearOrLess"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ContractReceivableRetainageDueThreeToFourYears"
               id="us-gaap_ContractReceivableRetainageDueThreeToFourYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ContractReceivableRetainageDueTwoToThreeYears"
               id="us-gaap_ContractReceivableRetainageDueTwoToThreeYears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ContractHolderReceivables" id="us-gaap_ContractHolderReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ContractsAccountedForUnderPercentageOfCompletionMember"
               id="us-gaap_ContractsAccountedForUnderPercentageOfCompletionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContractsInForceSubjectToParticipationThroughReinsurancePercentage"
               id="us-gaap_ContractsInForceSubjectToParticipationThroughReinsurancePercentage"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContractsInForceSubjectToParticipationThroughReinsuranceValue"
               id="us-gaap_ContractsInForceSubjectToParticipationThroughReinsuranceValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ContractualInterestExpenseOnPrepetitionLiabilitiesNotRecognizedInStatementOfOperations"
               id="us-gaap_ContractualInterestExpenseOnPrepetitionLiabilitiesNotRecognizedInStatementOfOperations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ContractualMaturitiesOfTimeDepositsOver100000Description"
               id="us-gaap_ContractualMaturitiesOfTimeDepositsOver100000Description"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContractualMaturitiesTimeDepositsOver100000Abstract"
               id="us-gaap_ContractualMaturitiesTimeDepositsOver100000Abstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContractualRightsMember" id="us-gaap_ContractualRightsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContractuallySpecifiedServicingFeesAmount"
               id="us-gaap_ContractuallySpecifiedServicingFeesAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ContractuallySpecifiedServicingFeesDescriptionOfWhereReportedOnStatementOfIncome"
               id="us-gaap_ContractuallySpecifiedServicingFeesDescriptionOfWhereReportedOnStatementOfIncome"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContractuallySpecifiedServicingFeesLateFeesAndAncillaryFeesEarnedInExchangeForServicingFinancialAssetsAbstract"
               id="us-gaap_ContractuallySpecifiedServicingFeesLateFeesAndAncillaryFeesEarnedInExchangeForServicingFinancialAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromContributedCapital"
               id="us-gaap_ProceedsFromContributedCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ContributionOfLandByGovernmentUnitMember"
               id="us-gaap_ContributionOfLandByGovernmentUnitMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContributionOfNonmonetaryAssetsToCharitableOrganizationMember"
               id="us-gaap_ContributionOfNonmonetaryAssetsToCharitableOrganizationMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromContributionsFromAffiliates"
               id="us-gaap_ProceedsFromContributionsFromAffiliates"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ContributionsInAidOfConstruction"
               id="us-gaap_ContributionsInAidOfConstruction"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ConventionalLoanMember" id="us-gaap_ConventionalLoanMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConversionOfStockAmountConverted"
               id="us-gaap_ConversionOfStockAmountConverted"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="ConversionOfStockAmountIssued" id="us-gaap_ConversionOfStockAmountIssued"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ConversionOfStockDescriptionDomain"
               id="us-gaap_ConversionOfStockDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConversionOfStockNewIssuance" id="us-gaap_ConversionOfStockNewIssuance"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConversionOfStockSharesConverted"
               id="us-gaap_ConversionOfStockSharesConverted"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ConversionOfStockSharesIssued" id="us-gaap_ConversionOfStockSharesIssued"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ConversionOfStockTypeOfStockConverted"
               id="us-gaap_ConversionOfStockTypeOfStockConverted"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConversionOfStockByUniqueDescriptionAxis"
               id="us-gaap_ConversionOfStockByUniqueDescriptionAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConversionOfStockLineItems" id="us-gaap_ConversionOfStockLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConversionOfStockTable" id="us-gaap_ConversionOfStockTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertibleDebenturesMember" id="us-gaap_ConvertibleDebenturesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertibleDebtCurrent" id="us-gaap_ConvertibleDebtCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertibleDebtMember" id="us-gaap_ConvertibleDebtMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertibleNotesPayableCurrent"
               id="us-gaap_ConvertibleNotesPayableCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertibleNotesPayable" id="us-gaap_ConvertibleNotesPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertibleLongTermNotesPayable"
               id="us-gaap_ConvertibleLongTermNotesPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertiblePreferredStockAmountOfPreferredDividendsInArrears"
               id="us-gaap_ConvertiblePreferredStockAmountOfPreferredDividendsInArrears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockContractTerms"
               id="us-gaap_ConvertiblePreferredStockContractTerms"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockDomain"
               id="us-gaap_ConvertiblePreferredStockDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockDividendPaymentRateVariable"
               id="us-gaap_ConvertiblePreferredStockDividendPaymentRateVariable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockDividendPaymentTerms"
               id="us-gaap_ConvertiblePreferredStockDividendPaymentTerms"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockDividendPreferenceOrRestrictions"
               id="us-gaap_ConvertiblePreferredStockDividendPreferenceOrRestrictions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockDividendRatePercentageOrPerDollarAmount"
               id="us-gaap_ConvertiblePreferredStockDividendRatePercentageOrPerDollarAmount"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockLiquidationPreference"
               id="us-gaap_ConvertiblePreferredStockLiquidationPreference"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockParStatedValuePerShare"
               id="us-gaap_ConvertiblePreferredStockParStatedValuePerShare"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertiblePreferredStockPerShareAmountsOfPreferredDividendsInArrears"
               id="us-gaap_ConvertiblePreferredStockPerShareAmountsOfPreferredDividendsInArrears"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockShareSubscriptions"
               id="us-gaap_ConvertiblePreferredStockShareSubscriptions"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertiblePreferredStockSharesAuthorized"
               id="us-gaap_ConvertiblePreferredStockSharesAuthorized"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertiblePreferredStockSharesIssued"
               id="us-gaap_ConvertiblePreferredStockSharesIssued"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertiblePreferredStockSharesIssuedUponConversion"
               id="us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertiblePreferredStockSharesOutstanding"
               id="us-gaap_ConvertiblePreferredStockSharesOutstanding"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertiblePreferredStockSharesReservedForFutureIssuance"
               id="us-gaap_ConvertiblePreferredStockSharesReservedForFutureIssuance"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertiblePreferredStockTermsOfConversion"
               id="us-gaap_ConvertiblePreferredStockTermsOfConversion"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockVotingRights"
               id="us-gaap_ConvertiblePreferredStockVotingRights"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockConvertedToOtherSecurities"
               id="us-gaap_ConvertiblePreferredStockConvertedToOtherSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ClassOfConvertiblePreferredStockLineItems"
               id="us-gaap_ClassOfConvertiblePreferredStockLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredStockMember"
               id="us-gaap_ConvertiblePreferredStockMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ClassOfConvertiblePreferredStockTable"
               id="us-gaap_ClassOfConvertiblePreferredStockTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertiblePreferredNonredeemableOrRedeemableIssuerOptionValueExcludingAdditionalPaidInCapital"
               id="us-gaap_ConvertiblePreferredNonredeemableOrRedeemableIssuerOptionValueExcludingAdditionalPaidInCapital"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertibleSubordinatedDebtCurrent"
               id="us-gaap_ConvertibleSubordinatedDebtCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertibleSubordinatedDebt" id="us-gaap_ConvertibleSubordinatedDebt"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="ConvertibleSubordinatedDebtMember"
               id="us-gaap_ConvertibleSubordinatedDebtMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ConvertibleSubordinatedDebtNoncurrent"
               id="us-gaap_ConvertibleSubordinatedDebtNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CooperativeAdvertisingAmount" id="us-gaap_CooperativeAdvertisingAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CooperativeAdvertisingPolicy" id="us-gaap_CooperativeAdvertisingPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CopyrightsMember" id="us-gaap_CopyrightsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CoreDepositsMember" id="us-gaap_CoreDepositsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="FinancialInstrumentsSoldNotYetPurchasedCorporateDebt"
               id="us-gaap_FinancialInstrumentsSoldNotYetPurchasedCorporateDebt"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CorporateDebtSecuritiesMember" id="us-gaap_CorporateDebtSecuritiesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="FinancialInstrumentsSoldNotYetPurchasedCorporateEquities"
               id="us-gaap_FinancialInstrumentsSoldNotYetPurchasedCorporateEquities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CorporateLifeInsuranceGuaranteedRate"
               id="us-gaap_CorporateLifeInsuranceGuaranteedRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CorporateLifeInsuranceInterestRateAssumptions"
               id="us-gaap_CorporateLifeInsuranceInterestRateAssumptions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CorporateLifeInsuranceWeightedAverageCreditRate"
               id="us-gaap_CorporateLifeInsuranceWeightedAverageCreditRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CorporateMember" id="us-gaap_CorporateMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="FinancialInstrumentsAndOtherPositionsCorporateDebt"
               id="us-gaap_FinancialInstrumentsAndOtherPositionsCorporateDebt"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="FeesAndCommissionsCorrespondentClearing"
               id="us-gaap_FeesAndCommissionsCorrespondentClearing"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="AdvertisingRevenueCost" id="us-gaap_AdvertisingRevenueCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AffiliateCosts" id="us-gaap_AffiliateCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="BinderCosts" id="us-gaap_BinderCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="BrokeredNaturalGasMarginCosts" id="us-gaap_BrokeredNaturalGasMarginCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfChemicals" id="us-gaap_CostOfChemicals"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfCoalProductsAndServices" id="us-gaap_CostOfCoalProductsAndServices"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ConcessionsCosts" id="us-gaap_ConcessionsCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ConstructionAndDevelopmentCosts"
               id="us-gaap_ConstructionAndDevelopmentCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ConstructionAndDevelopmentCostsAbstract"
               id="us-gaap_ConstructionAndDevelopmentCostsAbstract"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContractRevenueCost" id="us-gaap_ContractRevenueCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectOperatingCosts" id="us-gaap_DirectOperatingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectOperatingCostsAbstract" id="us-gaap_DirectOperatingCostsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DirectOperatingCommunicationsCosts"
               id="us-gaap_DirectOperatingCommunicationsCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectCommunicationsAndUtilitiesCosts"
               id="us-gaap_DirectCommunicationsAndUtilitiesCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectCommunicationsAndUtilitiesCostsAbstract"
               id="us-gaap_DirectCommunicationsAndUtilitiesCostsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OperatingInsuranceAndClaimsCostsProduction"
               id="us-gaap_OperatingInsuranceAndClaimsCostsProduction"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectOperatingCostRoyaltyExpense"
               id="us-gaap_DirectOperatingCostRoyaltyExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectOperatingMaintenanceSuppliesCosts"
               id="us-gaap_DirectOperatingMaintenanceSuppliesCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectTaxesAndLicensesCosts" id="us-gaap_DirectTaxesAndLicensesCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfDomesticRegulatedElectric"
               id="us-gaap_CostOfDomesticRegulatedElectric"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ElectricProductionExpense" id="us-gaap_ElectricProductionExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfServicesEnergyServices" id="us-gaap_CostOfServicesEnergyServices"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ExplorationAndProductionCosts" id="us-gaap_ExplorationAndProductionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="FacilityCosts" id="us-gaap_FacilityCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AssetManagementCosts" id="us-gaap_AssetManagementCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="FinancialServicesCosts" id="us-gaap_FinancialServicesCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="FinancialServicesCostsAbstract"
               id="us-gaap_FinancialServicesCostsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="FranchiseCosts" id="us-gaap_FranchiseCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="FreightCosts" id="us-gaap_FreightCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="FuelCosts" id="us-gaap_FuelCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="GasGatheringTransportationMarketingAndProcessingCosts"
               id="us-gaap_GasGatheringTransportationMarketingAndProcessingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="GeneralContractorCosts" id="us-gaap_GeneralContractorCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoldProductsAndServices" id="us-gaap_CostOfGoldProductsAndServices"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldDirectTaxesAndLicensesCosts"
               id="us-gaap_CostOfGoodsSoldDirectTaxesAndLicensesCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldMaintenanceCosts"
               id="us-gaap_CostOfGoodsSoldMaintenanceCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsAndServicesSoldMaintenance"
               id="us-gaap_CostOfGoodsAndServicesSoldMaintenance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostGoodsServicesSold" id="us-gaap_CostGoodsServicesSold"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsAndServicesSoldAbstract"
               id="us-gaap_CostOfGoodsAndServicesSoldAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsAndServicesSoldAmortization"
               id="us-gaap_CostOfGoodsAndServicesSoldAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsAndServicesSoldDepreciation"
               id="us-gaap_CostOfGoodsAndServicesSoldDepreciation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsAndServicesSoldDepreciationAndAmortization"
               id="us-gaap_CostOfGoodsAndServicesSoldDepreciationAndAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsAndServicesSoldDepreciationAndAmortizationAbstract"
               id="us-gaap_CostOfGoodsAndServicesSoldDepreciationAndAmortizationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsAndServicesSoldDirectLabor"
               id="us-gaap_CostOfGoodsAndServicesSoldDirectLabor"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsAndServicesSoldDirectMaterials"
               id="us-gaap_CostOfGoodsAndServicesSoldDirectMaterials"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsAndServicesEnergyCommoditiesAndServices"
               id="us-gaap_CostOfGoodsAndServicesEnergyCommoditiesAndServices"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsAndServicesSoldOverhead"
               id="us-gaap_CostOfGoodsAndServicesSoldOverhead"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostGoodsSold" id="us-gaap_CostGoodsSold" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldAbstract" id="us-gaap_CostOfGoodsSoldAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldDepreciationAndAmortization"
               id="us-gaap_CostOfGoodsSoldDepreciationAndAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldDirectLabor" id="us-gaap_CostOfGoodsSoldDirectLabor"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldDirectMaterials"
               id="us-gaap_CostOfGoodsSoldDirectMaterials"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldElectric" id="us-gaap_CostOfGoodsSoldElectric"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldElectricAbstract"
               id="us-gaap_CostOfGoodsSoldElectricAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldOilAndGas" id="us-gaap_CostOfGoodsSoldOilAndGas"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldOilAndGasAbstract"
               id="us-gaap_CostOfGoodsSoldOilAndGasAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldOverhead" id="us-gaap_CostOfGoodsSoldOverhead"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="HomeBuildingCosts" id="us-gaap_HomeBuildingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectCostsOfLeasedAndOwnedHotels"
               id="us-gaap_DirectCostsOfLeasedAndOwnedHotels"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectCostsOfLeasedAndOwnedHotelsAbstract"
               id="us-gaap_DirectCostsOfLeasedAndOwnedHotelsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DirectCostsOfLeasedHotels" id="us-gaap_DirectCostsOfLeasedHotels"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectCostsOfOwnedHotels" id="us-gaap_DirectCostsOfOwnedHotels"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="InventoryWriteDown" id="us-gaap_InventoryWriteDown"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectCostsOfLeasedAndRentedPropertyOrEquipment"
               id="us-gaap_DirectCostsOfLeasedAndRentedPropertyOrEquipment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="LicenseCosts" id="us-gaap_LicenseCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="MaintenanceCosts" id="us-gaap_MaintenanceCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ManufacturingCosts" id="us-gaap_ManufacturingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="MarineServicesCosts" id="us-gaap_MarineServicesCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsOfMetalsSold" id="us-gaap_CostsOfMetalsSold"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostMethodInvestmentsAdditionalInformation"
               id="us-gaap_CostMethodInvestmentsAdditionalInformation"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostMethodInvestmentsStatementThatFairValueWasNotEstimated"
               id="us-gaap_CostMethodInvestmentsStatementThatFairValueWasNotEstimated"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="MineralExtractionProcessingAndMarketingCosts"
               id="us-gaap_MineralExtractionProcessingAndMarketingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="MineralExtractionProcessingAndMarketingCostsAbstract"
               id="us-gaap_MineralExtractionProcessingAndMarketingCostsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NaturalGasMidstreamCosts" id="us-gaap_NaturalGasMidstreamCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="OccupancyCosts" id="us-gaap_OccupancyCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldDepreciationAndAmortizationAbstract"
               id="us-gaap_CostOfGoodsSoldDepreciationAndAmortizationAbstract"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OilAndGasProductionExpense" id="us-gaap_OilAndGasProductionExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfOilAndGasProspects" id="us-gaap_CostOfOilAndGasProspects"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfOtherAlternativeEnergy" id="us-gaap_CostOfOtherAlternativeEnergy"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="OtherConstructionCosts" id="us-gaap_OtherConstructionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfOtherManufacturedProducts"
               id="us-gaap_CostOfOtherManufacturedProducts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="OtherCostOfOperatingRevenue" id="us-gaap_OtherCostOfOperatingRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="OtherUtilityCosts" id="us-gaap_OtherUtilityCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="OwnedPropertyManagementCosts" id="us-gaap_OwnedPropertyManagementCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="PropaneCosts" id="us-gaap_PropaneCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfPurchasedOilAndGas" id="us-gaap_CostOfPurchasedOilAndGas"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfPurchasedPower" id="us-gaap_CostOfPurchasedPower"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfPurchasedWater" id="us-gaap_CostOfPurchasedWater"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateInsurance" id="us-gaap_RealEstateInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateCostOfRealEstateSold"
               id="us-gaap_RealEstateCostOfRealEstateSold"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateTaxExpense" id="us-gaap_RealEstateTaxExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateTaxesAndInsurance" id="us-gaap_RealEstateTaxesAndInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateTaxesAndInsuranceAbstract"
               id="us-gaap_RealEstateTaxesAndInsuranceAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RecyclingOperatingCosts" id="us-gaap_RecyclingOperatingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="RefiningAndMarketingCosts" id="us-gaap_RefiningAndMarketingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfReimbursableExpense" id="us-gaap_CostOfReimbursableExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="RelatedPartyCosts" id="us-gaap_RelatedPartyCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="AircraftRentalAndLandingFees" id="us-gaap_AircraftRentalAndLandingFees"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfPropertyRepairsAndMaintenance"
               id="us-gaap_CostOfPropertyRepairsAndMaintenance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfRevenue" id="us-gaap_CostOfRevenue" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfRevenueAbstract" id="us-gaap_CostOfRevenueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfSalesPolicy" id="us-gaap_CostOfSalesPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfSecondaryProcessing" id="us-gaap_CostOfSecondaryProcessing"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ServiceManagementCosts" id="us-gaap_ServiceManagementCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostServices" id="us-gaap_CostServices" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfServicesAbstract" id="us-gaap_CostOfServicesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostServicesDepreciation" id="us-gaap_CostServicesDepreciation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfServicesEnvironmentalRemediation"
               id="us-gaap_CostOfServicesEnvironmentalRemediation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfServicesDirectLabor" id="us-gaap_CostOfServicesDirectLabor"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfServicesDirectMaterials" id="us-gaap_CostOfServicesDirectMaterials"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfServicesDirectTaxesAndLicensesCosts"
               id="us-gaap_CostOfServicesDirectTaxesAndLicensesCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedServiceCosts" id="us-gaap_EmbeddedServiceCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfServicesMaintenanceCosts"
               id="us-gaap_CostOfServicesMaintenanceCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="OtherCostOfServices" id="us-gaap_OtherCostOfServices"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfServicesOverhead" id="us-gaap_CostOfServicesOverhead"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ServiceTechnologiesCosts" id="us-gaap_ServiceTechnologiesCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfGoodsSoldSubscription" id="us-gaap_CostOfGoodsSoldSubscription"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="SyntheticFuelCosts" id="us-gaap_SyntheticFuelCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="TimberOperatingCosts" id="us-gaap_TimberOperatingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="TimeShareCosts" id="us-gaap_TimeShareCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="TimeShareCarryingCharges" id="us-gaap_TimeShareCarryingCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfTransmissionAffiliates" id="us-gaap_CostOfTransmissionAffiliates"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfTransmissionOther" id="us-gaap_CostOfTransmissionOther"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ShippingHandlingAndTransportationCosts"
               id="us-gaap_ShippingHandlingAndTransportationCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ShippingHandlingAndTransportationCostsAbstract"
               id="us-gaap_ShippingHandlingAndTransportationCostsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedAfterOneYear"
               id="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedAfterOneYear"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear"
               id="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CostOfUtilities" id="us-gaap_CostOfUtilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="UtilitiesCosts" id="us-gaap_UtilitiesCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="WaterProductionCosts" id="us-gaap_WaterProductionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="WellServiceExpense" id="us-gaap_WellServiceExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfWorldwideUnregulatedElectric"
               id="us-gaap_CostOfWorldwideUnregulatedElectric"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyOngoingBenefitArrangements"
               id="us-gaap_CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyOngoingBenefitArrangements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyAbstract"
               id="us-gaap_CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="FacilityMembershipAndOperationsCosts"
               id="us-gaap_FacilityMembershipAndOperationsCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsIncurredAcquisitionOfOilAndGasProperties"
               id="us-gaap_CostsIncurredAcquisitionOfOilAndGasProperties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsIncurredAcquisitionOfOilAndGasPropertiesWithProvedReserves"
               id="us-gaap_CostsIncurredAcquisitionOfOilAndGasPropertiesWithProvedReserves"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsIncurredAcquisitionOfUnprovedOilAndGasProperties"
               id="us-gaap_CostsIncurredAcquisitionOfUnprovedOilAndGasProperties"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsIncurredAssetRetirementObligationIncurred"
               id="us-gaap_CostsIncurredAssetRetirementObligationIncurred"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsIncurredDevelopmentCosts" id="us-gaap_CostsIncurredDevelopmentCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsIncurredExplorationCosts" id="us-gaap_CostsIncurredExplorationCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="GeographicAreaOfCostsIncurredDomain"
               id="us-gaap_GeographicAreaOfCostsIncurredDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostsIncurredProportionalInterestOfCostsIncurredByEquityCompanies"
               id="us-gaap_CostsIncurredProportionalInterestOfCostsIncurredByEquityCompanies"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsIncurredInOilAndGasPropertyAcquisitionExplorationAndDevelopmentActivitiesAxis"
               id="us-gaap_CostsIncurredInOilAndGasPropertyAcquisitionExplorationAndDevelopmentActivitiesAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostsIncurredOilAndGasPropertyAcquisitionExplorationAndDevelopmentActivitiesLineItems"
               id="us-gaap_CostsIncurredOilAndGasPropertyAcquisitionExplorationAndDevelopmentActivitiesLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostsIncurredInOilAndGasPropertyAcquisitionExplorationAndDevelopmentActivitiesTable"
               id="us-gaap_CostsIncurredInOilAndGasPropertyAcquisitionExplorationAndDevelopmentActivitiesTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LeveragedBuyoutCostOfTransactionChargedToExpenseAbstract"
               id="us-gaap_LeveragedBuyoutCostOfTransactionChargedToExpenseAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostOfOtherPropertyOperatingExpense"
               id="us-gaap_CostOfOtherPropertyOperatingExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsOfRealEstateServicesAndLandSales"
               id="us-gaap_CostsOfRealEstateServicesAndLandSales"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CostsInExcessOfBillingsOnUncompletedContractsOrPrograms"
               id="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CostsInExcessOfBillingsOnUncompletedContractsOrProgramsAbstract"
               id="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditAvailabilityConcentrationRiskMember"
               id="us-gaap_CreditAvailabilityConcentrationRiskMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LoansAndLeasesReceivableConsumerRevolvingCreditCard"
               id="us-gaap_LoansAndLeasesReceivableConsumerRevolvingCreditCard"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CreditCardOriginationCostsAbstract"
               id="us-gaap_CreditCardOriginationCostsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditCardOriginationCostsDisclosure"
               id="us-gaap_CreditCardOriginationCostsDisclosure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditCardOriginationCostsPolicy"
               id="us-gaap_CreditCardOriginationCostsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditCardReceivablesMember" id="us-gaap_CreditCardReceivablesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditConcentrationRiskMember" id="us-gaap_CreditConcentrationRiskMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditAndDebitCardReceivablesAtCarryingValue"
               id="us-gaap_CreditAndDebitCardReceivablesAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CreditAndDebitCardReceivablesMember"
               id="us-gaap_CreditAndDebitCardReceivablesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditDefaultOptionMember" id="us-gaap_CreditDefaultOptionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditDefaultSwapMember" id="us-gaap_CreditDefaultSwapMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditRiskDerivativeAssetsAtFairValue"
               id="us-gaap_CreditRiskDerivativeAssetsAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CreditRiskDerivativeLiabilitiesAtFairValue"
               id="us-gaap_CreditRiskDerivativeLiabilitiesAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CreditRiskDerivativesAbstract" id="us-gaap_CreditRiskDerivativesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditRiskDerivativesAtFairValueNet"
               id="us-gaap_CreditRiskDerivativesAtFairValueNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CreditRiskMember" id="us-gaap_CreditRiskMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CreditSpreadOptionMember" id="us-gaap_CreditSpreadOptionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CrudeOilAndNaturalGasLiquids" id="us-gaap_CrudeOilAndNaturalGasLiquids"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CumulativePreferredStockMember"
               id="us-gaap_CumulativePreferredStockMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CumulativeTranslationAdjustmentIncreaseDecreaseGrossOfTax"
               id="us-gaap_CumulativeTranslationAdjustmentIncreaseDecreaseGrossOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease"
               id="us-gaap_CumulativeTranslationAdjustmentNetOfTaxPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CumulativeTranslationAdjustmentNetTaxEffect"
               id="us-gaap_CumulativeTranslationAdjustmentNetTaxEffect"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CumulativeTranslationAdjustmentSummaryRollForward"
               id="us-gaap_CumulativeTranslationAdjustmentSummaryRollForward"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CumulativeTranslationAdjustmentTaxBenefitExpense"
               id="us-gaap_CumulativeTranslationAdjustmentTaxBenefitExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CurrencySwapMember" id="us-gaap_CurrencySwapMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AssetsHeldForSaleAccumulatedDepreciationAndAmortizationCapitalLeasedAssets"
               id="us-gaap_AssetsHeldForSaleAccumulatedDepreciationAndAmortizationCapitalLeasedAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldForSaleCapitalLeasedAssetsGross"
               id="us-gaap_AssetsHeldForSaleCapitalLeasedAssetsGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldForSaleCapitalLeasedAssetsNet"
               id="us-gaap_AssetsHeldForSaleCapitalLeasedAssetsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="AssetsHeldForSaleCapitalLeasedAssetsNetAbstract"
               id="us-gaap_AssetsHeldForSaleCapitalLeasedAssetsNetAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CurrentFederalTax" id="us-gaap_CurrentFederalTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CurrentForeignTax" id="us-gaap_CurrentForeignTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CurrentIncomeTaxExpenseBenefit"
               id="us-gaap_CurrentIncomeTaxExpenseBenefit"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CurrentIncomeTaxExpenseBenefitAbstract"
               id="us-gaap_CurrentIncomeTaxExpenseBenefitAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CurrentLiabilities" id="us-gaap_CurrentLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="LiabilitiesCurrentAbstract" id="us-gaap_LiabilitiesCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CurrentOtherTaxExpenseBenefit" id="us-gaap_CurrentOtherTaxExpenseBenefit"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IntangibleAssetsCurrent" id="us-gaap_IntangibleAssetsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="LongTermDebtCurrentAbstract" id="us-gaap_LongTermDebtCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LongTermDebtAndCapitalLeaseObligationsCurrent"
               id="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="LongTermDebtAndCapitalLeaseObligationsCurrentAbstract"
               id="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherLongTermDebtCurrent" id="us-gaap_OtherLongTermDebtCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CurrentStateLocalTaxes" id="us-gaap_CurrentStateLocalTaxes"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CustodyFees" id="us-gaap_CustodyFees" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerAdvancesNoncurrent" id="us-gaap_CustomerAdvancesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerAdvancesCurrent" id="us-gaap_CustomerAdvancesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerAdvances" id="us-gaap_CustomerAdvances"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerAdvancesDepositsCurrent"
               id="us-gaap_CustomerAdvancesDepositsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerAdvancesAndDepositsCurrentAbstract"
               id="us-gaap_CustomerAdvancesAndDepositsCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerAdvancesAndDeposits" id="us-gaap_CustomerAdvancesAndDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerAdvancesOrDepositsNoncurrent"
               id="us-gaap_CustomerAdvancesOrDepositsNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerAdvancesOrDepositsNoncurrentAbstract"
               id="us-gaap_CustomerAdvancesOrDepositsNoncurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerAdvancesForConstruction"
               id="us-gaap_CustomerAdvancesForConstruction"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerAdvancesForGovernmentContractsNotNettedAgainstAccountsReceivable"
               id="us-gaap_CustomerAdvancesForGovernmentContractsNotNettedAgainstAccountsReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerAdvancesAndProgressPaymentsForLongTermContractsOrPrograms"
               id="us-gaap_CustomerAdvancesAndProgressPaymentsForLongTermContractsOrPrograms"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="BilledAndUnbilledContractClaimsSubjectToUncertaintyAbstract"
               id="us-gaap_BilledAndUnbilledContractClaimsSubjectToUncertaintyAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ContractClaimsDescription" id="us-gaap_ContractClaimsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerConcentrationRiskMember"
               id="us-gaap_CustomerConcentrationRiskMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerDepositsCurrent" id="us-gaap_CustomerDepositsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerDeposits" id="us-gaap_CustomerDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerDepositsNoncurrent" id="us-gaap_CustomerDepositsNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerFunds" id="us-gaap_CustomerFunds" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerListsMember" id="us-gaap_CustomerListsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerReceiptsMember" id="us-gaap_CustomerReceiptsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerRefundLiabilityNoncurrent"
               id="us-gaap_CustomerRefundLiabilityNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerRefundableFees" id="us-gaap_CustomerRefundableFees"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerRefundableFeesCashReceived"
               id="us-gaap_CustomerRefundableFeesCashReceived"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerRefundableFeesPeriodIncreaseDecrease"
               id="us-gaap_CustomerRefundableFeesPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerRefundableFeesRevenueRecognized"
               id="us-gaap_CustomerRefundableFeesRevenueRecognized"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerRefundableFeesRefundPayments"
               id="us-gaap_CustomerRefundableFeesRefundPayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerRelationshipsMember" id="us-gaap_CustomerRelationshipsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeAbstract"
               id="us-gaap_CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeDescription"
               id="us-gaap_CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeDescription"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeClassification"
               id="us-gaap_CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeClassification"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeSecuritiesTypeDomain"
               id="us-gaap_CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeSecuritiesTypeDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeAxis"
               id="us-gaap_CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeFairValueOfSecuritiesSoldOrRepledged"
               id="us-gaap_CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeFairValueOfSecuritiesSoldOrRepledged"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeLineItems"
               id="us-gaap_CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeSecuritiesType"
               id="us-gaap_CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeSecuritiesType"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeTable"
               id="us-gaap_CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueFromCustomerAcceptances" id="us-gaap_DueFromCustomerAcceptances"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomersLiabilityForAcceptancesGross"
               id="us-gaap_CustomersLiabilityForAcceptancesGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="CustomersLiabilityForAcceptancesNetAbstract"
               id="us-gaap_CustomersLiabilityForAcceptancesNetAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CustomersLiabilityForAcceptancesNet"
               id="us-gaap_CustomersLiabilityForAcceptancesNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DJIAIndexFutureMember" id="us-gaap_DJIAIndexFutureMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DamageFromFireExplosionOrOtherHazardMember"
               id="us-gaap_DamageFromFireExplosionOrOtherHazardMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DamagesFromProductDefectsMember"
               id="us-gaap_DamagesFromProductDefectsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DatabasesMember" id="us-gaap_DatabasesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtCapitalLeaseObligations" id="us-gaap_DebtCapitalLeaseObligations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtAndCapitalLeaseObligationsAbstract"
               id="us-gaap_DebtAndCapitalLeaseObligationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtCapitalLeaseObligationsCurrent"
               id="us-gaap_DebtCapitalLeaseObligationsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtCurrentAbstract" id="us-gaap_DebtCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtCapitalLeaseObligationsLongTerm"
               id="us-gaap_DebtCapitalLeaseObligationsLongTerm"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="LongTermDebtAndCapitalLeaseObligationsAbstract"
               id="us-gaap_LongTermDebtAndCapitalLeaseObligationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherLongTermDebtAndCapitalLeaseObligations"
               id="us-gaap_OtherLongTermDebtAndCapitalLeaseObligations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtConversionConvertedInstrumentAmount"
               id="us-gaap_DebtConversionConvertedInstrumentAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtConversionConvertedInstrumentExpirationOrDueDateDayMonthAndYear"
               id="us-gaap_DebtConversionConvertedInstrumentExpirationOrDueDateDayMonthAndYear"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionConvertedInstrumentExpirationOrDueDateMonthAndYear"
               id="us-gaap_DebtConversionConvertedInstrumentExpirationOrDueDateMonthAndYear"
               type="xbrli:gYearMonthItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionConvertedInstrumentExpirationOrDueDateYear"
               id="us-gaap_DebtConversionConvertedInstrumentExpirationOrDueDateYear"
               type="xbrli:gYearItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionConvertedInstrumentIssuanceDateDayMonthAndYear"
               id="us-gaap_DebtConversionConvertedInstrumentIssuanceDateDayMonthAndYear"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionConvertedInstrumentIssuanceDateMonthAndYear"
               id="us-gaap_DebtConversionConvertedInstrumentIssuanceDateMonthAndYear"
               type="xbrli:gYearMonthItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionConvertedInstrumentIssuanceDateYear"
               id="us-gaap_DebtConversionConvertedInstrumentIssuanceDateYear"
               type="xbrli:gYearItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionConvertedInstrumentRate"
               id="us-gaap_DebtConversionConvertedInstrumentRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionConvertedInstrumentSharesIssued"
               id="us-gaap_DebtConversionConvertedInstrumentSharesIssued"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DebtConversionConvertedInstrumentType"
               id="us-gaap_DebtConversionConvertedInstrumentType"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionConvertedInstrumentWarrantsOrOptionsIssued"
               id="us-gaap_DebtConversionConvertedInstrumentWarrantsOrOptionsIssued"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DebtConversionOriginalDebtAmount"
               id="us-gaap_DebtConversionOriginalDebtAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtConversionOriginalDebtDueDateOfDebtDayMonthAndYear"
               id="us-gaap_DebtConversionOriginalDebtDueDateOfDebtDayMonthAndYear"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionOriginalDebtDueDateOfDebtMonthAndYear"
               id="us-gaap_DebtConversionOriginalDebtDueDateOfDebtMonthAndYear"
               type="xbrli:gYearMonthItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionOriginalDebtDueDateOfDebtYear"
               id="us-gaap_DebtConversionOriginalDebtDueDateOfDebtYear"
               type="xbrli:gYearItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionOriginalDebtInterestRateOfDebt"
               id="us-gaap_DebtConversionOriginalDebtInterestRateOfDebt"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionOriginalDebtIssuanceDateOfDebtDayMonthAndYear"
               id="us-gaap_DebtConversionOriginalDebtIssuanceDateOfDebtDayMonthAndYear"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionOriginalDebtIssuanceDateOfDebtMonthAndYear"
               id="us-gaap_DebtConversionOriginalDebtIssuanceDateOfDebtMonthAndYear"
               type="xbrli:gYearMonthItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionOriginalDebtIssuanceDateOfDebtYear"
               id="us-gaap_DebtConversionOriginalDebtIssuanceDateOfDebtYear"
               type="xbrli:gYearItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionOriginalDebtTypeOfDebt"
               id="us-gaap_DebtConversionOriginalDebtTypeOfDebt"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionByUniqueDescriptionAxis"
               id="us-gaap_DebtConversionByUniqueDescriptionAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionLineItems" id="us-gaap_DebtConversionLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionTable" id="us-gaap_DebtConversionTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtConversionDescriptionDomain"
               id="us-gaap_DebtConversionDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtDisclosureTextBlock" id="us-gaap_DebtDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentAnnualPrincipalPayment"
               id="us-gaap_DebtInstrumentAnnualPrincipalPayment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentCommitteeOnUniformSecuritiesIdentificationProceduresCUSIP"
               id="us-gaap_DebtInstrumentCommitteeOnUniformSecuritiesIdentificationProceduresCUSIP"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentCallDateEarliest"
               id="us-gaap_DebtInstrumentCallDateEarliest"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentCallDateLatest" id="us-gaap_DebtInstrumentCallDateLatest"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentCallFeature" id="us-gaap_DebtInstrumentCallFeature"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentCarryingAmount" id="us-gaap_DebtInstrumentCarryingAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentCollateral" id="us-gaap_DebtInstrumentCollateral"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentCollateralFees" id="us-gaap_DebtInstrumentCollateralFees"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentConvertibleBeneficialConversionFeature"
               id="us-gaap_DebtInstrumentConvertibleBeneficialConversionFeature"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentConvertibleConversionRatio"
               id="us-gaap_DebtInstrumentConvertibleConversionRatio"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentConvertibleEarliestDate"
               id="us-gaap_DebtInstrumentConvertibleEarliestDate"
               type="us-types:dateStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentConvertibleLatestDate"
               id="us-gaap_DebtInstrumentConvertibleLatestDate"
               type="us-types:dateStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentConvertibleNumberOfEquityInstruments"
               id="us-gaap_DebtInstrumentConvertibleNumberOfEquityInstruments"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentConvertibleTermsOfConversionFeature"
               id="us-gaap_DebtInstrumentConvertibleTermsOfConversionFeature"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentConvertibleTypeOfEquitySecurity"
               id="us-gaap_DebtInstrumentConvertibleTypeOfEquitySecurity"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentCovenantCompliance"
               id="us-gaap_DebtInstrumentCovenantCompliance"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentCovenantDescription"
               id="us-gaap_DebtInstrumentCovenantDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentCreditRating" id="us-gaap_DebtInstrumentCreditRating"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentCurrency" id="us-gaap_DebtInstrumentCurrency"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentDateOfFirstRequiredPayment"
               id="us-gaap_DebtInstrumentDateOfFirstRequiredPayment"
               type="us-types:dateStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentDecreaseForgiveness"
               id="us-gaap_DebtInstrumentDecreaseForgiveness"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentDecreaseRepayments"
               id="us-gaap_DebtInstrumentDecreaseRepayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentDescription" id="us-gaap_DebtInstrumentDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentFaceAmount" id="us-gaap_DebtInstrumentFaceAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentFairValue" id="us-gaap_DebtInstrumentFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentFairValueBasisForMeasurement"
               id="us-gaap_DebtInstrumentFairValueBasisForMeasurement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentFee" id="us-gaap_DebtInstrumentFee"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NonoperatingAssetRelatedIncome"
               id="us-gaap_NonoperatingAssetRelatedIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentFrequencyOfFee" id="us-gaap_DebtInstrumentFrequencyOfFee"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentFrequencyOfPeriodicPayment"
               id="us-gaap_DebtInstrumentFrequencyOfPeriodicPayment"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentIncreaseAccruedInterest"
               id="us-gaap_DebtInstrumentIncreaseAccruedInterest"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentIncreaseAdditionalBorrowings"
               id="us-gaap_DebtInstrumentIncreaseAdditionalBorrowings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentIncreaseDecreaseForPeriodDescription"
               id="us-gaap_DebtInstrumentIncreaseDecreaseForPeriodDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentIncreaseDecreaseForPeriodNet"
               id="us-gaap_DebtInstrumentIncreaseDecreaseForPeriodNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentIncreaseDecreaseOtherNet"
               id="us-gaap_DebtInstrumentIncreaseDecreaseOtherNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentInterestRateBasisForEffectiveRate"
               id="us-gaap_DebtInstrumentInterestRateBasisForEffectiveRate"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentInterestRateDuringPeriod"
               id="us-gaap_DebtInstrumentInterestRateDuringPeriod"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentInterestRateEffectivePercentage"
               id="us-gaap_DebtInstrumentInterestRateEffectivePercentage"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentInterestRateAtPeriodEnd"
               id="us-gaap_DebtInstrumentInterestRateAtPeriodEnd"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentInterestRateStatedPercentage"
               id="us-gaap_DebtInstrumentInterestRateStatedPercentage"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentInterestRateTerms"
               id="us-gaap_DebtInstrumentInterestRateTerms"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentIssuanceDate" id="us-gaap_DebtInstrumentIssuanceDate"
               type="us-types:dateStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentIssuer" id="us-gaap_DebtInstrumentIssuer"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentMaturityDate" id="us-gaap_DebtInstrumentMaturityDate"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentMaturityDateDescription"
               id="us-gaap_DebtInstrumentMaturityDateDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentNameDomain" id="us-gaap_DebtInstrumentNameDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentOfferingDate" id="us-gaap_DebtInstrumentOfferingDate"
               type="us-types:dateStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentPaymentTerms" id="us-gaap_DebtInstrumentPaymentTerms"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentPeriodicPayment" id="us-gaap_DebtInstrumentPeriodicPayment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentPeriodicPaymentInterest"
               id="us-gaap_DebtInstrumentPeriodicPaymentInterest"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentPeriodicPaymentPrincipal"
               id="us-gaap_DebtInstrumentPeriodicPaymentPrincipal"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentPrincipalOutstanding"
               id="us-gaap_DebtInstrumentPrincipalOutstanding"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentPriority" id="us-gaap_DebtInstrumentPriority"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentRestrictiveCovenants"
               id="us-gaap_DebtInstrumentRestrictiveCovenants"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentSinkingFundAmount"
               id="us-gaap_DebtInstrumentSinkingFundAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentSinkingFundDescription"
               id="us-gaap_DebtInstrumentSinkingFundDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentTaxStatus" id="us-gaap_DebtInstrumentTaxStatus"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentUnamortizedDiscount"
               id="us-gaap_DebtInstrumentUnamortizedDiscount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentUnamortizedPremium"
               id="us-gaap_DebtInstrumentUnamortizedPremium"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentUnusedBorrowingCapacityAmount"
               id="us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DebtInstrumentUnusedBorrowingCapacityDescription"
               id="us-gaap_DebtInstrumentUnusedBorrowingCapacityDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentUnusedBorrowingCapacityFee"
               id="us-gaap_DebtInstrumentUnusedBorrowingCapacityFee"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentsAbstract" id="us-gaap_DebtInstrumentsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentAxis" id="us-gaap_DebtInstrumentAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentLineItems" id="us-gaap_DebtInstrumentLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtInstrumentTable" id="us-gaap_DebtInstrumentTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsOfDebtIssuanceCosts" id="us-gaap_PaymentsOfDebtIssuanceCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtMember" id="us-gaap_DebtMember" type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtRelatedCommitmentFeesAndDebtIssuanceCosts"
               id="us-gaap_DebtRelatedCommitmentFeesAndDebtIssuanceCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsOfDebtRestructuringCosts"
               id="us-gaap_PaymentsOfDebtRestructuringCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtSecuritiesMember" id="us-gaap_DebtSecuritiesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorInPossessionFinancingAbstract"
               id="us-gaap_DebtorInPossessionFinancingAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorInPossessionFinancingBorrowingsOutstanding"
               id="us-gaap_DebtorInPossessionFinancingBorrowingsOutstanding"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtorInPossessionFinancingDateArrangementApprovedByBankruptcyCourt"
               id="us-gaap_DebtorInPossessionFinancingDateArrangementApprovedByBankruptcyCourt"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DebtorInPossessionFinancingDescriptionOfArrangement"
               id="us-gaap_DebtorInPossessionFinancingDescriptionOfArrangement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorInPossessionFinancingFeeOnUnusedBorrowings"
               id="us-gaap_DebtorInPossessionFinancingFeeOnUnusedBorrowings"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DebtorInPossessionFinancingInterestRateOnBorrowingsOutstanding"
               id="us-gaap_DebtorInPossessionFinancingInterestRateOnBorrowingsOutstanding"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DebtorInPossessionFinancingLettersOfCreditOutstanding"
               id="us-gaap_DebtorInPossessionFinancingLettersOfCreditOutstanding"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtorInPossessionFinancingPurposeOfArrangement"
               id="us-gaap_DebtorInPossessionFinancingPurposeOfArrangement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorInPossessionFinancingUnusedBorrowings"
               id="us-gaap_DebtorInPossessionFinancingUnusedBorrowings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DebtorReorganizationItemsDebtorInPossessionFacilityFinancingCosts"
               id="us-gaap_DebtorReorganizationItemsDebtorInPossessionFacilityFinancingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsDischargeOfClaimsAndLiabilities"
               id="us-gaap_DebtorReorganizationItemsDischargeOfClaimsAndLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsEmployeeRelatedCharges"
               id="us-gaap_DebtorReorganizationItemsEmployeeRelatedCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsImpairmentLoss"
               id="us-gaap_DebtorReorganizationItemsImpairmentLoss"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsInterestIncomeOnAccumulatedCash"
               id="us-gaap_DebtorReorganizationItemsInterestIncomeOnAccumulatedCash"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsLegalAndAdvisoryProfessionalFees"
               id="us-gaap_DebtorReorganizationItemsLegalAndAdvisoryProfessionalFees"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsGainLossOnAssetSalesNet"
               id="us-gaap_DebtorReorganizationItemsGainLossOnAssetSalesNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsNetGainLossOnRejectionOfLeasesAndOtherExecutoryContracts"
               id="us-gaap_DebtorReorganizationItemsNetGainLossOnRejectionOfLeasesAndOtherExecutoryContracts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsGainLossOnSettlementOfOtherClaimsNet"
               id="us-gaap_DebtorReorganizationItemsGainLossOnSettlementOfOtherClaimsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsOtherExpenseIncome"
               id="us-gaap_DebtorReorganizationItemsOtherExpenseIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsPensionAndOtherPostretirementRelatedCharges"
               id="us-gaap_DebtorReorganizationItemsPensionAndOtherPostretirementRelatedCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsProvisionForExpectedAllowedClaims"
               id="us-gaap_DebtorReorganizationItemsProvisionForExpectedAllowedClaims"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsRetireeRelatedCharges"
               id="us-gaap_DebtorReorganizationItemsRetireeRelatedCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsRevaluationOfAssetsAndLiabilities"
               id="us-gaap_DebtorReorganizationItemsRevaluationOfAssetsAndLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsRevaluationOfCustomerRelatedObligations"
               id="us-gaap_DebtorReorganizationItemsRevaluationOfCustomerRelatedObligations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DebtorReorganizationItemsWriteOffOfDeferredFinancingCostsAndDebtDiscounts"
               id="us-gaap_DebtorReorganizationItemsWriteOffOfDeferredFinancingCostsAndDebtDiscounts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DecommissioningFundInvestments"
               id="us-gaap_DecommissioningFundInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DecommissioningLiabilityNoncurrent"
               id="us-gaap_DecommissioningLiabilityNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DecommissioningTrustAssetsDescription"
               id="us-gaap_DecommissioningTrustAssetsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DecommissioningTrustAssetsAmount"
               id="us-gaap_DecommissioningTrustAssetsAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DecreaseDueToSalesOfMineralsInPlace"
               id="us-gaap_DecreaseDueToSalesOfMineralsInPlace"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DeductionsCharges" id="us-gaap_DeductionsCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeductionsChargesAbstract" id="us-gaap_DeductionsChargesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateAccumulatedDepreciationOtherDeductions"
               id="us-gaap_RealEstateAccumulatedDepreciationOtherDeductions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredAcquisitionCostsAbstract"
               id="us-gaap_DeferredAcquisitionCostsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredAdvertisingCosts" id="us-gaap_DeferredAdvertisingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCompensation" id="us-gaap_DeferredCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCompensationLiabilityAbstract"
               id="us-gaap_DeferredCompensationLiabilityAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualCompensationExpense"
               id="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualDescription"
               id="us-gaap_DeferredCompensationArrangementWithIndividualDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualDistributionsPaid"
               id="us-gaap_DeferredCompensationArrangementWithIndividualDistributionsPaid"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualEmployerContribution"
               id="us-gaap_DeferredCompensationArrangementWithIndividualEmployerContribution"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualNameOrRelationshipDomain"
               id="us-gaap_DeferredCompensationArrangementWithIndividualNameOrRelationshipDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualRecordedLiability"
               id="us-gaap_DeferredCompensationArrangementWithIndividualRecordedLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualSharesAuthorizedForIssuance"
               id="us-gaap_DeferredCompensationArrangementWithIndividualSharesAuthorizedForIssuance"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualSharesIssued"
               id="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualAxis"
               id="us-gaap_DeferredCompensationArrangementWithIndividualAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualLineItems"
               id="us-gaap_DeferredCompensationArrangementWithIndividualLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationArrangementWithIndividualTable"
               id="us-gaap_DeferredCompensationArrangementWithIndividualTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationArrangementsAbstract"
               id="us-gaap_DeferredCompensationArrangementsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationArrangementsWithIndividualsDisclosureTextBlock"
               id="us-gaap_DeferredCompensationArrangementsWithIndividualsDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationLiabilityCurrent"
               id="us-gaap_DeferredCompensationLiabilityCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCompensationEmployeeStockOwnershipProgram"
               id="us-gaap_DeferredCompensationEmployeeStockOwnershipProgram"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationEquity" id="us-gaap_DeferredCompensationEquity"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCompensationEquityAbstract"
               id="us-gaap_DeferredCompensationEquityAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationPeriodIncreaseDecrease"
               id="us-gaap_DeferredCompensationPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationLiabilityNoncurrentAbstract"
               id="us-gaap_DeferredCompensationLiabilityNoncurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationPlanAssets"
               id="us-gaap_DeferredCompensationPlanAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCompensationStockOptionExercises"
               id="us-gaap_DeferredCompensationStockOptionExercises"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCompensationTaxBenefitOnStockOptionExercises"
               id="us-gaap_DeferredCompensationTaxBenefitOnStockOptionExercises"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDeferredChargesInvesting"
               id="us-gaap_IncreaseDecreaseInDeferredChargesInvesting"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"
               id="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredCostsCreditCardOriginationCostsAmount"
               id="us-gaap_DeferredCostsCreditCardOriginationCostsAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCostsCreditCardOriginationCostsAmortization"
               id="us-gaap_DeferredCostsCreditCardOriginationCostsAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfDeferredCostsRelatedToLongTermContracts"
               id="us-gaap_DescriptionOfDeferredCostsRelatedToLongTermContracts"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="PostemploymentBenefitsNoncurrent"
               id="us-gaap_PostemploymentBenefitsNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredElectricCost" id="us-gaap_DeferredElectricCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredEmployeeStockOptionPlanBenefits"
               id="us-gaap_DeferredEmployeeStockOptionPlanBenefits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredFederalIncomeTax" id="us-gaap_DeferredFederalIncomeTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredFinanceCostsAbstract" id="us-gaap_DeferredFinanceCostsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredFinanceCostsDisclosures"
               id="us-gaap_DeferredFinanceCostsDisclosures"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredForeignIncomeTax" id="us-gaap_DeferredForeignIncomeTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredFuelCost" id="us-gaap_DeferredFuelCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredFuelCostsMember" id="us-gaap_DeferredFuelCostsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredGasCostChange" id="us-gaap_DeferredGasCostChange"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredGasPurchasesCurrent" id="us-gaap_DeferredGasPurchasesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredHedgingGainLossNetTaxEffect"
               id="us-gaap_DeferredHedgingGainLossNetTaxEffect"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredIncomeTaxExpenseBenefit"
               id="us-gaap_DeferredIncomeTaxExpenseBenefit"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredIncomeTaxExpenseBenefitAbstract"
               id="us-gaap_DeferredIncomeTaxExpenseBenefitAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredIncomeTaxesAndCredits" id="us-gaap_DeferredIncomeTaxesAndCredits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredIncomeTaxesAndCreditsAbstract"
               id="us-gaap_DeferredIncomeTaxesAndCreditsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredIncomeTaxesCurrentPortion"
               id="us-gaap_DeferredIncomeTaxesCurrentPortion"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredIncomeTaxesLiabilityCurrent"
               id="us-gaap_DeferredIncomeTaxesLiabilityCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredIncomeTaxLiabilities" id="us-gaap_DeferredIncomeTaxLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredIncomeTaxesPolicy" id="us-gaap_DeferredIncomeTaxesPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredLeaseRevenueMember" id="us-gaap_DeferredLeaseRevenueMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredLeasingFee" id="us-gaap_DeferredLeasingFee"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredLiabilityChargesCurrent"
               id="us-gaap_DeferredLiabilityChargesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredLiabilityChargesCurrentAbstract"
               id="us-gaap_DeferredLiabilityChargesCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherDeferredLiabilityChargesCurrent"
               id="us-gaap_OtherDeferredLiabilityChargesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="OtherDeferredLongTermLiabilityCharges"
               id="us-gaap_OtherDeferredLongTermLiabilityCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCosts" id="us-gaap_DeferredCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCostsAbstract" id="us-gaap_DeferredCostsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredLongTermLiabilityCharges"
               id="us-gaap_DeferredLongTermLiabilityCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredLongTermLiabilityChargesAbstract"
               id="us-gaap_DeferredLongTermLiabilityChargesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredAndOtherLiabilitiesCurrent"
               id="us-gaap_DeferredAndOtherLiabilitiesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredAndOtherLiabilitiesCurrentAbstract"
               id="us-gaap_DeferredAndOtherLiabilitiesCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredOtherTaxExpenseBenefit"
               id="us-gaap_DeferredOtherTaxExpenseBenefit"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredPolicyAcquisitionCosts"
               id="us-gaap_DeferredPolicyAcquisitionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredPolicyAcquisitionCostsAdditions"
               id="us-gaap_DeferredPolicyAcquisitionCostsAdditions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredPolicyAcquisitionCostAmortizationExpense"
               id="us-gaap_DeferredPolicyAcquisitionCostAmortizationExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredPolicyAcquisitionCostAmortizationExpenseNetInvestmentGainsLosses"
               id="us-gaap_DeferredPolicyAcquisitionCostAmortizationExpenseNetInvestmentGainsLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredPolicyAcquisitionCostAmortizationExpenseUnrealizedInvestmentGainsLosses"
               id="us-gaap_DeferredPolicyAcquisitionCostAmortizationExpenseUnrealizedInvestmentGainsLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="IncreaseDecreaseInDeferredPolicyAcquisitionCosts"
               id="us-gaap_IncreaseDecreaseInDeferredPolicyAcquisitionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredPolicyAcquisitionCostsDisclosuresAbstract"
               id="us-gaap_DeferredPolicyAcquisitionCostsDisclosuresAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredPolicyAcquisitionCostsNet"
               id="us-gaap_DeferredPolicyAcquisitionCostsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredPolicyAcquisitionCostsDisclosure"
               id="us-gaap_DeferredPolicyAcquisitionCostsDisclosure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredPolicyAcquisitionCostsPeriodIncreaseDecrease"
               id="us-gaap_DeferredPolicyAcquisitionCostsPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredPremiumsMember" id="us-gaap_DeferredPremiumsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredProjectCostsMember" id="us-gaap_DeferredProjectCostsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRentLiabilityNet" id="us-gaap_DeferredRentLiabilityNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredRentLiabilityNetCurrent"
               id="us-gaap_DeferredRentLiabilityNetCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredRentLiabilityNetNoncurrent"
               id="us-gaap_DeferredRentLiabilityNetNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredRentReceivablesNetCurrent"
               id="us-gaap_DeferredRentReceivablesNetCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredRentReceivablesNet" id="us-gaap_DeferredRentReceivablesNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredRentReceivablesNetNoncurrent"
               id="us-gaap_DeferredRentReceivablesNetNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredRevenueAbstract" id="us-gaap_DeferredRevenueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenueAdditions" id="us-gaap_DeferredRevenueAdditions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenueArrangementTypeAxis"
               id="us-gaap_DeferredRevenueArrangementTypeAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenueArrangementTypeDomain"
               id="us-gaap_DeferredRevenueArrangementTypeDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenueArrangementLineItems"
               id="us-gaap_DeferredRevenueArrangementLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenueArrangementByTypeTable"
               id="us-gaap_DeferredRevenueArrangementByTypeTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenueDescription" id="us-gaap_DeferredRevenueDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenueDisclosureTextBlock"
               id="us-gaap_DeferredRevenueDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenuePeriodIncreaseDecrease"
               id="us-gaap_DeferredRevenuePeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenueRevenueRecognized"
               id="us-gaap_DeferredRevenueRevenueRecognized"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenueRefundPayments" id="us-gaap_DeferredRevenueRefundPayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredRevenueSignificantChangesInBalances"
               id="us-gaap_DeferredRevenueSignificantChangesInBalances"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredSalesInducementsAdditions"
               id="us-gaap_DeferredSalesInducementsAdditions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredSalesInducementsAdjustments"
               id="us-gaap_DeferredSalesInducementsAdjustments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredSalesInducementsAmortizationExpense"
               id="us-gaap_DeferredSalesInducementsAmortizationExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredSalesInducementsDescription"
               id="us-gaap_DeferredSalesInducementsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredSalesInducementsNet" id="us-gaap_DeferredSalesInducementsNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCostsCurrent" id="us-gaap_DeferredCostsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredCostsCurrentAbstract" id="us-gaap_DeferredCostsCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredStateLocalIncomeTax" id="us-gaap_DeferredStateLocalIncomeTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredStormAndPropertyReserveDeficiencyCurrent"
               id="us-gaap_DeferredStormAndPropertyReserveDeficiencyCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredStormAndPropertyReserveDeficiencyNoncurrent"
               id="us-gaap_DeferredStormAndPropertyReserveDeficiencyNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssets" id="us-gaap_DeferredTaxAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetNoncurrent" id="us-gaap_DeferredTaxAssetNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsGrossAbstract"
               id="us-gaap_DeferredTaxAssetsGrossAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxAssetsCapitalLossCarryforwards"
               id="us-gaap_DeferredTaxAssetsCapitalLossCarryforwards"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsCharitableContributionCarryforwards"
               id="us-gaap_DeferredTaxAssetsCharitableContributionCarryforwards"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsDeferredGainOnSaleLeasebackTransaction"
               id="us-gaap_DeferredTaxAssetsDeferredGainOnSaleLeasebackTransaction"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsDeferredIncome"
               id="us-gaap_DeferredTaxAssetsDeferredIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsDerivativeInstruments"
               id="us-gaap_DeferredTaxAssetsDerivativeInstruments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsEquityMethodInvestments"
               id="us-gaap_DeferredTaxAssetsEquityMethodInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsGross" id="us-gaap_DeferredTaxAssetsGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsHedgingTransactions"
               id="us-gaap_DeferredTaxAssetsHedgingTransactions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsInProcessResearchAndDevelopment"
               id="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsInventory" id="us-gaap_DeferredTaxAssetsInventory"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsInvestmentInSubsidiaries"
               id="us-gaap_DeferredTaxAssetsInvestmentInSubsidiaries"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsLiabilitiesNetAbstract"
               id="us-gaap_DeferredTaxAssetsLiabilitiesNetAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxAssetsAndLiabilitiesOfInsuranceCompaniesAbstract"
               id="us-gaap_DeferredTaxAssetsAndLiabilitiesOfInsuranceCompaniesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxAssetsLiabilityNet" id="us-gaap_DeferredTaxAssetsLiabilityNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsLiabilitiesNetNoncurrent"
               id="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsAfterValuationAllowance"
               id="us-gaap_DeferredTaxAssetsAfterValuationAllowance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsOperatingLossCarryforwards"
               id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsOperatingLossCarryforwardsComponentsAbstract"
               id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsComponentsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxAssetsOperatingLossCarryforwardsDomestic"
               id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsOperatingLossCarryforwardsForeign"
               id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal"
               id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsOther" id="us-gaap_DeferredTaxAssetsOther"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsOtherComprehensiveLoss"
               id="us-gaap_DeferredTaxAssetsOtherComprehensiveLoss"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsOtherLossCarryforwards"
               id="us-gaap_DeferredTaxAssetsOtherLossCarryforwards"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsOtherTaxCarryforwards"
               id="us-gaap_DeferredTaxAssetsOtherTaxCarryforwards"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetTaxCreditCarryforwards"
               id="us-gaap_DeferredTaxAssetTaxCreditCarryforwards"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxCreditCarryforwardsAbstract"
               id="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxAssetsTaxCreditCarryforwardsAlternativeMinimumTax"
               id="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsAlternativeMinimumTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxCreditCarryforwardsForeign"
               id="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsForeign"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxCreditCarryforwardsGeneralBusiness"
               id="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsGeneralBusiness"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxCreditCarryforwardsOther"
               id="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsOther"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxCreditCarryforwardsResearch"
               id="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpense"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseAbstract"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsAbstract"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPensions"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPensions"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseOther"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAbstract"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAssetRetirementObligations"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAssetRetirementObligations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsContingencies"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsContingencies"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilitiesAndReceivables"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilitiesAndReceivables"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsProvisionForLoanLosses"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsProvisionForLoanLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsRestructuringCharges"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsRestructuringCharges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsSelfInsurance"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsSelfInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredPremiumReserve"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredPremiumReserve"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves"
               id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsUnrealizedCurrencyLosses"
               id="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsUnrealizedLossesOnSecurities"
               id="us-gaap_DeferredTaxAssetsUnrealizedLossesOnSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxAssetsValuationAllowance"
               id="us-gaap_DeferredTaxAssetsValuationAllowance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesAbstract"
               id="us-gaap_DeferredTaxLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxLiabilitiesCapitalAssets"
               id="us-gaap_DeferredTaxLiabilitiesCapitalAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesDeferredExpense"
               id="us-gaap_DeferredTaxLiabilitiesDeferredExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesDeferredExpenseAbstract"
               id="us-gaap_DeferredTaxLiabilitiesDeferredExpenseAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxLiabilitiesDeferredExpenseCapitalizedInterest"
               id="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInterest"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts"
               id="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesDeferredExpenseCapitalizedPatentCosts"
               id="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedPatentCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesDeferredExpenseCapitalizedResearchAndDevelopmentCosts"
               id="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedResearchAndDevelopmentCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesDeferredExpenseCapitalizedSoftware"
               id="us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedSoftware"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts"
               id="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesDeferredExpenseDeferredPolicyAcquisitionCost"
               id="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredPolicyAcquisitionCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesDeferredExpenseOtherCapitalizedCosts"
               id="us-gaap_DeferredTaxLiabilitiesDeferredExpenseOtherCapitalizedCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesFinancingArrangements"
               id="us-gaap_DeferredTaxLiabilitiesFinancingArrangements"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesGoodwillAndIntangibleAssets"
               id="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAbstract"
               id="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill"
               id="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"
               id="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesGross" id="us-gaap_DeferredTaxLiabilitiesGross"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesLeasingArrangements"
               id="us-gaap_DeferredTaxLiabilitiesLeasingArrangements"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesMortgageServicingRights"
               id="us-gaap_DeferredTaxLiabilitiesMortgageServicingRights"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesNotRecognizedAbstract"
               id="us-gaap_DeferredTaxLiabilitiesNotRecognizedAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxLiabilitiesOther" id="us-gaap_DeferredTaxLiabilitiesOther"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesOtherComprehensiveIncome"
               id="us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesOtherFiniteLivedAssets"
               id="us-gaap_DeferredTaxLiabilitiesOtherFiniteLivedAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesPrepaidPensionCosts"
               id="us-gaap_DeferredTaxLiabilitiesPrepaidPensionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesRegulatoryAssets"
               id="us-gaap_DeferredTaxLiabilitiesRegulatoryAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesInterestsInFinancialAssetsContinuedToBeHeld"
               id="us-gaap_DeferredTaxLiabilitiesInterestsInFinancialAssetsContinuedToBeHeld"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesTaxDeferredIncome"
               id="us-gaap_DeferredTaxLiabilitiesTaxDeferredIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesUndistributedForeignEarnings"
               id="us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains"
               id="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilitiesUnrealizedGainsSecurities"
               id="us-gaap_DeferredTaxLiabilitiesUnrealizedGainsSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilityNoncurrent"
               id="us-gaap_DeferredTaxLiabilityNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiability"
               id="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilityNotRecognizedCumulativeAmountOfTemporaryDifference"
               id="us-gaap_DeferredTaxLiabilityNotRecognizedCumulativeAmountOfTemporaryDifference"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxLiabilityNotRecognizedDescriptionOfTemporaryDifferenceDomain"
               id="us-gaap_DeferredTaxLiabilityNotRecognizedDescriptionOfTemporaryDifferenceDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxLiabilityNotRecognizedDeterminationOfDeferredTaxLiabilityIsNotPracticable"
               id="us-gaap_DeferredTaxLiabilityNotRecognizedDeterminationOfDeferredTaxLiabilityIsNotPracticable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxLiabilityNotRecognizedEventsThatWouldCauseTemporaryDifferenceToBeTaxable"
               id="us-gaap_DeferredTaxLiabilityNotRecognizedEventsThatWouldCauseTemporaryDifferenceToBeTaxable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxLiabilityNotRecognizedAxis"
               id="us-gaap_DeferredTaxLiabilityNotRecognizedAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxLiabilityNotRecognizedLineItems"
               id="us-gaap_DeferredTaxLiabilityNotRecognizedLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxLiabilityNotRecognizedTable"
               id="us-gaap_DeferredTaxLiabilityNotRecognizedTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxesBusinessCombinationValuationAllowanceAbstract"
               id="us-gaap_DeferredTaxesBusinessCombinationValuationAllowanceAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxesBusinessCombinationValuationAllowanceAvailableToReduceGoodwill"
               id="us-gaap_DeferredTaxesBusinessCombinationValuationAllowanceAvailableToReduceGoodwill"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxesBusinessCombinationValuationAllowanceAvailableToReduceGoodwillOrIntangibleAssetsDescription"
               id="us-gaap_DeferredTaxesBusinessCombinationValuationAllowanceAvailableToReduceGoodwillOrIntangibleAssetsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredTaxesBusinessCombinationValuationAllowanceAvailableToReduceIntangibleAssets"
               id="us-gaap_DeferredTaxesBusinessCombinationValuationAllowanceAvailableToReduceIntangibleAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxesBusinessCombinationValuationAllowanceAvailableToReduceGoodwillAndIntangibleAssets"
               id="us-gaap_DeferredTaxesBusinessCombinationValuationAllowanceAvailableToReduceGoodwillAndIntangibleAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredTaxesMember" id="us-gaap_DeferredTaxesMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherDeferredCompensationEquity"
               id="us-gaap_OtherDeferredCompensationEquity"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredGainOnSaleOfProperty" id="us-gaap_DeferredGainOnSaleOfProperty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredUnearnedRevenueCurrent"
               id="us-gaap_DeferredUnearnedRevenueCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DeferredRevenueCurrentAbstract"
               id="us-gaap_DeferredRevenueCurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredUnearnedRevenueLongTerm"
               id="us-gaap_DeferredUnearnedRevenueLongTerm"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DefinedBenefitPensionPlansAndDefinedBenefitPostretirementPlansDisclosureAbstract"
               id="us-gaap_DefinedBenefitPensionPlansAndDefinedBenefitPostretirementPlansDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DefinedBenefitPlansDomain" id="us-gaap_DefinedBenefitPlansDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DefinedBenefitPlansGeneralInformation"
               id="us-gaap_DefinedBenefitPlansGeneralInformation"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DefinedContributionPensionAndOtherPostretirementPlansDisclosureAbstract"
               id="us-gaap_DefinedContributionPensionAndOtherPostretirementPlansDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DefinedContributionPlanCostRecognized"
               id="us-gaap_DefinedContributionPlanCostRecognized"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ReductionsInOtherAssetsNoncurrentDescription"
               id="us-gaap_ReductionsInOtherAssetsNoncurrentDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DelinquentAmountAtEndOfPeriodOnLoansManagedAndSecuritized"
               id="us-gaap_DelinquentAmountAtEndOfPeriodOnLoansManagedAndSecuritized"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DemandDepositsMember" id="us-gaap_DemandDepositsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DemandSideManagementProgramCostsNoncurrent"
               id="us-gaap_DemandSideManagementProgramCostsNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="OtherInventoryDemo" id="us-gaap_OtherInventoryDemo"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DemutualizationAndClosedBlockAbstract"
               id="us-gaap_DemutualizationAndClosedBlockAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DemutualizationByInsuranceEntityAbstract"
               id="us-gaap_DemutualizationByInsuranceEntityAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DemutualizationByInsuranceEntityNatureAndTerms"
               id="us-gaap_DemutualizationByInsuranceEntityNatureAndTerms"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DemutualizationByInsuranceEntityScheduleOfNatureAndTerms"
               id="us-gaap_DemutualizationByInsuranceEntityScheduleOfNatureAndTerms"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DemutualizationByInsuranceEntityDescriptionOfSecuritiesIssued"
               id="us-gaap_DemutualizationByInsuranceEntityDescriptionOfSecuritiesIssued"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DemutualizationByInsuranceEntitySecuritiesIssuedAmountOfNetProceeds"
               id="us-gaap_DemutualizationByInsuranceEntitySecuritiesIssuedAmountOfNetProceeds"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DemutualizationByInsuranceEntitySecuritiesIssuedGrossCashProceeds"
               id="us-gaap_DemutualizationByInsuranceEntitySecuritiesIssuedGrossCashProceeds"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DemutualizationByInsuranceEntitySecuritiesIssuedGrossPolicyCredits"
               id="us-gaap_DemutualizationByInsuranceEntitySecuritiesIssuedGrossPolicyCredits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DemutualizationByInsuranceEntitySecuritiesIssuedOfferingCosts"
               id="us-gaap_DemutualizationByInsuranceEntitySecuritiesIssuedOfferingCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DemutualizationByInsuranceEntitySecuritiesIssuedPricePerShareOrUnit"
               id="us-gaap_DemutualizationByInsuranceEntitySecuritiesIssuedPricePerShareOrUnit"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DemutualizationByInsuranceEntitySecuritiesIssuedQuantityOfShares"
               id="us-gaap_DemutualizationByInsuranceEntitySecuritiesIssuedQuantityOfShares"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DepletionNonproduction" id="us-gaap_DepletionNonproduction"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DepositAssetsAbstract" id="us-gaap_DepositAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositAssets" id="us-gaap_DepositAssets" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositAssetsDisclosureAbstract"
               id="us-gaap_DepositAssetsDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositAssetsOrLiabilitiesAmortizationExpenseFromExpirations"
               id="us-gaap_DepositAssetsOrLiabilitiesAmortizationExpenseFromExpirations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DepositAssetsOrLiabilitiesChangeInAmountsBasedOnChangeInAssumptionsSupportingExpectedRecoveryAmounts"
               id="us-gaap_DepositAssetsOrLiabilitiesChangeInAmountsBasedOnChangeInAssumptionsSupportingExpectedRecoveryAmounts"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositAssetsOrLiabilitiesEffectOfChangeInInterestAccrualAssumptionOnExpectedRecoveryAmounts"
               id="us-gaap_DepositAssetsOrLiabilitiesEffectOfChangeInInterestAccrualAssumptionOnExpectedRecoveryAmounts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DepositAssetsOrLiabilitiesEffectOfChangeInPresentValueAssumptionsRecordedAsExpense"
               id="us-gaap_DepositAssetsOrLiabilitiesEffectOfChangeInPresentValueAssumptionsRecordedAsExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DepositAssetsOrLiabilitiesEffectOfChangeInPresentValueAssumptionsResultingInAdditionsToExpectedRecoveries"
               id="us-gaap_DepositAssetsOrLiabilitiesEffectOfChangeInPresentValueAssumptionsResultingInAdditionsToExpectedRecoveries"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DepositAssetsOrLiabilitiesEffectOfChangeInPresentValueAssumptionsResultingInReductionsInExpectedRecoveries"
               id="us-gaap_DepositAssetsOrLiabilitiesEffectOfChangeInPresentValueAssumptionsResultingInReductionsInExpectedRecoveries"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DepositContractsPolicy" id="us-gaap_DepositContractsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositContractsAssets" id="us-gaap_DepositContractsAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositContractsChangeInBalancesBasedOnChangeInAssumptionsSupportingExpectedRecoveryAmountsAbstract"
               id="us-gaap_DepositContractsChangeInBalancesBasedOnChangeInAssumptionsSupportingExpectedRecoveryAmountsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositContractsDescriptionOfAssetContracts"
               id="us-gaap_DepositContractsDescriptionOfAssetContracts"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositContractsDescriptionOfLiabilityContracts"
               id="us-gaap_DepositContractsDescriptionOfLiabilityContracts"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositContractsLiabilities" id="us-gaap_DepositContractsLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositLiabilitiesAbstract" id="us-gaap_DepositLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositLiabilitiesAccruedInterest"
               id="us-gaap_DepositLiabilitiesAccruedInterest"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositLiabilitiesCollateralIssuedFinancialInstruments"
               id="us-gaap_DepositLiabilitiesCollateralIssuedFinancialInstruments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositLiabilitiesCollateralIssuedDescription"
               id="us-gaap_DepositLiabilitiesCollateralIssuedDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositLiabilitiesDescription" id="us-gaap_DepositLiabilitiesDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositLiabilitiesDisclosures" id="us-gaap_DepositLiabilitiesDisclosures"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositLiabilitiesReclassifiedAsLoansReceivable"
               id="us-gaap_DepositLiabilitiesReclassifiedAsLoansReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositLiabilitiesReclassifiedAsLoansReceivableDescription"
               id="us-gaap_DepositLiabilitiesReclassifiedAsLoansReceivableDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositLiabilitiesWithAbnormalNormalTerms"
               id="us-gaap_DepositLiabilitiesWithAbnormalNormalTerms"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositLiabilitiesWithAbnormalTermsDescription"
               id="us-gaap_DepositLiabilitiesWithAbnormalTermsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="Deposits" id="us-gaap_Deposits" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositsAbstract" id="us-gaap_DepositsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositsAssetsNoncurrent" id="us-gaap_DepositsAssetsNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="TimeDepositLiabilitiesDomestic"
               id="us-gaap_TimeDepositLiabilitiesDomestic"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="TimeDepositsOfLessThan100000" id="us-gaap_TimeDepositsOfLessThan100000"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="OtherTimeDeposits" id="us-gaap_OtherTimeDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositsDemandDepositAccounts" id="us-gaap_DepositsDemandDepositAccounts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DemandDepositAccountsAbstract" id="us-gaap_DemandDepositAccountsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositsInterestBearing" id="us-gaap_DepositsInterestBearing"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="InterestBearingDepositLiabilitiesAbstract"
               id="us-gaap_InterestBearingDepositLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepositsDemandDepositAccountsNoninterestBearing"
               id="us-gaap_DepositsDemandDepositAccountsNoninterestBearing"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="NoninterestBearingDepositLiabilitiesAbstract"
               id="us-gaap_NoninterestBearingDepositLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CurrentDepositLiability" id="us-gaap_CurrentDepositLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositsMoneyMarketDeposits" id="us-gaap_DepositsMoneyMarketDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositsNegotiableOrderOfWithdrawalNOW"
               id="us-gaap_DepositsNegotiableOrderOfWithdrawalNOW"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="PaymentsForDeposits" id="us-gaap_PaymentsForDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DepositsPaidForSecuritiesBorrowedAtCarryingValue"
               id="us-gaap_DepositsPaidForSecuritiesBorrowedAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="PolicyholderContractDeposits" id="us-gaap_PolicyholderContractDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositsPurchasedOrSold" id="us-gaap_DepositsPurchasedOrSold"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DepositsReceivedForSecuritiesLoanedAtCarryingValue"
               id="us-gaap_DepositsReceivedForSecuritiesLoanedAtCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositsReceivedOnReinsuranceContracts"
               id="us-gaap_DepositsReceivedOnReinsuranceContracts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositsSavingsDeposits" id="us-gaap_DepositsSavingsDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositsTimeDeposits" id="us-gaap_DepositsTimeDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="TimeDepositsAbstract" id="us-gaap_TimeDepositsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="TimeDepositLiabilitiesForeign" id="us-gaap_TimeDepositLiabilitiesForeign"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DepositsWithClearingOrganizationsAndOthersSecurities"
               id="us-gaap_DepositsWithClearingOrganizationsAndOthersSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DepreciableAssetsMember" id="us-gaap_DepreciableAssetsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepreciationAmortization" id="us-gaap_DepreciationAmortization"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DepreciationAndAmortizationAbstract"
               id="us-gaap_DepreciationAndAmortizationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepreciationAmortizationAccretionNet"
               id="us-gaap_DepreciationAmortizationAccretionNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DepreciationAmortizationAndAccretionNetAbstract"
               id="us-gaap_DepreciationAmortizationAndAccretionNetAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DepreciationAmortizationOtherUnspecified"
               id="us-gaap_DepreciationAmortizationOtherUnspecified"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DepreciationExpenseOnReclassifiedAssets"
               id="us-gaap_DepreciationExpenseOnReclassifiedAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeAmountOfHedgedItem" id="us-gaap_DerivativeAmountOfHedgedItem"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageBasisSpreadOnVariableRate"
               id="us-gaap_DerivativeAverageBasisSpreadOnVariableRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageCapInterestRate"
               id="us-gaap_DerivativeAverageCapInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageCapPrice" id="us-gaap_DerivativeAverageCapPrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageExchangeRateCap"
               id="us-gaap_DerivativeAverageExchangeRateCap"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageExchangeRateFloor"
               id="us-gaap_DerivativeAverageExchangeRateFloor"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageFixedInterestRate"
               id="us-gaap_DerivativeAverageFixedInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeSwapTypeAverageFixedPrice"
               id="us-gaap_DerivativeSwapTypeAverageFixedPrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageFloorInterestRate"
               id="us-gaap_DerivativeAverageFloorInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageFloorPrice" id="us-gaap_DerivativeAverageFloorPrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageForeignCurrencyOptionStrikePrice"
               id="us-gaap_DerivativeAverageForeignCurrencyOptionStrikePrice"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageForwardExchangeRate"
               id="us-gaap_DerivativeAverageForwardExchangeRate"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageForwardInterestRate"
               id="us-gaap_DerivativeAverageForwardInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageForwardPrice" id="us-gaap_DerivativeAverageForwardPrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAveragePriceRiskOptionStrikePrice"
               id="us-gaap_DerivativeAveragePriceRiskOptionStrikePrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageRemainingMaturity"
               id="us-gaap_DerivativeAverageRemainingMaturity"
               type="us-types:durationStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageSwaptionInterestRate"
               id="us-gaap_DerivativeAverageSwaptionInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAverageVariableInterestRate"
               id="us-gaap_DerivativeAverageVariableInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeSwapTypeAverageVariablePrice"
               id="us-gaap_DerivativeSwapTypeAverageVariablePrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeBasisSpreadOnVariableRate"
               id="us-gaap_DerivativeBasisSpreadOnVariableRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeCapInterestRate" id="us-gaap_DerivativeCapInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeCapPrice" id="us-gaap_DerivativeCapPrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeCounterparty" id="us-gaap_DerivativeCounterparty"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeCurrencyBought" id="us-gaap_DerivativeCurrencyBought"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeCurrencySold" id="us-gaap_DerivativeCurrencySold"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeDescriptionDomain" id="us-gaap_DerivativeDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeDescriptionOfHedgedItem"
               id="us-gaap_DerivativeDescriptionOfHedgedItem"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeDescriptionOfObjective"
               id="us-gaap_DerivativeDescriptionOfObjective"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeDescriptionOfTerms" id="us-gaap_DerivativeDescriptionOfTerms"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeDescriptionOfVariableRateBasis"
               id="us-gaap_DerivativeDescriptionOfVariableRateBasis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeExchangeRateCap" id="us-gaap_DerivativeExchangeRateCap"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeExchangeRateFloor" id="us-gaap_DerivativeExchangeRateFloor"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeFairValueOfDerivativeAsset"
               id="us-gaap_DerivativeFairValueOfDerivativeAsset"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeFairValueOfDerivativeLiability"
               id="us-gaap_DerivativeFairValueOfDerivativeLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeFairValueOfDerivativeNet"
               id="us-gaap_DerivativeFairValueOfDerivativeNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeFixedInterestRate" id="us-gaap_DerivativeFixedInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeSwapTypeFixedPrice" id="us-gaap_DerivativeSwapTypeFixedPrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeFloorInterestRate" id="us-gaap_DerivativeFloorInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeFloorPrice" id="us-gaap_DerivativeFloorPrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeForeignCurrencyOptionStrikePrice"
               id="us-gaap_DerivativeForeignCurrencyOptionStrikePrice"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeForwardExchangeRate" id="us-gaap_DerivativeForwardExchangeRate"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeForwardInterestRate" id="us-gaap_DerivativeForwardInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeForwardPrice" id="us-gaap_DerivativeForwardPrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeGainLossOnDerivativeNet"
               id="us-gaap_DerivativeGainLossOnDerivativeNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeGainOnDerivative" id="us-gaap_DerivativeGainOnDerivative"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeHedgeDesignation" id="us-gaap_DerivativeHedgeDesignation"
               type="us-types:Derivative-HedgeDesignationItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeHigherFixedInterestRateRange"
               id="us-gaap_DerivativeHigherFixedInterestRateRange"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeHigherRangeOfBasisSpreadOnVariableRate"
               id="us-gaap_DerivativeHigherRangeOfBasisSpreadOnVariableRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeHigherRemainingMaturityRange"
               id="us-gaap_DerivativeHigherRemainingMaturityRange"
               type="us-types:durationStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeHigherVariableInterestRateRange"
               id="us-gaap_DerivativeHigherVariableInterestRateRange"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeInceptionDate" id="us-gaap_DerivativeInceptionDate"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeLossOnDerivative" id="us-gaap_DerivativeLossOnDerivative"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeLowerFixedInterestRateRange"
               id="us-gaap_DerivativeLowerFixedInterestRateRange"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeLowerRangeOfBasisSpreadOnVariableRate"
               id="us-gaap_DerivativeLowerRangeOfBasisSpreadOnVariableRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeLowerRemainingMaturityRange"
               id="us-gaap_DerivativeLowerRemainingMaturityRange"
               type="us-types:durationStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeLowerVariableInterestRateRange"
               id="us-gaap_DerivativeLowerVariableInterestRateRange"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeMaturityDate" id="us-gaap_DerivativeMaturityDate"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeNonmonetaryNotionalAmount"
               id="us-gaap_DerivativeNonmonetaryNotionalAmount"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeNotionalAmount" id="us-gaap_DerivativeNotionalAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeNumberOfInstrumentsHeld"
               id="us-gaap_DerivativeNumberOfInstrumentsHeld"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativePriceRiskOptionStrikePrice"
               id="us-gaap_DerivativePriceRiskOptionStrikePrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeRemainingMaturity" id="us-gaap_DerivativeRemainingMaturity"
               type="us-types:durationStringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeSwapType" id="us-gaap_DerivativeSwapType"
               type="us-types:Derivative-SwapTypeItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeSwaptionInterestRate"
               id="us-gaap_DerivativeSwaptionInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeTypeOfInstrument" id="us-gaap_DerivativeTypeOfInstrument"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeTypeOfInterestRatePaidOnSwap"
               id="us-gaap_DerivativeTypeOfInterestRatePaidOnSwap"
               type="us-types:Derivative-TypeInterestRatePaidOnSwapItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeUnderlying" id="us-gaap_DerivativeUnderlying"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeUnderlyingBasis" id="us-gaap_DerivativeUnderlyingBasis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeUnderlyingRisk" id="us-gaap_DerivativeUnderlyingRisk"
               type="us-types:Derivative-UnderlyingRiskItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeVariableInterestRate"
               id="us-gaap_DerivativeVariableInterestRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeSwapTypeVariablePrice"
               id="us-gaap_DerivativeSwapTypeVariablePrice"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAssetsCurrent" id="us-gaap_DerivativeAssetsCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAssetsCurrentNoncurrent"
               id="us-gaap_DerivativeAssetsCurrentNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAssetsLiabilitiesAtFairValueNet"
               id="us-gaap_DerivativeAssetsLiabilitiesAtFairValueNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAssetsNoncurrent" id="us-gaap_DerivativeAssetsNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeAxis" id="us-gaap_DerivativeAxis" type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeContractsOwned" id="us-gaap_DerivativeContractsOwned"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeMember" id="us-gaap_DerivativeMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeFinancialInstrumentsMember"
               id="us-gaap_DerivativeFinancialInstrumentsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsAndHedges"
               id="us-gaap_DerivativeInstrumentsAndHedges"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeInstrumentsAndHedgesAbstract"
               id="us-gaap_DerivativeInstrumentsAndHedgesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsAndHedgesNoncurrent"
               id="us-gaap_DerivativeInstrumentsAndHedgesNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeInstrumentsAndHedgesNoncurrentAbstract"
               id="us-gaap_DerivativeInstrumentsAndHedgesNoncurrentAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentDetailAbstract"
               id="us-gaap_DerivativeInstrumentDetailAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesHedgesNote" id="us-gaap_DerivativesHedgesNote"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsAssetAtFairValue"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsAssetAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsDescriptionDomain"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsDescriptionOfTerms"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsDescriptionOfTerms"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGain"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGain"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsLiabilityAtFairValue"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsLiabilityAtFairValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsLineItemOnIncomeStatementForGainLoss"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsLineItemOnIncomeStatementForGainLoss"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsLoss"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsLoss"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsPurpose"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsPurpose"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsRisk"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsRisk"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsType"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsType"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsAxis"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsLineItems"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsTable"
               id="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeInstrumentsNotQualifyingAsHedgeMember"
               id="us-gaap_DerivativeInstrumentsNotQualifyingAsHedgeMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="FinancialInstrumentsSoldNotYetPurchasedDerivativesAndOtherContractualAgreements"
               id="us-gaap_FinancialInstrumentsSoldNotYetPurchasedDerivativesAndOtherContractualAgreements"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeLiabilitiesCurrent" id="us-gaap_DerivativeLiabilitiesCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeLiabilitiesLongTerm" id="us-gaap_DerivativeLiabilitiesLongTerm"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DerivativeLineItems" id="us-gaap_DerivativeLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativeTable" id="us-gaap_DerivativeTable" type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesBasisAndUseOfDerivatives"
               id="us-gaap_DerivativesBasisAndUseOfDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesBasisAndUseOfDerivativesBasis"
               id="us-gaap_DerivativesBasisAndUseOfDerivativesBasis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesBasisAndUseOfDerivativesBasisDeterminationOfFairValue"
               id="us-gaap_DerivativesBasisAndUseOfDerivativesBasisDeterminationOfFairValue"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesBasisAndUseOfDerivativesUseOfDerivatives"
               id="us-gaap_DerivativesBasisAndUseOfDerivativesUseOfDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesEmbeddedDerivatives"
               id="us-gaap_DerivativesEmbeddedDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesHedgeDiscontinuances"
               id="us-gaap_DerivativesHedgeDiscontinuances"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesHedgeDiscontinuancesAnticipatedTransactions"
               id="us-gaap_DerivativesHedgeDiscontinuancesAnticipatedTransactions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesHedgeDiscontinuancesTerminationOfHedgingInstrumentOrHedgedItem"
               id="us-gaap_DerivativesHedgeDiscontinuancesTerminationOfHedgingInstrumentOrHedgedItem"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesMethodsOfAccounting"
               id="us-gaap_DerivativesMethodsOfAccounting"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesMethodsOfAccountingDerivativeTypes"
               id="us-gaap_DerivativesMethodsOfAccountingDerivativeTypes"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesMethodsOfAccountingHedgeDocumentation"
               id="us-gaap_DerivativesMethodsOfAccountingHedgeDocumentation"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesMethodsOfAccountingHedgeEffectiveness"
               id="us-gaap_DerivativesMethodsOfAccountingHedgeEffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesMethodsOfAccountingHedgingDerivatives"
               id="us-gaap_DerivativesMethodsOfAccountingHedgingDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesMethodsOfAccountingNonhedgingDerivatives"
               id="us-gaap_DerivativesMethodsOfAccountingNonhedgingDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountingPoliciesFinancialInstruments"
               id="us-gaap_AccountingPoliciesFinancialInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DerivativesReportingOfDerivativeActivity"
               id="us-gaap_DerivativesReportingOfDerivativeActivity"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingForDiscontinuationOfFairValueHedge"
               id="us-gaap_DescriptionOfAccountingForDiscontinuationOfFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingForDiscontinuationOfForeignCurrencyFairValueHedge"
               id="us-gaap_DescriptionOfAccountingForDiscontinuationOfForeignCurrencyFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingForDiscontinuationOfInterestRateFairValueHedge"
               id="us-gaap_DescriptionOfAccountingForDiscontinuationOfInterestRateFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingForDiscontinuationOfPriceRiskFairValueHedge"
               id="us-gaap_DescriptionOfAccountingForDiscontinuationOfPriceRiskFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="InterestExpenseOnPrepetitionLiabilitiesPolicy"
               id="us-gaap_InterestExpenseOnPrepetitionLiabilitiesPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingMethodForDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               id="us-gaap_DescriptionOfAccountingMethodForDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingMethodForForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               id="us-gaap_DescriptionOfAccountingMethodForForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingMethodForHybridInstruments"
               id="us-gaap_DescriptionOfAccountingMethodForHybridInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingMethodForInterestRateDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               id="us-gaap_DescriptionOfAccountingMethodForInterestRateDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingMethodForPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               id="us-gaap_DescriptionOfAccountingMethodForPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingMethodUsedForCreditRiskDerivatives"
               id="us-gaap_DescriptionOfAccountingMethodUsedForCreditRiskDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingMethodUsedForForeignCurrencyDerivatives"
               id="us-gaap_DescriptionOfAccountingMethodUsedForForeignCurrencyDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingMethodUsedForInterestRateDerivatives"
               id="us-gaap_DescriptionOfAccountingMethodUsedForInterestRateDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAccountingMethodUsedForPriceRiskDerivatives"
               id="us-gaap_DescriptionOfAccountingMethodUsedForPriceRiskDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfActivitiesOfParentCompany"
               id="us-gaap_DescriptionOfActivitiesOfParentCompany"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAdoptionOfPolicyOnAccruedSabbatical"
               id="us-gaap_DescriptionOfAdoptionOfPolicyOnAccruedSabbatical"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAmountsOffsettingGainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               id="us-gaap_DescriptionOfAmountsOffsettingGainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAmountsOffsettingGainLossOnForeignCurrencyDerivatives"
               id="us-gaap_DescriptionOfAmountsOffsettingGainLossOnForeignCurrencyDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfAmountsOffsettingGainLossOnPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               id="us-gaap_DescriptionOfAmountsOffsettingGainLossOnPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BankruptcyProceedingsAbstract" id="us-gaap_BankruptcyProceedingsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="BusinessCombinationDisclosureTextBlock"
               id="us-gaap_BusinessCombinationDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CashAndCashEquivalentsDisclosureTextBlock"
               id="us-gaap_CashAndCashEquivalentsDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfCashFlowHedgeAccountingMethod"
               id="us-gaap_DescriptionOfCashFlowHedgeAccountingMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfCashFlowHedgeActivity"
               id="us-gaap_DescriptionOfCashFlowHedgeActivity"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfCashFlowHedgeRiskManagementPolicy"
               id="us-gaap_DescriptionOfCashFlowHedgeRiskManagementPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfChangeInAccountingPrincipleSFAS158"
               id="us-gaap_DescriptionOfChangeInAccountingPrincipleSFAS158"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfChangeInMeasurementDateSFAS158"
               id="us-gaap_DescriptionOfChangeInMeasurementDateSFAS158"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ComplianceWithRegulatoryCapitalRequirementsForMortgageCompaniesDisclosureTextBlock"
               id="us-gaap_ComplianceWithRegulatoryCapitalRequirementsForMortgageCompaniesDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfCashFlowHedgeEffectiveness"
               id="us-gaap_DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfCashFlowHedgeEffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfCreditRiskHedgeEffectiveness"
               id="us-gaap_DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfCreditRiskHedgeEffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfFairValueHedgeEffectiveness"
               id="us-gaap_DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfFairValueHedgeEffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfForeignCurrencyCashFlowHedgeEffectiveness"
               id="us-gaap_DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfForeignCurrencyCashFlowHedgeEffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfForeignCurrencyFairValueHedgeEffectiveness"
               id="us-gaap_DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfForeignCurrencyFairValueHedgeEffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfInterestRateCashFlowHedgeEffectiveness"
               id="us-gaap_DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfInterestRateCashFlowHedgeEffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfInterestRateFairValueHedgeEffectiveness"
               id="us-gaap_DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfInterestRateFairValueHedgeEffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfNetInvestmentHedgeIneffectiveness"
               id="us-gaap_DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfNetInvestmentHedgeIneffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfPriceRiskCashFlowHedgeEffectiveness"
               id="us-gaap_DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfPriceRiskCashFlowHedgeEffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfPriceRiskFairValueHedgeEffectiveness"
               id="us-gaap_DescriptionOfComponentsOfGainLossExcludedFromAssessmentOfPriceRiskFairValueHedgeEffectiveness"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfCreditRiskDerivativeActivities"
               id="us-gaap_DescriptionOfCreditRiskDerivativeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfCreditRiskExposure"
               id="us-gaap_DescriptionOfCreditRiskExposure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfDefinedContributionPensionAndOtherPostretirementPlans"
               id="us-gaap_DescriptionOfDefinedContributionPensionAndOtherPostretirementPlans"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfDerivativeInstrumentsByRiskExposure"
               id="us-gaap_DescriptionOfDerivativeInstrumentsByRiskExposure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsActivity"
               id="us-gaap_DescriptionOfDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsActivity"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfDerivativeRiskManagementPolicy"
               id="us-gaap_DescriptionOfDerivativeRiskManagementPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfDiscontinuationOfFairValueHedge"
               id="us-gaap_DescriptionOfDiscontinuationOfFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfDiscontinuationOfForeignCurrencyFairValueHedge"
               id="us-gaap_DescriptionOfDiscontinuationOfForeignCurrencyFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfDiscontinuationOfInterestRateFairValueHedge"
               id="us-gaap_DescriptionOfDiscontinuationOfInterestRateFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfDiscontinuationOfPriceRiskFairValueHedge"
               id="us-gaap_DescriptionOfDiscontinuationOfPriceRiskFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfEffectOnPreviouslyReportedSegmentInformationForChangeInCompositionOfReportableSegments"
               id="us-gaap_DescriptionOfEffectOnPreviouslyReportedSegmentInformationForChangeInCompositionOfReportableSegments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfEffectOfSubsequentForeignCurrencyExchangeRateChange"
               id="us-gaap_DescriptionOfEffectOfSubsequentForeignCurrencyExchangeRateChange"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfEmbeddedDerivatives"
               id="us-gaap_DescriptionOfEmbeddedDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostMethodInvestmentsDescriptionTextBlock"
               id="us-gaap_CostMethodInvestmentsDescriptionTextBlock"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfFactorsThatMayAffectCapitalAdequacy"
               id="us-gaap_DescriptionOfFactorsThatMayAffectCapitalAdequacy"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DescriptionOfFactorsThatMayAffectMinimumNetWorthRequirements"
               id="us-gaap_DescriptionOfFactorsThatMayAffectMinimumNetWorthRequirements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DescriptionOfFairValueHedgeAccountingMethod"
               id="us-gaap_DescriptionOfFairValueHedgeAccountingMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfFairValueHedgeActivity"
               id="us-gaap_DescriptionOfFairValueHedgeActivity"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfFairValueHedgeRiskManagementPolicy"
               id="us-gaap_DescriptionOfFairValueHedgeRiskManagementPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfForeignCurrencyCashFlowHedgeAccountingMethod"
               id="us-gaap_DescriptionOfForeignCurrencyCashFlowHedgeAccountingMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfForeignCurrencyCashFlowHedgeActivities"
               id="us-gaap_DescriptionOfForeignCurrencyCashFlowHedgeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfForeignCurrencyDerivativeActivities"
               id="us-gaap_DescriptionOfForeignCurrencyDerivativeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsActivities"
               id="us-gaap_DescriptionOfForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfForeignCurrencyExposure"
               id="us-gaap_DescriptionOfForeignCurrencyExposure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfForeignCurrencyFairValueHedgeAccountingMethod"
               id="us-gaap_DescriptionOfForeignCurrencyFairValueHedgeAccountingMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfForeignCurrencyFairValueHedgeActivities"
               id="us-gaap_DescriptionOfForeignCurrencyFairValueHedgeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ForeignCurrencyTransactionsDescription"
               id="us-gaap_ForeignCurrencyTransactionsDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ForeignCurrencyTranslationAdjustmentDescription"
               id="us-gaap_ForeignCurrencyTranslationAdjustmentDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationCurrentCarryingValue"
               id="us-gaap_GuaranteeObligationCurrentCarryingValue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="GuaranteeObligationMaximumExposure"
               id="us-gaap_GuaranteeObligationMaximumExposure"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="GuaranteeObligationMaximumExposureInestimable"
               id="us-gaap_GuaranteeObligationMaximumExposureInestimable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationNatureDomain"
               id="us-gaap_GuaranteeObligationNatureDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationOriginAndPurpose"
               id="us-gaap_GuaranteeObligationOriginAndPurpose"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationLiquidationProceeds"
               id="us-gaap_GuaranteeObligationLiquidationProceeds"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationRecourseProvisions"
               id="us-gaap_GuaranteeObligationRecourseProvisions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationTriggeringEvent"
               id="us-gaap_GuaranteeObligationTriggeringEvent"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationUnlimitedExposure"
               id="us-gaap_GuaranteeObligationUnlimitedExposure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationNatureAxis" id="us-gaap_GuaranteeObligationNatureAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationLineItems" id="us-gaap_GuaranteeObligationLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationsByNatureTable"
               id="us-gaap_GuaranteeObligationsByNatureTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GuaranteeObligationTerm" id="us-gaap_GuaranteeObligationTerm"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfGuaranteesGivenByParentCompany"
               id="us-gaap_DescriptionOfGuaranteesGivenByParentCompany"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="HedgedFirmCommitmentNotQualifyingAsFairValueHedgeDescription"
               id="us-gaap_HedgedFirmCommitmentNotQualifyingAsFairValueHedgeDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfHedgedFirmCommitmentNotQualifyingAsForeignCurrencyFairValueHedge"
               id="us-gaap_DescriptionOfHedgedFirmCommitmentNotQualifyingAsForeignCurrencyFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfHedgedFirmCommitmentNotQualifyingAsInterestRateFairValueHedge"
               id="us-gaap_DescriptionOfHedgedFirmCommitmentNotQualifyingAsInterestRateFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfHedgedFirmCommitmentNotQualifyingAsPriceRiskFairValueHedge"
               id="us-gaap_DescriptionOfHedgedFirmCommitmentNotQualifyingAsPriceRiskFairValueHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfHybridInstrumentsAccountedForAtFairValue"
               id="us-gaap_DescriptionOfHybridInstrumentsAccountedForAtFairValue"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ScheduleOfPartnersCapitalAccountByPartnerTypeTextBlock"
               id="us-gaap_ScheduleOfPartnersCapitalAccountByPartnerTypeTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfInterestRateCashFlowHedgeAccountingMethod"
               id="us-gaap_DescriptionOfInterestRateCashFlowHedgeAccountingMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfInterestRateCashFlowHedgeActivities"
               id="us-gaap_DescriptionOfInterestRateCashFlowHedgeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfInterestRateDerivativeActivities"
               id="us-gaap_DescriptionOfInterestRateDerivativeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfInterestRateDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsActivities"
               id="us-gaap_DescriptionOfInterestRateDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfInterestRateFairValueHedgeAccountingMethod"
               id="us-gaap_DescriptionOfInterestRateFairValueHedgeAccountingMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfInterestRateFairValueHedgeActivities"
               id="us-gaap_DescriptionOfInterestRateFairValueHedgeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfInterestRateRiskExposure"
               id="us-gaap_DescriptionOfInterestRateRiskExposure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLesseeLeasingArrangements"
               id="us-gaap_DescriptionOfLesseeLeasingArrangements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DescriptionOfLessorLeasingArrangements"
               id="us-gaap_DescriptionOfLessorLeasingArrangements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LiabilitiesSubjectToCompromiseDescription"
               id="us-gaap_LiabilitiesSubjectToCompromiseDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LifeSettlementContractsInvestmentMethodChangeInExpectations"
               id="us-gaap_LifeSettlementContractsInvestmentMethodChangeInExpectations"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LineItemForCreditRiskDerivativesOnBalanceSheet"
               id="us-gaap_LineItemForCreditRiskDerivativesOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfForeignCurrencyCashFlowHedgeDerivativesOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfForeignCurrencyCashFlowHedgeDerivativesOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfForeignCurrencyDerivativesOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfForeignCurrencyDerivativesOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfForeignCurrencyFairValueHedgeDerivativeOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfForeignCurrencyFairValueHedgeDerivativeOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnCashFlowHedgesInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnCashFlowHedgesInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LineItemForGainLossOnCreditRiskDerivativeOnIncomeStatement"
               id="us-gaap_LineItemForGainLossOnCreditRiskDerivativeOnIncomeStatement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnFairValueHedgesInIncomeStatement"
               id="us-gaap_DescriptionOfLocationOfGainLossOnFairValueHedgesInIncomeStatement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnForeignCurrencyCashFlowHedgeDerivativesInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnForeignCurrencyCashFlowHedgeDerivativesInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnForeignCurrencyDerivativeInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnForeignCurrencyDerivativeInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnForeignCurrencyFairValueHedgeDerivativeInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnForeignCurrencyFairValueHedgeDerivativeInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnInterestRateCashFlowHedgeDerivativeInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnInterestRateCashFlowHedgeDerivativeInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnInterestRateDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnInterestRateDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnInterestRateDerivativeOnIncomeStatement"
               id="us-gaap_DescriptionOfLocationOfGainLossOnInterestRateDerivativeOnIncomeStatement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnInterestRateFairValueHedgeDerivativeInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnInterestRateFairValueHedgeDerivativeInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnNetInvestmentHedgesInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnNetInvestmentHedgesInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnPriceRiskCashFlowHedgeDerivativesInFinancialStatements"
               id="us-gaap_DescriptionOfLocationOfGainLossOnPriceRiskCashFlowHedgeDerivativesInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LineItemForGainLossOnPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsInFinancialStatements"
               id="us-gaap_LineItemForGainLossOnPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfGainLossOnPriceRiskDerivativeOnIncomeStatement"
               id="us-gaap_DescriptionOfLocationOfGainLossOnPriceRiskDerivativeOnIncomeStatement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LineItemForGainLossOnPriceRiskFairValueHedgeDerivativeInFinancialStatements"
               id="us-gaap_LineItemForGainLossOnPriceRiskFairValueHedgeDerivativeInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LineItemInFinancialStatementsForGainLossOnHybridInstruments"
               id="us-gaap_LineItemInFinancialStatementsForGainLossOnHybridInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfHybridInstrumentsOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfHybridInstrumentsOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfInterestRateCashFlowHedgeDerivativeOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfInterestRateCashFlowHedgeDerivativeOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfInterestRateDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfInterestRateDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfInterestRateDerivativesOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfInterestRateDerivativesOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfInterestRateFairValueHedgeDerivativeOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfInterestRateFairValueHedgeDerivativeOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfPriceRiskCashFlowHedgeDerivativesOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfPriceRiskCashFlowHedgeDerivativesOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LineItemForPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsOnBalanceSheet"
               id="us-gaap_LineItemForPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLocationOfPriceRiskDerivativesOnBalanceSheet"
               id="us-gaap_DescriptionOfLocationOfPriceRiskDerivativesOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="LineItemForPriceRiskFairValueHedgeDerivativeOnBalanceSheet"
               id="us-gaap_LineItemForPriceRiskFairValueHedgeDerivativeOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfLongTermIntercompanyTransactions"
               id="us-gaap_DescriptionOfLongTermIntercompanyTransactions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfMandatoryDividendOrRedemptionProvisionsOfRedeemableStockOfParentCompany"
               id="us-gaap_DescriptionOfMandatoryDividendOrRedemptionProvisionsOfRedeemableStockOfParentCompany"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EquityMethodInvestmentMaterialEffectsOfPossibleConversionsExercisesOrContingentIssuances"
               id="us-gaap_EquityMethodInvestmentMaterialEffectsOfPossibleConversionsExercisesOrContingentIssuances"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfMultiemployerPlan"
               id="us-gaap_DescriptionOfMultiemployerPlan"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfNatureAndEffectOfSignificantChangesDuringPeriodAffectingComparability"
               id="us-gaap_DescriptionOfNatureAndEffectOfSignificantChangesDuringPeriodAffectingComparability"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfNetCapitalRequirementsUnderBrokerDealerRegulations"
               id="us-gaap_DescriptionOfNetCapitalRequirementsUnderBrokerDealerRegulations"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfNetInvestmentHedgeAccountingMethod"
               id="us-gaap_DescriptionOfNetInvestmentHedgeAccountingMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfNetInvestmentHedgeActivity"
               id="us-gaap_DescriptionOfNetInvestmentHedgeActivity"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfNetInvestmentHedgeEffectOnEarningsAndComprehensiveIncome"
               id="us-gaap_DescriptionOfNetInvestmentHedgeEffectOnEarningsAndComprehensiveIncome"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfNetInvestmentHedgeRiskManagementPolicy"
               id="us-gaap_DescriptionOfNetInvestmentHedgeRiskManagementPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfNetInvestmentsHedged"
               id="us-gaap_DescriptionOfNetInvestmentsHedged"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPostemploymentLiability"
               id="us-gaap_DescriptionOfPostemploymentLiability"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfOtherAssetsCurrent"
               id="us-gaap_DescriptionOfOtherAssetsCurrent"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfOtherAssetsNoncurrent"
               id="us-gaap_DescriptionOfOtherAssetsNoncurrent"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfOtherRegulatoryLimitations"
               id="us-gaap_DescriptionOfOtherRegulatoryLimitations"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="RealEstateHeldForDevelopmentAndSalePolicy"
               id="us-gaap_RealEstateHeldForDevelopmentAndSalePolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RealEstateHeldForDevelopmentAndSaleIncomeLossPolicy"
               id="us-gaap_RealEstateHeldForDevelopmentAndSaleIncomeLossPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPossibleEffectsOfNoncomplianceOrLessThanAdequatelyCapitalized"
               id="us-gaap_DescriptionOfPossibleEffectsOfNoncomplianceOrLessThanAdequatelyCapitalized"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPossibleEffectsOfNoncomplianceOrLessThanMinimumNetWorthCapitalRequirements"
               id="us-gaap_DescriptionOfPossibleEffectsOfNoncomplianceOrLessThanMinimumNetWorthCapitalRequirements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPostretirementMedicalPlansWithPrescriptionDrugBenefits"
               id="us-gaap_DescriptionOfPostretirementMedicalPlansWithPrescriptionDrugBenefits"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPriceRiskCashFlowHedgeAccountingMethod"
               id="us-gaap_DescriptionOfPriceRiskCashFlowHedgeAccountingMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPriceRiskCashFlowHedgeActivities"
               id="us-gaap_DescriptionOfPriceRiskCashFlowHedgeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPriceRiskDerivativeActivities"
               id="us-gaap_DescriptionOfPriceRiskDerivativeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsActivities"
               id="us-gaap_DescriptionOfPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPriceRiskExposure"
               id="us-gaap_DescriptionOfPriceRiskExposure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPriceRiskFairValueHedgeAccountingMethod"
               id="us-gaap_DescriptionOfPriceRiskFairValueHedgeAccountingMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfPriceRiskFairValueHedgeActivities"
               id="us-gaap_DescriptionOfPriceRiskFairValueHedgeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfReclassificationOfCashFlowHedgeGainLoss"
               id="us-gaap_DescriptionOfReclassificationOfCashFlowHedgeGainLoss"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfReclassificationOfForeignCurrencyCashFlowHedgeGainLoss"
               id="us-gaap_DescriptionOfReclassificationOfForeignCurrencyCashFlowHedgeGainLoss"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfReclassificationOfInterestRateCashFlowHedgeGainLoss"
               id="us-gaap_DescriptionOfReclassificationOfInterestRateCashFlowHedgeGainLoss"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfReclassificationOfPriceRiskCashFlowHedgeGainLoss"
               id="us-gaap_DescriptionOfReclassificationOfPriceRiskCashFlowHedgeGainLoss"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RecordedUnconditionalPurchaseObligationDescription"
               id="us-gaap_RecordedUnconditionalPurchaseObligationDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfRegulatoryCapitalRequirementsUnderBankingRegulations"
               id="us-gaap_DescriptionOfRegulatoryCapitalRequirementsUnderBankingRegulations"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfRegulatoryCapitalRequirementsUnderInsuranceRegulations"
               id="us-gaap_DescriptionOfRegulatoryCapitalRequirementsUnderInsuranceRegulations"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfRelatedPartyLeasingArrangements"
               id="us-gaap_DescriptionOfRelatedPartyLeasingArrangements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="ReorganizationItemsDescriptionAbstract"
               id="us-gaap_ReorganizationItemsDescriptionAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredAcquisitionCostsDescriptionOfSignificantAdditionsOrDeletions"
               id="us-gaap_DeferredAcquisitionCostsDescriptionOfSignificantAdditionsOrDeletions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeferredFinanceCostsDescriptionOfSignificantAdditionsOrDeletions"
               id="us-gaap_DeferredFinanceCostsDescriptionOfSignificantAdditionsOrDeletions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherDeferredCostsDescriptionOfSignificantAdditionsOrDeletions"
               id="us-gaap_OtherDeferredCostsDescriptionOfSignificantAdditionsOrDeletions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfSignificantChangesInReservesQuantitiesOrSignificantFactorsOrUncertaintiesThatMayAffectProvedReserves"
               id="us-gaap_DescriptionOfSignificantChangesInReservesQuantitiesOrSignificantFactorsOrUncertaintiesThatMayAffectProvedReserves"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfSignificantProvisionsOfLongTermObligationsOfParentCompany"
               id="us-gaap_DescriptionOfSignificantProvisionsOfLongTermObligationsOfParentCompany"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="InclusionOfInvestmentIncomeInAssessmentOfPremiumDeficiencyOnShortDurationContracts"
               id="us-gaap_InclusionOfInvestmentIncomeInAssessmentOfPremiumDeficiencyOnShortDurationContracts"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfCashFlowHedgingInstrumentsUsed"
               id="us-gaap_DescriptionOfTypesOfCashFlowHedgingInstrumentsUsed"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsHeld"
               id="us-gaap_DescriptionOfTypesOfDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsHeld"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfFairValueHedgingInstrumentsUsed"
               id="us-gaap_DescriptionOfTypesOfFairValueHedgingInstrumentsUsed"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfForeignCurrencyCashFlowHedgingInstrumentsUsed"
               id="us-gaap_DescriptionOfTypesOfForeignCurrencyCashFlowHedgingInstrumentsUsed"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfForeignCurrencyDerivativesNotDesignatedAsHedgingInstrumentsHeld"
               id="us-gaap_DescriptionOfTypesOfForeignCurrencyDerivativesNotDesignatedAsHedgingInstrumentsHeld"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfForeignCurrencyFairValueHedgingInstrumentsUsed"
               id="us-gaap_DescriptionOfTypesOfForeignCurrencyFairValueHedgingInstrumentsUsed"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfInterestRateCashFlowHedgingInstrumentsUsed"
               id="us-gaap_DescriptionOfTypesOfInterestRateCashFlowHedgingInstrumentsUsed"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfInterestRateDerivativesNotDesignatedAsHedgingInstrumentsHeld"
               id="us-gaap_DescriptionOfTypesOfInterestRateDerivativesNotDesignatedAsHedgingInstrumentsHeld"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfInterestRateFairValueHedgingInstrumentsUsed"
               id="us-gaap_DescriptionOfTypesOfInterestRateFairValueHedgingInstrumentsUsed"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfNetInvestmentHedgingInstrumentsUsed"
               id="us-gaap_DescriptionOfTypesOfNetInvestmentHedgingInstrumentsUsed"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfPriceRiskCashFlowHedgingInstrumentsUsed"
               id="us-gaap_DescriptionOfTypesOfPriceRiskCashFlowHedgingInstrumentsUsed"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfPriceRiskDerivativesNotDesignatedAsHedgingInstruments"
               id="us-gaap_DescriptionOfTypesOfPriceRiskDerivativesNotDesignatedAsHedgingInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfTypesOfPriceRiskFairValueHedgingInstrumentsUsed"
               id="us-gaap_DescriptionOfTypesOfPriceRiskFairValueHedgingInstrumentsUsed"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfSubstantialDoubtAboutInstitutionsAbilityToContinueAsGoingConcernBankingOrSavingsInstitution"
               id="us-gaap_DescriptionOfSubstantialDoubtAboutInstitutionsAbilityToContinueAsGoingConcernBankingOrSavingsInstitution"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfSubstantialDoubtAboutInstitutionsAbilityToContinueAsGoingConcernMortgageCompanies"
               id="us-gaap_DescriptionOfSubstantialDoubtAboutInstitutionsAbilityToContinueAsGoingConcernMortgageCompanies"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DetailsOfAssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionTextBlock"
               id="us-gaap_DetailsOfAssetsDisposedOfByMethodOtherThanSaleInPeriodOfDispositionTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DescriptionOfImpairedGoodwillTextBlock"
               id="us-gaap_DescriptionOfImpairedGoodwillTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DetailsOfImpairedAssetsToBeDisposedOfByMethodOtherThanSaleTextBlock"
               id="us-gaap_DetailsOfImpairedAssetsToBeDisposedOfByMethodOtherThanSaleTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DetailsOfImpairmentOfLongLivedAssetsHeldAndUsedByAssetTextBlock"
               id="us-gaap_DetailsOfImpairmentOfLongLivedAssetsHeldAndUsedByAssetTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DetailsOfLongLivedAssetsToBeAbandonedByAssetTextBlock"
               id="us-gaap_DetailsOfLongLivedAssetsToBeAbandonedByAssetTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DetailsOfTroubledDebtRestructuringDebtorCurrentPeriod"
               id="us-gaap_DetailsOfTroubledDebtRestructuringDebtorCurrentPeriod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DetailsOfTroubledDebtRestructuringDebtorSubsequentPeriods"
               id="us-gaap_DetailsOfTroubledDebtRestructuringDebtorSubsequentPeriods"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeterioratedLoansTransferredInAbstract"
               id="us-gaap_DeterioratedLoansTransferredInAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeterioratedLoansTransferredInPolicy"
               id="us-gaap_DeterioratedLoansTransferredInPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DeterioratedLoansTransferredInDebtSecuritiesAccreditableYieldPeriodIncreaseDecrease"
               id="us-gaap_DeterioratedLoansTransferredInDebtSecuritiesAccreditableYieldPeriodIncreaseDecrease"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentInProcess" id="us-gaap_DevelopmentInProcess"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DevelopmentProfitsNonoperating"
               id="us-gaap_DevelopmentProfitsNonoperating"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsToDevelopRealEstateAssets"
               id="us-gaap_PaymentsToDevelopRealEstateAssets"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentStageEnterpriseCumulativeCashInflows"
               id="us-gaap_DevelopmentStageEnterpriseCumulativeCashInflows"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentStageEnterpriseCumulativeCashOutflows"
               id="us-gaap_DevelopmentStageEnterpriseCumulativeCashOutflows"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentStageEnterpriseDeficitAccumulatedDuringDevelopmentStage"
               id="us-gaap_DevelopmentStageEnterpriseDeficitAccumulatedDuringDevelopmentStage"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DevelopmentStageEnterpriseCumulativeExpense"
               id="us-gaap_DevelopmentStageEnterpriseCumulativeExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentStageEnterpriseCumulativeRevenue"
               id="us-gaap_DevelopmentStageEnterpriseCumulativeRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentStageEnterpriseDevelopmentStageExitStrategy"
               id="us-gaap_DevelopmentStageEnterpriseDevelopmentStageExitStrategy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IndicationThatFinancialStatementsAreThoseOfDevelopmentStageEnterprise"
               id="us-gaap_IndicationThatFinancialStatementsAreThoseOfDevelopmentStageEnterprise"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentStageEnterpriseNatureOfActivities"
               id="us-gaap_DevelopmentStageEnterpriseNatureOfActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IndicationThatEntityWasInDevelopmentStageInPriorYears"
               id="us-gaap_IndicationThatEntityWasInDevelopmentStageInPriorYears"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentStageEnterprises" id="us-gaap_DevelopmentStageEnterprises"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentWellsDrilledGeographicAreaDomain"
               id="us-gaap_DevelopmentWellsDrilledGeographicAreaDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentWellsDrilledNetNonproductive"
               id="us-gaap_DevelopmentWellsDrilledNetNonproductive"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentWellsDrilledNetProductive"
               id="us-gaap_DevelopmentWellsDrilledNetProductive"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentWellsDrilledAbstract"
               id="us-gaap_DevelopmentWellsDrilledAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentWellsDrilledAxis" id="us-gaap_DevelopmentWellsDrilledAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentWellsDrilledLineItems"
               id="us-gaap_DevelopmentWellsDrilledLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DevelopmentWellsDrilledTable" id="us-gaap_DevelopmentWellsDrilledTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DifferenceBetweenFairValueAndCarryingAmountOfServicingAssetsUponAdoptionOfSFAS156"
               id="us-gaap_DifferenceBetweenFairValueAndCarryingAmountOfServicingAssetsUponAdoptionOfSFAS156"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DifferenceBetweenFairValueAndCarryingAmountOfServicingLiabilitiesUponAdoptionOfSFAS156"
               id="us-gaap_DifferenceBetweenFairValueAndCarryingAmountOfServicingLiabilitiesUponAdoptionOfSFAS156"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DifferenceDueToOffsettingVariousAssetAccountsAgainstRelatedLiabilities"
               id="us-gaap_DifferenceDueToOffsettingVariousAssetAccountsAgainstRelatedLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DilutedEarningsPerShareNetIncome"
               id="us-gaap_DilutedEarningsPerShareNetIncome"
               type="us-types:perShareItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OperatingCashFlowsDirectMethodAbstract"
               id="us-gaap_OperatingCashFlowsDirectMethodAbstract"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ReinsuranceEffectOnClaimsAndBenefitsIncurredNetAmount"
               id="us-gaap_ReinsuranceEffectOnClaimsAndBenefitsIncurredNetAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectPremiumsEarned" id="us-gaap_DirectPremiumsEarned"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectPremiumsEarnedAccidentAndHealth"
               id="us-gaap_DirectPremiumsEarnedAccidentAndHealth"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectPremiumsEarnedLife" id="us-gaap_DirectPremiumsEarnedLife"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectPremiumsEarnedOtherInsurance"
               id="us-gaap_DirectPremiumsEarnedOtherInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectPremiumsEarnedPropertyAndCasualty"
               id="us-gaap_DirectPremiumsEarnedPropertyAndCasualty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectPremiumsWritten" id="us-gaap_DirectPremiumsWritten"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectPremiumsWrittenAccidentAndHealth"
               id="us-gaap_DirectPremiumsWrittenAccidentAndHealth"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectPremiumsWrittenLife" id="us-gaap_DirectPremiumsWrittenLife"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectPremiumsWrittenOtherInsurance"
               id="us-gaap_DirectPremiumsWrittenOtherInsurance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectPremiumsWrittenPropertyAndCasualty"
               id="us-gaap_DirectPremiumsWrittenPropertyAndCasualty"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="TimeSharingTransactionsDirectWriteOffsChargedAgainstAllowance"
               id="us-gaap_TimeSharingTransactionsDirectWriteOffsChargedAgainstAllowance"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="TimeSharingTransactionsDirectWriteOffsChargedAgainstAllowanceOnReceivablesSoldWithRecourse"
               id="us-gaap_TimeSharingTransactionsDirectWriteOffsChargedAgainstAllowanceOnReceivablesSoldWithRecourse"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DirectorsAndOfficersLiabilityInsuranceMember"
               id="us-gaap_DirectorsAndOfficersLiabilityInsuranceMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RecordedThirdPartyEnvironmentalRecoveriesDescription"
               id="us-gaap_RecordedThirdPartyEnvironmentalRecoveriesDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfCashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorAbstract"
               id="us-gaap_DisclosureOfCashFlowsBetweenSecuritizationSpecialPurposeEntitySPEAndTransferorAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfCounterpartiesToRepurchaseAgreementsWhenAmountOfRepurchaseAgreementsExceeds10PercentOfStockholdersEquityAbstract"
               id="us-gaap_DisclosureOfCounterpartiesToRepurchaseAgreementsWhenAmountOfRepurchaseAgreementsExceeds10PercentOfStockholdersEquityAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfCounterpartiesToResaleAgreementsWhenAmountOfResaleAgreementsExceeds10PercentOfStockholdersEquityAbstract"
               id="us-gaap_DisclosureOfCounterpartiesToResaleAgreementsWhenAmountOfResaleAgreementsExceeds10PercentOfStockholdersEquityAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationsDisclosureTextBlock"
               id="us-gaap_DiscontinuedOperationsDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EnvironmentalRemediationCostsRecognizedDisclosure"
               id="us-gaap_EnvironmentalRemediationCostsRecognizedDisclosure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EquityMethodInvestmentsDisclosureTextBlock"
               id="us-gaap_EquityMethodInvestmentsDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ScheduleOfGainLossOnSecuritizationsOfFinancialAssetsAccountedForAsSaleTextBlock"
               id="us-gaap_ScheduleOfGainLossOnSecuritizationsOfFinancialAssetsAccountedForAsSaleTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="GoodwillNotAllocatedToSegmentDisclosure"
               id="us-gaap_GoodwillNotAllocatedToSegmentDisclosure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfExpectedGrossPrescriptionDrugSubsidyReceiptsAbstract"
               id="us-gaap_DisclosureOfExpectedGrossPrescriptionDrugSubsidyReceiptsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="JointlyOwnedUtilityPlantInterestsDisclosureAbstract"
               id="us-gaap_JointlyOwnedUtilityPlantInterestsDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="InterestIncomeAndInterestExpenseDisclosureTextBlock"
               id="us-gaap_InterestIncomeAndInterestExpenseDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="IndustrySpecificPoliciesOilAndGas"
               id="us-gaap_IndustrySpecificPoliciesOilAndGas"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ProvedOilAndGasReserveQuantitiesDisclosureTextBlock"
               id="us-gaap_ProvedOilAndGasReserveQuantitiesDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="PostemploymentLiabilityDisclosureTextBlock"
               id="us-gaap_PostemploymentLiabilityDisclosureTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="OtherComprehensiveIncomeTaxDisclosureAbstract"
               id="us-gaap_OtherComprehensiveIncomeTaxDisclosureAbstract"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfOtherReserveInformationAbstract"
               id="us-gaap_DisclosureOfOtherReserveInformationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfQuantitativeInformationAboutSecuritizedAssetsAndAnyOtherFinancialAssetsManagedTogetherAbstract"
               id="us-gaap_DisclosureOfQuantitativeInformationAboutSecuritizedAssetsAndAnyOtherFinancialAssetsManagedTogetherAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfReclassificationAmountTextBlock"
               id="us-gaap_DisclosureOfReclassificationAmountTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RegulatoryAssetsAndLiabilitiesDisclosureAbstract"
               id="us-gaap_RegulatoryAssetsAndLiabilitiesDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfRepurchaseAgreementsAbstract"
               id="us-gaap_DisclosureOfRepurchaseAgreementsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="RepurchaseAgreementsResaleAgreementsSecuritiesBorrowedAndSecuritiesLoanedDisclosure"
               id="us-gaap_RepurchaseAgreementsResaleAgreementsSecuritiesBorrowedAndSecuritiesLoanedDisclosure"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfResaleAgreementsAbstract"
               id="us-gaap_DisclosureOfResaleAgreementsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfRestrictionsOnDividendsLoansAndAdvancesDisclosureAbstract"
               id="us-gaap_DisclosureOfRestrictionsOnDividendsLoansAndAdvancesDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfServicingAssetsAtFairValueAbstract"
               id="us-gaap_DisclosureOfServicingAssetsAtFairValueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfServicingAssetsSubsequentlyAmortizedAbstract"
               id="us-gaap_DisclosureOfServicingAssetsSubsequentlyAmortizedAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfServicingLiabilitiesAtAmortizedValueAbstract"
               id="us-gaap_DisclosureOfServicingLiabilitiesAtAmortizedValueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfServicingLiabilitiesAtFairValueAbstract"
               id="us-gaap_DisclosureOfServicingLiabilitiesAtFairValueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="SignificantEconomicInterestByConsolidatedSubsidiaryInStandardizedMeasureOfDiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesDisclosure"
               id="us-gaap_SignificantEconomicInterestByConsolidatedSubsidiaryInStandardizedMeasureOfDiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesDisclosure"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfTransferOfSecuritizedFinancialAssetsAccountedForAsSaleAbstract"
               id="us-gaap_DisclosureOfTransferOfSecuritizedFinancialAssetsAccountedForAsSaleAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfUnderlyingAssetsOfRepurchaseAgreementsWhenAmountOfRepurchaseAgreementsExceeds10PercentOfAssetsAbstract"
               id="us-gaap_DisclosureOfUnderlyingAssetsOfRepurchaseAgreementsWhenAmountOfRepurchaseAgreementsExceeds10PercentOfAssetsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosureOfUtilityInventoryAbstract"
               id="us-gaap_DisclosureOfUtilityInventoryAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccountingPoliciesPrinciplesConsolidation"
               id="us-gaap_AccountingPoliciesPrinciplesConsolidation"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicy"
               id="us-gaap_CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosuresPertainingToServicingAssetsAndServicingLiabilitiesAbstract"
               id="us-gaap_DisclosuresPertainingToServicingAssetsAndServicingLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DisclosuresUponAdoptionOfSFAS156Abstract"
               id="us-gaap_DisclosuresUponAdoptionOfSFAS156Abstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuationOfCashFlowHedge"
               id="us-gaap_DiscontinuationOfCashFlowHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuationOfCashFlowHedgeAbstract"
               id="us-gaap_DiscontinuationOfCashFlowHedgeAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuationOfFairValueHedgeAccountingAbstract"
               id="us-gaap_DiscontinuationOfFairValueHedgeAccountingAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuationOfForeignCurrencyCashFlowHedge"
               id="us-gaap_DiscontinuationOfForeignCurrencyCashFlowHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuationOfInterestRateCashFlowHedge"
               id="us-gaap_DiscontinuationOfInterestRateCashFlowHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuationOfPriceRiskCashFlowHedge"
               id="us-gaap_DiscontinuationOfPriceRiskCashFlowHedge"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationActivitiesWithDiscontinuedOperationAfterDisposalCosts"
               id="us-gaap_DiscontinuedOperationActivitiesWithDiscontinuedOperationAfterDisposalCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationActivitiesWithDiscontinuedOperationAfterDisposalDescription"
               id="us-gaap_DiscontinuedOperationActivitiesWithDiscontinuedOperationAfterDisposalDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationActivitiesWithDiscontinuedOperationAfterDisposalRevenue"
               id="us-gaap_DiscontinuedOperationActivitiesWithDiscontinuedOperationAfterDisposalRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationAmountOfAdjustmentToPriorPeriodGainLossOnDisposalBeforeIncomeTax"
               id="us-gaap_DiscontinuedOperationAmountOfAdjustmentToPriorPeriodGainLossOnDisposalBeforeIncomeTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationAmountOfContinuingCashFlowsAfterDisposal"
               id="us-gaap_DiscontinuedOperationAmountOfContinuingCashFlowsAfterDisposal"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationCostsOfGoodsSold"
               id="us-gaap_DiscontinuedOperationCostsOfGoodsSold"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationDeferredTaxAssetRecognizedAsResultOfParentsExcessTaxBasis"
               id="us-gaap_DiscontinuedOperationDeferredTaxAssetRecognizedAsResultOfParentsExcessTaxBasis"
               type="xbrli:integerItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationDescriptionOfMaterialContingentLiabilitiesRemaining"
               id="us-gaap_DiscontinuedOperationDescriptionOfMaterialContingentLiabilitiesRemaining"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationDescriptionAndTimingOfDisposal"
               id="us-gaap_DiscontinuedOperationDescriptionAndTimingOfDisposal"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationForeignCurrencyTranslationGainsLosses"
               id="us-gaap_DiscontinuedOperationForeignCurrencyTranslationGainsLosses"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationGrossProfitLoss"
               id="us-gaap_DiscontinuedOperationGrossProfitLoss"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"
               id="us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationInterestExpense"
               id="us-gaap_DiscontinuedOperationInterestExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationNameDomain"
               id="us-gaap_DiscontinuedOperationNameDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationNatureOfActivitiesHavingContinuingCashFlowsAfterDisposal"
               id="us-gaap_DiscontinuedOperationNatureOfActivitiesHavingContinuingCashFlowsAfterDisposal"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationNatureOfAdjustmentToPriorPeriodGainLossOnDisposal"
               id="us-gaap_DiscontinuedOperationNatureOfAdjustmentToPriorPeriodGainLossOnDisposal"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationOperatingExpense"
               id="us-gaap_DiscontinuedOperationOperatingExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationPeriodOfContinuingCashFlowsAfterDisposal"
               id="us-gaap_DiscontinuedOperationPeriodOfContinuingCashFlowsAfterDisposal"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationRevenue" id="us-gaap_DiscontinuedOperationRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationSegmentThatIncludesDiscontinuedOperation"
               id="us-gaap_DiscontinuedOperationSegmentThatIncludesDiscontinuedOperation"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationStatusOfDiscontinuedOperationAtLatestBalanceSheetDate"
               id="us-gaap_DiscontinuedOperationStatusOfDiscontinuedOperationAtLatestBalanceSheetDate"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationTaxEffectOfIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriod"
               id="us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriod"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation"
               id="us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationAdditionalDisclosuresAbstract"
               id="us-gaap_DiscontinuedOperationAdditionalDisclosuresAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationAmountOfAdjustmentToPriorPeriodGainLossOnDisposalNetOfTax"
               id="us-gaap_DiscontinuedOperationAmountOfAdjustmentToPriorPeriodGainLossOnDisposalNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationAmountOfOtherIncomeLossFromDispositionOfDiscontinuedOperationNetOfTax"
               id="us-gaap_DiscontinuedOperationAmountOfOtherIncomeLossFromDispositionOfDiscontinuedOperationNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationAssetsOfDisposalGroup"
               id="us-gaap_DiscontinuedOperationAssetsOfDisposalGroup"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationAxis" id="us-gaap_DiscontinuedOperationAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationCashFlowsOfDisposalGroup"
               id="us-gaap_DiscontinuedOperationCashFlowsOfDisposalGroup"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationChangesToPlanOfSale"
               id="us-gaap_DiscontinuedOperationChangesToPlanOfSale"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax"
               id="us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax"
               id="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationIncomeStatementDisclosuresAbstract"
               id="us-gaap_DiscontinuedOperationIncomeStatementDisclosuresAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationLiabilitiesOfDisposalGroup"
               id="us-gaap_DiscontinuedOperationLiabilitiesOfDisposalGroup"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationIncomeStatementAndAdditionalDisclosuresLineItems"
               id="us-gaap_DiscontinuedOperationIncomeStatementAndAdditionalDisclosuresLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationNatureOfOtherIncomeLossFromDispositionOfDiscontinuedOperation"
               id="us-gaap_DiscontinuedOperationNatureOfOtherIncomeLossFromDispositionOfDiscontinuedOperation"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationProvisionForGainLossOnDisposalNetOfTax"
               id="us-gaap_DiscontinuedOperationProvisionForGainLossOnDisposalNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationIncomeStatementAndAdditionalDisclosuresTable"
               id="us-gaap_DiscontinuedOperationIncomeStatementAndAdditionalDisclosuresTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationTaxExpenseBenefitFromProvisionForGainLossOnDisposal"
               id="us-gaap_DiscontinuedOperationTaxExpenseBenefitFromProvisionForGainLossOnDisposal"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationTaxEffectOfAdjustmentToPriorPeriodGainLossOnDisposal"
               id="us-gaap_DiscontinuedOperationTaxEffectOfAdjustmentToPriorPeriodGainLossOnDisposal"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationTaxEffectOfOtherIncomeLossFromDispositionOfDiscontinuedOperation"
               id="us-gaap_DiscontinuedOperationTaxEffectOfOtherIncomeLossFromDispositionOfDiscontinuedOperation"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashProvidedByUsedInDiscontinuedOperationsFinancingActivities"
               id="us-gaap_CashProvidedByUsedInDiscontinuedOperationsFinancingActivities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashProvidedByUsedInDiscontinuedOperationsInvestingActivities"
               id="us-gaap_CashProvidedByUsedInDiscontinuedOperationsInvestingActivities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="CashProvidedByUsedInDiscontinuedOperationsOperatingActivities"
               id="us-gaap_CashProvidedByUsedInDiscontinuedOperationsOperatingActivities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscontinuedOperationsPolicy" id="us-gaap_DiscontinuedOperationsPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReserves10PercentAnnualDiscountForEstimatedTimingOfCashFlows"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReserves10PercentAnnualDiscountForEstimatedTimingOfCashFlows"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesFutureCashInflows"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesFutureCashInflows"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesFutureDevelopmentCosts"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesFutureDevelopmentCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesFutureIncomeTaxExpense"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesFutureIncomeTaxExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesFutureNetCashFlows"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesFutureNetCashFlows"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesFutureProductionCosts"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesFutureProductionCosts"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesGeographicAreaDomain"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesGeographicAreaDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesStandardizedMeasure"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesStandardizedMeasure"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesAxis"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesLineItems"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesTable"
               id="us-gaap_DiscountedFutureNetCashFlowsRelatingToProvedOilAndGasReservesTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfCashFlowHedgeEffectivenessAssessmentAndMeasurement"
               id="us-gaap_DiscussionOfCashFlowHedgeEffectivenessAssessmentAndMeasurement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfCreditRiskDerivativeRiskManagementPolicy"
               id="us-gaap_DiscussionOfCreditRiskDerivativeRiskManagementPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfDerivativeInstrumentImpactOnResultsOfOperations"
               id="us-gaap_DiscussionOfDerivativeInstrumentImpactOnResultsOfOperations"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfEarningsEffectOfHybridInstrumentFairValueChanges"
               id="us-gaap_DiscussionOfEarningsEffectOfHybridInstrumentFairValueChanges"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfEffectOfCashFlowHedgesOnResultsOfOperations"
               id="us-gaap_DiscussionOfEffectOfCashFlowHedgesOnResultsOfOperations"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfEffectOfFairValueHedgesOnResultsOfOperations"
               id="us-gaap_DiscussionOfEffectOfFairValueHedgesOnResultsOfOperations"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfFairValueHedgeEffectivenessAssessmentAndMeasurement"
               id="us-gaap_DiscussionOfFairValueHedgeEffectivenessAssessmentAndMeasurement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfForeignCurrencyCashFlowHedgeEffectivenessAssessmentAndMeasurement"
               id="us-gaap_DiscussionOfForeignCurrencyCashFlowHedgeEffectivenessAssessmentAndMeasurement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfForeignCurrencyDerivativeRiskManagementPolicy"
               id="us-gaap_DiscussionOfForeignCurrencyDerivativeRiskManagementPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfForeignCurrencyFairValueHedgeEffectivenessAssessmentAndMeasurement"
               id="us-gaap_DiscussionOfForeignCurrencyFairValueHedgeEffectivenessAssessmentAndMeasurement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfHybridInstrumentsAndEmbeddedDerivatives"
               id="us-gaap_DiscussionOfHybridInstrumentsAndEmbeddedDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfInterestRateCashFlowHedgeEffectivenessAssessmentAndMeasurement"
               id="us-gaap_DiscussionOfInterestRateCashFlowHedgeEffectivenessAssessmentAndMeasurement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfInterestRateDerivativeRiskManagementPolicy"
               id="us-gaap_DiscussionOfInterestRateDerivativeRiskManagementPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfInterestRateFairValueHedgeEffectivenessAssessmentAndMeasurement"
               id="us-gaap_DiscussionOfInterestRateFairValueHedgeEffectivenessAssessmentAndMeasurement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfMethodOfMeasuringFairValueOfCreditRiskDerivatives"
               id="us-gaap_DiscussionOfMethodOfMeasuringFairValueOfCreditRiskDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfMethodOfMeasuringFairValueOfForeignCurrencyDerivatives"
               id="us-gaap_DiscussionOfMethodOfMeasuringFairValueOfForeignCurrencyDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfMethodOfMeasuringFairValueOfInterestRateDerivatives"
               id="us-gaap_DiscussionOfMethodOfMeasuringFairValueOfInterestRateDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfMethodOfMeasuringFairValueOfPriceRiskDerivatives"
               id="us-gaap_DiscussionOfMethodOfMeasuringFairValueOfPriceRiskDerivatives"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfNetInvestmentHedgeEffectivenessAssessmentAndMeasurement"
               id="us-gaap_DiscussionOfNetInvestmentHedgeEffectivenessAssessmentAndMeasurement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfObjectivesForUsingCreditRiskDerivativeInstruments"
               id="us-gaap_DiscussionOfObjectivesForUsingCreditRiskDerivativeInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfObjectivesForUsingForeignCurrencyDerivativeInstruments"
               id="us-gaap_DiscussionOfObjectivesForUsingForeignCurrencyDerivativeInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfObjectivesForUsingInterestRateDerivativeInstruments"
               id="us-gaap_DiscussionOfObjectivesForUsingInterestRateDerivativeInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfObjectivesForUsingPriceRiskDerivativeInstruments"
               id="us-gaap_DiscussionOfObjectivesForUsingPriceRiskDerivativeInstruments"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfPriceRiskCashFlowHedgeEffectivenessAssessmentAndMeasurement"
               id="us-gaap_DiscussionOfPriceRiskCashFlowHedgeEffectivenessAssessmentAndMeasurement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfPriceRiskDerivativeRiskManagementPolicy"
               id="us-gaap_DiscussionOfPriceRiskDerivativeRiskManagementPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfPriceRiskFairValueHedgeEffectivenessAssessmentAndMeasurement"
               id="us-gaap_DiscussionOfPriceRiskFairValueHedgeEffectivenessAssessmentAndMeasurement"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DiscussionOfRisksAssociatedWithDerivativeActivities"
               id="us-gaap_DiscussionOfRisksAssociatedWithDerivativeActivities"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromDivestitureOfBusinessesAndInterestsInAffiliates"
               id="us-gaap_ProceedsFromDivestitureOfBusinessesAndInterestsInAffiliates"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromDivestitureOfBusinessesAndInterestsInAffiliatesAbstract"
               id="us-gaap_ProceedsFromDivestitureOfBusinessesAndInterestsInAffiliatesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DispositionOfBusinessesAndSaleOfInvestments"
               id="us-gaap_DispositionOfBusinessesAndSaleOfInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionOfCapitalStockOfSubsidiariesToStockholdersInCorporateLiquidationsAndReorganizationsMember"
               id="us-gaap_DistributionOfCapitalStockOfSubsidiariesToStockholdersInCorporateLiquidationsAndReorganizationsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionMadeToMemberOrLimitedPartnerCashDistribution"
               id="us-gaap_DistributionMadeToMemberOrLimitedPartnerCashDistribution"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionMadeToMemberOrLimitedPartnerDilutionFromShareDistribution"
               id="us-gaap_DistributionMadeToMemberOrLimitedPartnerDilutionFromShareDistribution"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionMadeToMemberOrLimitedPartnerPerUnitAmount"
               id="us-gaap_DistributionMadeToMemberOrLimitedPartnerPerUnitAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionMadeToMemberOrLimitedPartnerShareDistribution"
               id="us-gaap_DistributionMadeToMemberOrLimitedPartnerShareDistribution"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionMadeToMemberOrLimitedPartnerAxis"
               id="us-gaap_DistributionMadeToMemberOrLimitedPartnerAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionMadeToMemberOrLimitedPartnerDate"
               id="us-gaap_DistributionMadeToMemberOrLimitedPartnerDate"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionMadeToMemberOrLimitedPartnerDescriptionDomain"
               id="us-gaap_DistributionMadeToMemberOrLimitedPartnerDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionMadeToMemberOrLimitedPartnerLineItems"
               id="us-gaap_DistributionMadeToMemberOrLimitedPartnerLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionMadeToMemberOrLimitedPartnerTable"
               id="us-gaap_DistributionMadeToMemberOrLimitedPartnerTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionOfMarketableSecuritiesToStockholdersAsDividendsMember"
               id="us-gaap_DistributionOfMarketableSecuritiesToStockholdersAsDividendsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionOfMarketableSecuritiesToStockholdersToRedeemOutstandingCapitalStockMember"
               id="us-gaap_DistributionOfMarketableSecuritiesToStockholdersToRedeemOutstandingCapitalStockMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionOfNonmonetaryAssetsToGroupsOfStockholdersPursuantToSettlementPlansMember"
               id="us-gaap_DistributionOfNonmonetaryAssetsToGroupsOfStockholdersPursuantToSettlementPlansMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionsPayableToRealEstatePartnerships"
               id="us-gaap_DistributionsPayableToRealEstatePartnerships"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionPaymentFormsOtherThanCashOrStockDescription"
               id="us-gaap_DistributionPaymentFormsOtherThanCashOrStockDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionPolicyMembersOrLimitedPartnersAbstract"
               id="us-gaap_DistributionPolicyMembersOrLimitedPartnersAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionPolicyMembersOrLimitedPartnersDescription"
               id="us-gaap_DistributionPolicyMembersOrLimitedPartnersDescription"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ProceedsFromDistributionsReceivedFromRealEstatePartnerships"
               id="us-gaap_ProceedsFromDistributionsReceivedFromRealEstatePartnerships"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionRightsMember" id="us-gaap_DistributionRightsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionsMadeToMembersOrLimitedPartnersAbstract"
               id="us-gaap_DistributionsMadeToMembersOrLimitedPartnersAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ScheduleOfDistributionsMadeToMembersOrLimitedPartnersByDistributionTextBlock"
               id="us-gaap_ScheduleOfDistributionsMadeToMembersOrLimitedPartnersByDistributionTextBlock"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DistributionsOnMandatorilyRedeemableSecurities"
               id="us-gaap_DistributionsOnMandatorilyRedeemableSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsOfDistributionsToAffiliates"
               id="us-gaap_PaymentsOfDistributionsToAffiliates"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashDivestureAmountOfConsiderationReceived"
               id="us-gaap_NoncashOrPartNoncashDivestureAmountOfConsiderationReceived"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="NoncashOrPartNoncashDivestureDescriptionDomain"
               id="us-gaap_NoncashOrPartNoncashDivestureDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashDivesturesByUniqueDescriptionAxis"
               id="us-gaap_NoncashOrPartNoncashDivesturesByUniqueDescriptionAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashDivestureLineItems"
               id="us-gaap_NoncashOrPartNoncashDivestureLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="NoncashOrPartNoncashDivesturesTable"
               id="us-gaap_NoncashOrPartNoncashDivesturesTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DividendDeclaredMember" id="us-gaap_DividendDeclaredMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DividendIncomeMember" id="us-gaap_DividendIncomeMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DividendPaidMember" id="us-gaap_DividendPaidMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="StatutoryAccountingPracticesFutureDividendPaymentsRestrictions"
               id="us-gaap_StatutoryAccountingPracticesFutureDividendPaymentsRestrictions"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DividendPaymentRestrictionsScheduleAmountsPaid"
               id="us-gaap_DividendPaymentRestrictionsScheduleAmountsPaid"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="StatutoryAccountingPracticesStatutoryAmountAvailableForDividendPayments"
               id="us-gaap_StatutoryAccountingPracticesStatutoryAmountAvailableForDividendPayments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="StatutoryAccountingPracticesStatutoryCapitalAndSurplusRequired"
               id="us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusRequired"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DividendsCommonPreferredStock" id="us-gaap_DividendsCommonPreferredStock"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="PaymentsOfOrdinaryDividendsAbstract"
               id="us-gaap_PaymentsOfOrdinaryDividendsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DividendsPreferred" id="us-gaap_DividendsPreferred"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="InterestAndDividendsPayable" id="us-gaap_InterestAndDividendsPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DividendsPayable" id="us-gaap_DividendsPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DividendsPayableAmount" id="us-gaap_DividendsPayableAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DividendsPayableAmountPerShare"
               id="us-gaap_DividendsPayableAmountPerShare"
               type="us-types:perShareItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DividendsPayableDateDeclaredDayMonthAndYear"
               id="us-gaap_DividendsPayableDateDeclaredDayMonthAndYear"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DividendsPayableDateDeclaredMonthAndYear"
               id="us-gaap_DividendsPayableDateDeclaredMonthAndYear"
               type="xbrli:gYearMonthItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DividendsPayableDateDeclaredYear"
               id="us-gaap_DividendsPayableDateDeclaredYear"
               type="xbrli:gYearItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DividendsPayableDateToBePaidDayMonthAndYear"
               id="us-gaap_DividendsPayableDateToBePaidDayMonthAndYear"
               type="xbrli:dateItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DividendsPayableDateToBePaidMonthAndYear"
               id="us-gaap_DividendsPayableDateToBePaidMonthAndYear"
               type="xbrli:gYearMonthItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DividendsPayableDateToBePaidYear"
               id="us-gaap_DividendsPayableDateToBePaidYear"
               type="xbrli:gYearItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="instant"/>
  <xs:element name="DividendsPayableDescriptionDomain"
               id="us-gaap_DividendsPayableDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DividendsPayableByUniqueDescriptionAxis"
               id="us-gaap_DividendsPayableByUniqueDescriptionAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DividendsPayableLineItems" id="us-gaap_DividendsPayableLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DividendsPayableTable" id="us-gaap_DividendsPayableTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DividendsReceived" id="us-gaap_DividendsReceived"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DividendsOnTrustPreferredSecurities"
               id="us-gaap_DividendsOnTrustPreferredSecurities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="DollarRollsFixedCouponMember" id="us-gaap_DollarRollsFixedCouponMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DollarRollsMember" id="us-gaap_DollarRollsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DollarRollsYieldMaintenanceMember"
               id="us-gaap_DollarRollsYieldMaintenanceMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DomesticPensionPlansOfForeignEntityDefinedBenefitMember"
               id="us-gaap_DomesticPensionPlansOfForeignEntityDefinedBenefitMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DomesticPostretirementBenefitPlansOfForeignEntityDefinedBenefitMember"
               id="us-gaap_DomesticPostretirementBenefitPlansOfForeignEntityDefinedBenefitMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="SeveranceCosts" id="us-gaap_SeveranceCosts" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="DownstreamEquipmentMember" id="us-gaap_DownstreamEquipmentMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DraftsPayable" id="us-gaap_DraftsPayable" type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DrillingRightsMember" id="us-gaap_DrillingRightsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueFromBrokerDealersMember" id="us-gaap_DueFromBrokerDealersMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueFromClearingOrganizationsMember"
               id="us-gaap_DueFromClearingOrganizationsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueFromOfficersOrStockholdersCurrent"
               id="us-gaap_DueFromOfficersOrStockholdersCurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromOfficersOrStockholdersUnclassified"
               id="us-gaap_DueFromOfficersOrStockholdersUnclassified"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueFromOfficersOrStockholdersNoncurrent"
               id="us-gaap_DueFromOfficersOrStockholdersNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToBrokerDealersMember" id="us-gaap_DueToBrokerDealersMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueToClearingOrganizationsMember"
               id="us-gaap_DueToClearingOrganizationsMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueToAndFromBrokerDealersAndClearingOrganizationsDescriptionDomain"
               id="us-gaap_DueToAndFromBrokerDealersAndClearingOrganizationsDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueToAndFromBrokerDealersAndClearingOrganizationsPayable"
               id="us-gaap_DueToAndFromBrokerDealersAndClearingOrganizationsPayable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToAndFromBrokerDealersAndClearingOrganizationsReceivable"
               id="us-gaap_DueToAndFromBrokerDealersAndClearingOrganizationsReceivable"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToAndFromBrokerDealersAndClearingOrganizationsAbstract"
               id="us-gaap_DueToAndFromBrokerDealersAndClearingOrganizationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueToAndFromBrokerDealersAndClearingOrganizationsAxis"
               id="us-gaap_DueToAndFromBrokerDealersAndClearingOrganizationsAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueToAndFromBrokerDealersAndClearingOrganizationsDisclosure"
               id="us-gaap_DueToAndFromBrokerDealersAndClearingOrganizationsDisclosure"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueToAndFromBrokerDealersAndClearingOrganizationsLineItems"
               id="us-gaap_DueToAndFromBrokerDealersAndClearingOrganizationsLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueToAndFromBrokerDealersAndClearingOrganizationsTable"
               id="us-gaap_DueToAndFromBrokerDealersAndClearingOrganizationsTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="DueToOfficersOrStockholders" id="us-gaap_DueToOfficersOrStockholders"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="DueToOfficersOrStockholdersNoncurrent"
               id="us-gaap_DueToOfficersOrStockholdersNoncurrent"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="EarlyRepaymentOfSeniorDebt" id="us-gaap_EarlyRepaymentOfSeniorDebt"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EarlyRepaymentOfSubordinatedDebt"
               id="us-gaap_EarlyRepaymentOfSubordinatedDebt"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EarnestMoneyDeposits" id="us-gaap_EarnestMoneyDeposits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="IncomeBeforeIncomeTaxesDomestic"
               id="us-gaap_IncomeBeforeIncomeTaxesDomestic"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="IncomeBeforeIncomeTaxesForeign"
               id="us-gaap_IncomeBeforeIncomeTaxesForeign"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EarningsLossesEquityInvestments"
               id="us-gaap_EarningsLossesEquityInvestments"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EarthquakeMember" id="us-gaap_EarthquakeMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectOfCashFlowHedgesOnResultsOfOperationsAbstract"
               id="us-gaap_EffectOfCashFlowHedgesOnResultsOfOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="TimeSharingTransactionsEffectOfChangesInEstimateInRelativeSalesValueMethod"
               id="us-gaap_TimeSharingTransactionsEffectOfChangesInEstimateInRelativeSalesValueMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectExchangeRateCashCashEquivalents"
               id="us-gaap_EffectExchangeRateCashCashEquivalents"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EffectOfExchangeRateOnCashAndCashEquivalentsAbstract"
               id="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalentsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectOfExchangeRateOnCashAndCashEquivalentsContinuingOperations"
               id="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalentsContinuingOperations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EffectOfExchangeRateOnCashAndCashEquivalentsDiscontinuedOperations"
               id="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalentsDiscontinuedOperations"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EffectOfExpectedLoanPrepaymentsOnConstantEffectiveYieldCalculationPolicy"
               id="us-gaap_EffectOfExpectedLoanPrepaymentsOnConstantEffectiveYieldCalculationPolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectOfFairValueHedgesOnResultsOfOperationsAbstract"
               id="us-gaap_EffectOfFairValueHedgesOnResultsOfOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectOfLIFOInventoryLiquidationOnIncome"
               id="us-gaap_EffectOfLIFOInventoryLiquidationOnIncome"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EffectOfNetInvestmentHedgeOnResultsOfOperationsAbstract"
               id="us-gaap_EffectOfNetInvestmentHedgeOnResultsOfOperationsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="StatutoryAccountingPracticesPermittedPracticeAmount"
               id="us-gaap_StatutoryAccountingPracticesPermittedPracticeAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="StatutoryAccountingPracticesDescriptionOfPermittedPractice"
               id="us-gaap_StatutoryAccountingPracticesDescriptionOfPermittedPractice"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectOnAccumulatedOtherComprehensiveIncomeLossDueToChangeInMeasurementDateNetOfTax"
               id="us-gaap_EffectOnAccumulatedOtherComprehensiveIncomeLossDueToChangeInMeasurementDateNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="EffectOnRetainedEarningsDueToChangeInMeasurementDateNetOfTax"
               id="us-gaap_EffectOnRetainedEarningsDueToChangeInMeasurementDateNetOfTax"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveTaxRate" id="us-gaap_EffectiveTaxRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"
               id="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDeductions"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationDeductions"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDeductionsAbstract"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDeductionsDividends"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsDividends"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDeductionsEmployeeStockOwnershipPlanDividends"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsEmployeeStockOwnershipPlanDividends"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDeductionsMedicarePrescriptionDrugBenefit"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsMedicarePrescriptionDrugBenefit"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDeductionsOther"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsOther"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDispositionOfAssets"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationDispositionOfAssets"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationDispositionOfBusiness"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationDispositionOfBusiness"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationEquityInEarningsLossesOfUnconsolidatedSubsidiary"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationEquityInEarningsLossesOfUnconsolidatedSubsidiary"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="FederalStatutoryTaxRate" id="us-gaap_FederalStatutoryTaxRate"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationMinorityInterestIncomeExpense"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationMinorityInterestIncomeExpense"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpense"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpense"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseAbstract"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseAmortization"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseAmortization"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseCharitableContributions"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseCharitableContributions"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDepletion"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDepletion"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDepreciationAndAmortizationAbstract"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDepreciationAndAmortizationAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDepreciation"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDepreciation"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDepreciationAndAmortization"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDepreciationAndAmortization"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseLeases"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseLeases"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseLifeInsurance"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseLifeInsurance"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationOtherAdjustments"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationRepatriationForeignEarningsJobsCreationActOf2004"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationRepatriationForeignEarningsJobsCreationActOf2004"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxContingencies"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxContingenciesAbstract"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxContingenciesDomestic"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesDomestic"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxContingenciesOther"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesOther"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxContingenciesStateAndLocal"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesStateAndLocal"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxCredits"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxCreditsForeign"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsForeign"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxCreditsInvestment"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsInvestment"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxCreditsOther"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsOther"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxExemptIncome"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxExemptIncome"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxHolidays"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxSettlements"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxSettlements"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxSettlementsAbstract"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxSettlementsAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxSettlementsDomestic"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxSettlementsDomestic"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxSettlementsForeign"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxSettlementsForeign"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxSettlementsOther"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxSettlementsOther"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveIncomeTaxRateReconciliationTaxSettlementsStateAndLocal"
               id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxSettlementsStateAndLocal"
               type="us-types:percentItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EffectiveTaxRatePolicy" id="us-gaap_EffectiveTaxRatePolicy"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ElectricBundledRevenue" id="us-gaap_ElectricBundledRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ElectricDistributionMember" id="us-gaap_ElectricDistributionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ElectricGenerationEquipmentMember"
               id="us-gaap_ElectricGenerationEquipmentMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ElectricTransmissionMember" id="us-gaap_ElectricTransmissionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ElectricTransmissionAndDistributionMember"
               id="us-gaap_ElectricTransmissionAndDistributionMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ElectricUtilityRevenue" id="us-gaap_ElectricUtilityRevenue"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="ElectricUtilityRevenueAbstract"
               id="us-gaap_ElectricUtilityRevenueAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="ElectricityGenerationPlantNonNuclearMember"
               id="us-gaap_ElectricityGenerationPlantNonNuclearMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeAccountingMethod"
               id="us-gaap_EmbeddedDerivativeAccountingMethod"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeDescriptionDomain"
               id="us-gaap_EmbeddedDerivativeDescriptionDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeDescriptionOfHostContract"
               id="us-gaap_EmbeddedDerivativeDescriptionOfHostContract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeDescriptionOfLocationOfGainLossInFinancialStatements"
               id="us-gaap_EmbeddedDerivativeDescriptionOfLocationOfGainLossInFinancialStatements"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeLineItemOnBalanceSheet"
               id="us-gaap_EmbeddedDerivativeLineItemOnBalanceSheet"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeFairValueOfEmbeddedDerivativeAsset"
               id="us-gaap_EmbeddedDerivativeFairValueOfEmbeddedDerivativeAsset"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="EmbeddedDerivativeFairValueOfEmbeddedDerivativeLiability"
               id="us-gaap_EmbeddedDerivativeFairValueOfEmbeddedDerivativeLiability"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="EmbeddedDerivativeFairValueOfEmbeddedDerivativeNet"
               id="us-gaap_EmbeddedDerivativeFairValueOfEmbeddedDerivativeNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="EmbeddedDerivativeGainLossOnEmbeddedDerivativeNet"
               id="us-gaap_EmbeddedDerivativeGainLossOnEmbeddedDerivativeNet"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeGainOnEmbeddedDerivative"
               id="us-gaap_EmbeddedDerivativeGainOnEmbeddedDerivative"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeLossOnEmbeddedDerivative"
               id="us-gaap_EmbeddedDerivativeLossOnEmbeddedDerivative"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeAxis" id="us-gaap_EmbeddedDerivativeAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeLineItems" id="us-gaap_EmbeddedDerivativeLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmbeddedDerivativeTable" id="us-gaap_EmbeddedDerivativeTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="AccruedEmployeeBenefits" id="us-gaap_AccruedEmployeeBenefits"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="EmployeeRelatedLiabilities" id="us-gaap_EmployeeRelatedLiabilities"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="instant"/>
  <xs:element name="EmployeeRelatedLiabilitiesAbstract"
               id="us-gaap_EmployeeRelatedLiabilitiesAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount"
               id="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostExpenseAmount"
               id="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostExpenseAmount"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsReportLineDomain"
               id="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsReportLineDomain"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsAxis"
               id="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsAxis"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:dimensionItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"
               id="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"
               id="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"
               type="xbrli:stringItemType"
               substitutionGroup="xbrldt:hypercubeItem"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationAllocationOfCostsDuringPeriod"
               id="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfCostsDuringPeriod"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationCashFromExercises"
               id="us-gaap_EmployeeServiceShareBasedCompensationCashFromExercises"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationCostsDisclosure"
               id="us-gaap_EmployeeServiceShareBasedCompensationCostsDisclosure"
               type="us-types:textBlockItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationEstimatedQuantityOfSharesToBeRepurchasedInFollowingAnnualPeriod"
               id="us-gaap_EmployeeServiceShareBasedCompensationEstimatedQuantityOfSharesToBeRepurchasedInFollowingAnnualPeriod"
               type="xbrli:sharesItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationDisclosureAbstract"
               id="us-gaap_EmployeeServiceShareBasedCompensationDisclosureAbstract"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               abstract="true"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="StockBasedCompensationStockBasedEmployeeCompensationCost"
               id="us-gaap_StockBasedCompensationStockBasedEmployeeCompensationCost"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationPolicyForIssuingSharesUponExercise"
               id="us-gaap_EmployeeServiceShareBasedCompensationPolicyForIssuingSharesUponExercise"
               type="xbrli:stringItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"
               id="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationTaxBenefitFromExercises"
               id="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExercises"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="credit"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeServiceShareBasedCompensationUnrecognizedCompensationCostsOnNonvestedAwards"
               id="us-gaap_EmployeeServiceShareBasedCompensationUnrecognizedCompensationCostsOnNonvestedAwards"
               type="xbrli:monetaryItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:balance="debit"
               xbrli:periodType="instant"/>
  <xs:element name="EmployeeServiceShareBasedCompensationUnrecognizedCompensationCostsOnNonvestedAwardsWeightedAveragePeriodOfRecognition"
               id="us-gaap_EmployeeServiceShareBasedCompensationUnrecognizedCompensationCostsOnNonvestedAwardsWeightedAveragePeriodOfRecognition"
               type="xbrli:decimalItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeStockMember" id="us-gaap_EmployeeStockMember"
               type="us-types:domainItemType"
               substitutionGroup="xbrli:item"
               nillable="true"
               xbrli:periodType="duration"/>
  <xs:element name="EmployeeStockOptionPlanRestrictedStockExpense"
               id="us-gaap_EmployeeStockOptionPlanRestrictedStockExpense"
               t