JK Status Manager for beneficiario.unimedrb.com.br:80

Server Version:Apache   Server Time:Sun, 06 Jul 2025 16:33:58 Hora Padrão de Bogotá
JK Version:mod_jk/1.2.37Unix Seconds:1751837638

(every seconds)
  |  
[Read Only]   [Dump]   [S=Show only this worker, E=Edit worker, R=Reset worker state, T=Try worker recovery]

Listing Load Balancing Workers (18 Workers) [Hide]


[S|E|R]  Worker Status for lbprdmvautenticador-cas

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
1001150115551/11312933

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8500ACTOK01102087 (0/sec)212 (0/sec)0001.7M (137 /sec)14M (1.1K/sec)05226mv_unimedrb_com_br_8500  0/012933 

Edit this attribute for all members:

URI Mappings for lbprdmvautenticador-cas (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/mvautenticador-cas/*WildcharJkMount-100----0
192.168.50.7 [*:80]/mvautenticador-casExactJkMount-100----0

[S|E|R]  Worker Status for lbprdmv

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
2000051/11311291

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8000ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)000mv_unimedrb_com_br_8000  0/03667 
[S|E|Rmv_unimedrb_com_br_8001ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)000mv_unimedrb_com_br_8001  0/011291 

Edit this attribute for all members:

Warning: No URI Mappings defined for lbprdmv !


[S|E|R]  Worker Status for lbprddiagnostico-ws

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
1000051/1133667

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8000ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)000mv_unimedrb_com_br_8000  0/03667 

Edit this attribute for all members:

URI Mappings for lbprddiagnostico-ws (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/diagnostico-ws/*WildcharJkMount-100----0
192.168.50.7 [*:80]/diagnostico-wsExactJkMount-100----0

[S|E|R]  Worker Status for lbprdmvpep

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
4001590160051/11317273

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|R192_168_50_7_8020ACTOK/IDLE011094 (0/sec)94 (0/sec)00051K (3 /sec)7.7K (0 /sec)02108192_168_50_7_8020  0/017273 
[S|E|R192_168_50_7_8021ACTERR/REC011053 (0/sec)53 (0/sec)53000 (0 /sec)0 (0 /sec)010192_168_50_7_8021  0/017273Sun, 06 Jul 2025 11:53:37 Hora Padrão de Bogotá
[S|E|Rmv_unimedrb_com_br_8020ACTOK0110340122 (19/sec)94 (0/sec)040262M (16K/sec)1.6G (95K/sec)015748mv_unimedrb_com_br_8020  0/017273 
[S|E|Rmv_unimedrb_com_br_8021ACTERR/REC011044 (0/sec)44 (0/sec)44000 (0 /sec)0 (0 /sec)010mv_unimedrb_com_br_8021  0/013571Sun, 06 Jul 2025 12:53:09 Hora Padrão de Bogotá

Edit this attribute for all members:

URI Mappings for lbprdmvpep (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/mvpep/*WildcharJkMount-100----0
192.168.50.7 [*:80]/mvpepExactJkMount-100----0

[S|E|R]  Worker Status for lbprdmveditor

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
20081351/1132315

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|R192_168_50_7_8030ACTOK/IDLE011034 (0/sec)34 (0/sec)00015K (6 /sec)3.0M (1.3K/sec)016192_168_50_7_8030  0/02315 
[S|E|Rmv_unimedrb_com_br_8030ACTOK01101159 (0/sec)34 (0/sec)0003.8M (1.7K/sec)5.2M (2.3K/sec)0526mv_unimedrb_com_br_8030  0/02315 

Edit this attribute for all members:

URI Mappings for lbprdmveditor (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/mveditor/*WildcharJkMount-100----0
192.168.50.7 [*:80]/mveditorExactJkMount-100----0

[S|E|R]  Worker Status for lbprdpagu

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
2000051/1133203

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|R192_168_50_7_8040ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)006192_168_50_7_8040  0/03203 
[S|E|Rmv_unimedrb_com_br_8040ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)008mv_unimedrb_com_br_8040  0/03203 

Edit this attribute for all members:

URI Mappings for lbprdpagu (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/pagu/*WildcharJkMount-100----0
192.168.50.7 [*:80]/paguExactJkMount-100----0

[S|E|R]  Worker Status for lbprdsoul-mv

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
2002051/113122

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8050ACTOK/IDLE0110108 (0/sec)0 (0/sec)00079K (665 /sec)51K (428 /sec)01111mv_unimedrb_com_br_8050  0/0122 
[S|E|R192_168_50_7_8050ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)0084192_168_50_7_8050  0/0122 

Edit this attribute for all members:

URI Mappings for lbprdsoul-mv (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/soul-mv/*WildcharJkMount-100----0
192.168.50.7 [*:80]/soul-mvExactJkMount-100----0

[S|E|R]  Worker Status for lbprdsoul-integrated-services

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
200848951/11314652

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8050ACTOK0110108 (0/sec)8 (0/sec)00079K (665 /sec)51K (428 /sec)01111mv_unimedrb_com_br_8050  0/0122 
[S|E|R192_168_50_7_8050ACTOK/IDLE01100 (0/sec)8 (0/sec)0000 (0 /sec)0 (0 /sec)0084192_168_50_7_8050  0/0122 

Edit this attribute for all members:

URI Mappings for lbprdsoul-integrated-services (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/soul-integrated-services/*WildcharJkMount-100----0
192.168.50.7 [*:80]/soul-integrated-servicesExactJkMount-100----0

[S|E|R]  Worker Status for lbprdsoul-product-workspace

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
2001751/1139255

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8060ACTOK01108156 (0/sec)75 (0/sec)0208.7M (1.0K/sec)94M (10K/sec)0650mv_unimedrb_com_br_8060  0/09255 
[S|E|R192_168_50_7_8060ACTOK/IDLE0110114 (0/sec)75 (0/sec)00074K (8 /sec)1.3M (142 /sec)0223192_168_50_7_8060  0/09255 

Edit this attribute for all members:

URI Mappings for lbprdsoul-product-workspace (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/soul-product-workspace/*WildcharJkMount-100----0
192.168.50.7 [*:80]/soul-product-workspaceExactJkMount-100----0

[S|E|R]  Worker Status for lbprdsoul-product-forms

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
2000351/11310515

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8060ACTOK01108156 (0/sec)40 (0/sec)0208.7M (1.0K/sec)94M (10K/sec)0650mv_unimedrb_com_br_8060  0/09255 
[S|E|R192_168_50_7_8060ACTOK/IDLE0110114 (0/sec)41 (0/sec)00074K (8 /sec)1.3M (142 /sec)0223192_168_50_7_8060  0/09255 

Edit this attribute for all members:

URI Mappings for lbprdsoul-product-forms (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/soul-product-forms/*WildcharJkMount-100----0
192.168.50.7 [*:80]/soul-product-formsExactJkMount-100----0

[S|E|R]  Worker Status for lbprdplano

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
1000051/1131823

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rplano_8002_192.168.50.7ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)000plano_8002_192.168.50.7 plano_8002_1920/01823 

Edit this attribute for all members:

URI Mappings for lbprdplano (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/plano/*WildcharJkMount-100----0
192.168.50.7 [*:80]/planoExactJkMount-100----0

[S|E|R]  Worker Status for lbprdsoul-plano-saude-workspace

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
2000351/1132062

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8070ACTOK01101746 (0/sec)5 (0/sec)0001.7M (842 /sec)12M (6.1K/sec)031153mv_unimedrb_com_br_8070  0/02062 
[S|E|R192_168_50_7_8070ACTOK/IDLE01109 (0/sec)5 (0/sec)0005.6K (2 /sec)103K (51 /sec)01581192_168_50_7_8070  0/02062 

Edit this attribute for all members:

URI Mappings for lbprdsoul-plano-saude-workspace (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/soul-plano-saude-workspace/*WildcharJkMount-100----0
192.168.50.7 [*:80]/soul-plano-saude-workspaceExactJkMount-100----0

[S|E|R]  Worker Status for lbprdsoul-plano-saude-forms

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
20012713051/1134097

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8070ACTOK01101746 (0/sec)5 (0/sec)0001.7M (842 /sec)12M (6.1K/sec)031153mv_unimedrb_com_br_8070  0/02062 
[S|E|R192_168_50_7_8070ACTOK/IDLE01109 (0/sec)4 (0/sec)0005.6K (2 /sec)103K (51 /sec)01581192_168_50_7_8070  0/02062 

Edit this attribute for all members:

URI Mappings for lbprdsoul-plano-saude-forms (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/soul-plano-saude-forms/*WildcharJkMount-100----0
192.168.50.7 [*:80]/soul-plano-saude-formsExactJkMount-100----0

[S|E|R]  Worker Status for lbprdsoul-plano-saude-reports

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
2000051/11316725

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8071ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)000mv_unimedrb_com_br_8071  0/016725 
[S|E|R192_168_50_7_8071ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)000192_168_50_7_8071  0/016725 

Edit this attribute for all members:

Warning: No URI Mappings defined for lbprdsoul-plano-saude-reports !


[S|E|R]  Worker Status for lbprdpersonid

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
1000051/11316274

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|R192_168_50_18_8015ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)000192_168_50_18_8015  0/016274 

Edit this attribute for all members:

URI Mappings for lbprdpersonid (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/personid/*WildcharJkMount-100----0
192.168.50.7 [*:80]/personidExactJkMount-100----0

[S|E|R]  Worker Status for lbprdsoul-tiss-workspace

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
1001051/1132265

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8080ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)00117mv_unimedrb_com_br_8080  0/02265 

Edit this attribute for all members:

URI Mappings for lbprdsoul-tiss-workspace (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/soul-tiss-workspace/*WildcharJkMount-100----0
192.168.50.7 [*:80]/soul-tiss-workspaceExactJkMount-100----0

[S|E|R]  Worker Status for lbprdsoul-tiss-forms

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
1001051/1139366

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8080ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)00117mv_unimedrb_com_br_8080  0/02265 

Edit this attribute for all members:

URI Mappings for lbprdsoul-tiss-forms (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/soul-tiss-forms/*WildcharJkMount-100----0
192.168.50.7 [*:80]/soul-tiss-formsExactJkMount-100----0

[S|E|R]  Worker Status for lbprdsit-e

Show AJP Configuration

TypeSticky SessionsForce Sticky SessionsRetriesLB MethodLockingRecover Wait TimeError Escalation TimeMax Reply Timeouts [Hide]
lbTrueFalse2SessionsOptimistic60300

GoodDegradedBad/StoppedBusyMax BusyNext MaintenanceLast Reset[Hide]
1000051/113331

Balancer Members [Hide]

 NameActStateDFMVAccSessErrCEREWrRdBusyMaxConRouteRRCdRsLRLE
[S|E|Rmv_unimedrb_com_br_8090ACTOK/IDLE01100 (0/sec)0 (0/sec)0000 (0 /sec)0 (0 /sec)000mv_unimedrb_com_br_8090  0/0331 

Edit this attribute for all members:

URI Mappings for lbprdsit-e (2 maps) [Hide]

ServerURIMatch TypeSourceReply TimeoutSticky IgnoreStatelessFail on StatusActiveDisabledStoppedUse Server Errors
192.168.50.7 [*:80]/sit-e/*WildcharJkMount-100----0
192.168.50.7 [*:80]/sit-eExactJkMount-100----0

Legend [Hide]

NameWorker name
TypeWorker type
RouteWorker route
ActWorker activation configuration
ACT=Active, DIS=Disabled, STP=Stopped
StateWorker error status
OK=OK, ERR=Error with substates
IDLE=No requests handled, BUSY=All connections busy,
REC=Recovering, PRB=Probing, FRC=Forced Recovery
DWorker distance
FLoad Balancer factor
MLoad Balancer multiplicity
VLoad Balancer value
AccNumber of requests
SessNumber of sessions created
ErrNumber of failed requests
CENumber of client errors
RENumber of reply timeouts (decayed)
WrNumber of bytes transferred
RdNumber of bytes read
BusyCurrent number of busy connections
MaxMaximum number of busy connections
ConCurrent number of backend connections
RRRoute redirect
CdCluster domain
RsRecovery scheduled in app. min/max seconds
LRSeconds since last reset of statistics counters
LETimestamp of the last error

JK Status Manager Start Page


Copyright © 1999-2012, The Apache Software Foundation
Licensed under the Apache License, Version 2.0.