Package ldaptor :: Package protocols :: Module pureldap
[hide private]
[frames] | no frames]

Source Code for Module ldaptor.protocols.pureldap

   1  # Twisted, the Framework of Your Internet 
   2  # Copyright (C) 2001 Matthew W. Lefkowitz 
   3  # 
   4  # This library is free software; you can redistribute it and/or 
   5  # modify it under the terms of version 2.1 of the GNU Lesser General Public 
   6  # License as published by the Free Software Foundation. 
   7  # 
   8  # This library is distributed in the hope that it will be useful, 
   9  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
  10  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
  11  # Lesser General Public License for more details. 
  12  # 
  13  # You should have received a copy of the GNU Lesser General Public 
  14  # License along with this library; if not, write to the Free Software 
  15  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
  16   
  17  """LDAP protocol message conversion; no application logic here.""" 
  18   
  19  from pureber import * 
  20   
  21  next_ldap_message_id=1 
22 -def alloc_ldap_message_id():
23 global next_ldap_message_id 24 r=next_ldap_message_id 25 next_ldap_message_id=next_ldap_message_id+1 26 return r
27
28 -def escape(s):
29 s = s.replace('\\', r'\5c') 30 s = s.replace('*', r'\2a') 31 s = s.replace('(', r'\28') 32 s = s.replace(')', r'\29') 33 s = s.replace('\0', r'\00') 34 return s
35
36 -class LDAPString(BEROctetString):
37 pass
38
39 -class LDAPAttributeValue(BEROctetString):
40 pass
41
42 -class LDAPMessage(BERSequence):
43 id = None 44 value = None 45
46 - def fromBER(klass, tag, content, berdecoder=None):
47 l = berDecodeMultiple(content, berdecoder) 48 49 id_=l[0].value 50 value=l[1] 51 if l[2:]: 52 controls = [] 53 for c in l[2]: 54 controls.append(( 55 c.controlType, 56 c.criticality, 57 c.controlValue, 58 )) 59 else: 60 controls = None 61 assert not l[3:] 62 63 r = klass(id=id_, 64 value=value, 65 controls=controls, 66 tag=tag) 67 return r
68 fromBER = classmethod(fromBER) 69
70 - def __init__(self, value=None, controls=None, id=None, tag=None):
71 BERSequence.__init__(self, value=[], tag=tag) 72 assert value is not None 73 self.id=id 74 if self.id is None: 75 self.id=alloc_ldap_message_id() 76 self.value=value 77 self.controls = controls
78
79 - def __str__(self):
80 l = [BERInteger(self.id), self.value] 81 if self.controls is not None: 82 l.append(LDAPControls([LDAPControl(*a) for a in self.controls])) 83 return str(BERSequence(l))
84
85 - def __repr__(self):
86 l=[] 87 l.append('id=%r' % self.id) 88 l.append('value=%r' % self.value) 89 if self.tag!=self.__class__.tag: 90 l.append('tag=%d' % self.tag) 91 return self.__class__.__name__+'('+', '.join(l)+')'
92
93 -class LDAPProtocolOp:
94 - def __init__(self):
95 pass
96
97 - def __str__(self):
98 raise NotImplementedError
99
100 -class LDAPProtocolRequest(LDAPProtocolOp):
101 needs_answer=1 102 pass
103
104 -class LDAPProtocolResponse(LDAPProtocolOp):
105 pass
106
107 -class LDAPBERDecoderContext_LDAPBindRequest(BERDecoderContext):
108 Identities = { 109 CLASS_CONTEXT|0x00: BEROctetString, 110 }
111
112 -class LDAPBindRequest(LDAPProtocolRequest, BERSequence):
113 tag=CLASS_APPLICATION|0x00 114
115 - def fromBER(klass, tag, content, berdecoder=None):
116 l = berDecodeMultiple(content, 117 LDAPBERDecoderContext_LDAPBindRequest( 118 fallback=berdecoder)) 119 120 r = klass(version=l[0].value, 121 dn=l[1].value, 122 auth=l[2].value, 123 tag=tag) 124 return r
125 fromBER = classmethod(fromBER) 126
127 - def __init__(self, version=None, dn=None, auth=None, tag=None):
128 LDAPProtocolRequest.__init__(self) 129 BERSequence.__init__(self, [], tag=tag) 130 self.version=version 131 if self.version is None: 132 self.version=3 133 self.dn=dn 134 if self.dn is None: 135 self.dn='' 136 self.auth=auth 137 if self.auth is None: 138 self.auth=''
139
140 - def __str__(self):
141 return str(BERSequence([ 142 BERInteger(self.version), 143 BEROctetString(self.dn), 144 BEROctetString(self.auth, tag=CLASS_CONTEXT|0), 145 ], tag=self.tag))
146
147 - def __repr__(self):
148 l=[] 149 l.append('version=%d' % self.version) 150 l.append('dn=%s' % repr(self.dn)) 151 l.append('auth=%s' % repr(self.auth)) 152 if self.tag!=self.__class__.tag: 153 l.append('tag=%d' % self.tag) 154 return self.__class__.__name__+'('+', '.join(l)+')'
155 156 157
158 -class LDAPReferral(BERSequence):
159 tag = CLASS_CONTEXT | 0x03
160
161 -class LDAPResult(LDAPProtocolResponse, BERSequence):
162 - def fromBER(klass, tag, content, berdecoder=None):
163 l = berDecodeMultiple(content, LDAPBERDecoderContext_LDAPBindRequest( 164 fallback=berdecoder)) 165 166 assert 3<=len(l)<=4 167 168 referral = None 169 #if (l[3:] and isinstance(l[3], LDAPReferral)): 170 #TODO support referrals 171 #self.referral=self.data[0] 172 173 r = klass(resultCode=l[0].value, 174 matchedDN=l[1].value, 175 errorMessage=l[2].value, 176 referral=referral, 177 tag=tag) 178 return r
179 fromBER = classmethod(fromBER) 180
181 - def __init__(self, resultCode=None, matchedDN=None, errorMessage=None, referral=None, serverSaslCreds=None, tag=None):
182 LDAPProtocolResponse.__init__(self) 183 BERSequence.__init__(self, value=[], tag=tag) 184 assert resultCode is not None 185 self.resultCode=resultCode 186 if matchedDN is None: 187 matchedDN='' 188 self.matchedDN=matchedDN 189 if errorMessage is None: 190 errorMessage='' 191 self.errorMessage=errorMessage 192 self.referral=referral 193 self.serverSaslCreds=serverSaslCreds
194
195 - def __str__(self):
196 assert self.referral is None #TODO 197 return str(BERSequence([ 198 BEREnumerated(self.resultCode), 199 BEROctetString(self.matchedDN), 200 BEROctetString(self.errorMessage), 201 #TODO referral [3] Referral OPTIONAL 202 ], tag=self.tag))
203
204 - def __repr__(self):
205 l=[] 206 l.append('resultCode=%r' % self.resultCode) 207 if self.matchedDN: 208 l.append('matchedDN=%r' % str(self.matchedDN)) 209 if self.errorMessage: 210 l.append('errorMessage=%r' % str(self.errorMessage)) 211 if self.referral: 212 l.append('referral=%r' % self.referral) 213 if self.tag!=self.__class__.tag: 214 l.append('tag=%d' % self.tag) 215 return self.__class__.__name__+'('+', '.join(l)+')'
216
217 -class LDAPBindResponse_serverSaslCreds(BERSequence):
218 tag = CLASS_CONTEXT|0x03 219 220 pass
221
222 -class LDAPBERDecoderContext_BindResponse(BERDecoderContext):
223 Identities = { 224 LDAPBindResponse_serverSaslCreds.tag: LDAPBindResponse_serverSaslCreds, 225 }
226
227 -class LDAPBindResponse(LDAPResult):
228 tag=CLASS_APPLICATION|0x01 229 230 resultCode = None 231 matchedDN = None 232 errorMessage = None 233 referral = None 234 serverSaslCreds = None 235
236 - def fromBER(klass, tag, content, berdecoder=None):
237 l = berDecodeMultiple(content, LDAPBERDecoderContext_BindResponse( 238 fallback=berdecoder)) 239 240 assert 3<=len(l)<=4 241 242 try: 243 if isinstance(l[0], LDAPBindResponse_serverSaslCreds): 244 serverSaslCreds=l[0] 245 del l[0] 246 else: 247 serverSaslCreds=None 248 except IndexError: 249 serverSaslCreds=None 250 251 referral = None 252 #if (l[3:] and isinstance(l[3], LDAPReferral)): 253 #TODO support referrals 254 #self.referral=self.data[0] 255 256 r = klass(resultCode=l[0].value, 257 matchedDN=l[1].value, 258 errorMessage=l[2].value, 259 referral=referral, 260 serverSaslCreds=serverSaslCreds, 261 tag=tag) 262 return r
263 fromBER = classmethod(fromBER) 264
265 - def __init__(self, resultCode=None, matchedDN=None, errorMessage=None, referral=None, serverSaslCreds=None, tag=None):
268
269 - def __str__(self):
270 assert self.serverSaslCreds is None #TODO 271 return LDAPResult.__str__(self)
272
273 - def __repr__(self):
274 assert self.serverSaslCreds is None #TODO 275 return LDAPResult.__repr__(self)
276
277 -class LDAPUnbindRequest(LDAPProtocolRequest, BERNull):
278 tag=CLASS_APPLICATION|0x02 279 needs_answer=0 280
281 - def __init__(self, *args, **kwargs):
282 LDAPProtocolRequest.__init__(self) 283 BERNull.__init__(self, *args, **kwargs)
284
285 - def __str__(self):
286 return BERNull.__str__(self)
287
288 -class LDAPAttributeDescription(BEROctetString):
289 pass
290
291 -class LDAPAttributeValueAssertion(BERSequence):
292 - def fromBER(klass, tag, content, berdecoder=None):
293 l = berDecodeMultiple(content, berdecoder) 294 assert len(l) == 2 295 296 r = klass(attributeDesc=l[0], 297 assertionValue=l[1], 298 tag=tag) 299 return r
300 fromBER = classmethod(fromBER) 301
302 - def __init__(self, attributeDesc=None, assertionValue=None, tag=None):
303 BERSequence.__init__(self, value=[], tag=tag) 304 assert attributeDesc is not None 305 self.attributeDesc=attributeDesc 306 self.assertionValue=assertionValue
307
308 - def __str__(self):
309 return str(BERSequence([self.attributeDesc, 310 self.assertionValue], 311 tag=self.tag))
312
313 - def __repr__(self):
314 if self.tag==self.__class__.tag: 315 return self.__class__.__name__+"(attributeDesc=%s, assertionValue=%s)"\ 316 %(repr(self.attributeDesc), repr(self.assertionValue)) 317 else: 318 return self.__class__.__name__+"(attributeDesc=%s, assertionValue=%s, tag=%d)"\ 319 %(repr(self.attributeDesc), repr(self.assertionValue), self.tag)
320 321
322 -class LDAPFilter(BERStructured):
323 - def __init__(self, tag=None):
325
326 -class LDAPFilterSet(BERSet):
327 - def fromBER(klass, tag, content, berdecoder=None):
328 l = berDecodeMultiple(content, LDAPBERDecoderContext_Filter(fallback=berdecoder)) 329 r = klass(l, tag=tag) 330 return r
331 fromBER = classmethod(fromBER)
332
333 -class LDAPFilter_and(LDAPFilterSet):
334 tag = CLASS_CONTEXT|0x00 335
336 - def asText(self):
337 return '(&'+''.join([x.asText() for x in self])+')'
338
339 -class LDAPFilter_or(LDAPFilterSet):
340 tag = CLASS_CONTEXT|0x01 341
342 - def asText(self):
343 return '(|'+''.join([x.asText() for x in self])+')'
344
345 -class LDAPFilter_not(LDAPFilter):
346 tag = CLASS_CONTEXT|0x02 347
348 - def fromBER(klass, tag, content, berdecoder=None):
349 value, bytes = berDecodeObject(LDAPBERDecoderContext_Filter(fallback=berdecoder, inherit=berdecoder), content) 350 assert bytes == len(content) 351 352 r = klass(value=value, 353 tag=tag) 354 return r
355 fromBER = classmethod(fromBER) 356
357 - def __init__(self, value, tag=tag):
358 LDAPFilter.__init__(self, tag=tag) 359 assert value is not None 360 self.value=value
361
362 - def __repr__(self):
363 if self.tag==self.__class__.tag: 364 return self.__class__.__name__\ 365 +"(value=%s)"\ 366 %repr(self.value) 367 else: 368 return self.__class__.__name__\ 369 +"(value=%s, tag=%d)"\ 370 %(repr(self.value), self.tag)
371
372 - def __str__(self):
373 r=str(self.value) 374 return chr(self.identification())+int2berlen(len(r))+r
375
376 - def asText(self):
377 return '(!'+self.value.asText()+')'
378
379 -class LDAPFilter_equalityMatch(LDAPAttributeValueAssertion):
380 tag = CLASS_CONTEXT|0x03 381
382 - def asText(self):
383 return '('+self.attributeDesc.value+'=' \ 384 +escape(self.assertionValue.value)+')'
385
386 -class LDAPFilter_substrings_initial(LDAPString):
387 tag = CLASS_CONTEXT|0x00 388
389 - def asText(self):
390 return escape(self.value)
391 392
393 -class LDAPFilter_substrings_any(LDAPString):
394 tag = CLASS_CONTEXT|0x01 395
396 - def asText(self):
397 return escape(self.value)
398
399 -class LDAPFilter_substrings_final(LDAPString):
400 tag = CLASS_CONTEXT|0x02 401
402 - def asText(self):
403 return escape(self.value)
404
405 -class LDAPBERDecoderContext_Filter_substrings(BERDecoderContext):
406 Identities = { 407 LDAPFilter_substrings_initial.tag: LDAPFilter_substrings_initial, 408 LDAPFilter_substrings_any.tag: LDAPFilter_substrings_any, 409 LDAPFilter_substrings_final.tag: LDAPFilter_substrings_final, 410 }
411
412 -class LDAPFilter_substrings(BERSequence):
413 tag = CLASS_CONTEXT|0x04 414
415 - def fromBER(klass, tag, content, berdecoder=None):
416 l = berDecodeMultiple(content, LDAPBERDecoderContext_Filter_substrings(fallback=berdecoder)) 417 assert len(l) == 2 418 assert len(l[1])>=1 419 420 r = klass(type=l[0].value, 421 substrings=list(l[1]), 422 tag=tag) 423 return r
424 fromBER = classmethod(fromBER) 425
426 - def __init__(self, type=None, substrings=None, tag=None):
427 BERSequence.__init__(self, value=[], tag=tag) 428 assert type is not None 429 assert substrings is not None 430 self.type=type 431 self.substrings=substrings
432
433 - def __str__(self):
434 return str(BERSequence([ 435 LDAPString(self.type), 436 BERSequence(self.substrings)], tag=self.tag))
437
438 - def __repr__(self):
439 if self.tag==self.__class__.tag: 440 return self.__class__.__name__\ 441 +"(type=%s, substrings=%s)"\ 442 %(repr(self.type), repr(self.substrings)) 443 else: 444 return self.__class__.__name__\ 445 +"(type=%s, substrings=%s, tag=%d)"\ 446 %(repr(self.type), repr(self.substrings), self.tag)
447
448 - def asText(self):
449 initial=None 450 final=None 451 any=[] 452 453 for s in self.substrings: 454 assert s is not None 455 if isinstance(s, LDAPFilter_substrings_initial): 456 assert initial is None 457 assert not any 458 assert final is None 459 initial=s.asText() 460 elif isinstance(s, LDAPFilter_substrings_final): 461 assert final is None 462 final=s.asText() 463 elif isinstance(s, LDAPFilter_substrings_any): 464 assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert final is None 465 any.append(s.asText()) 466 else: 467 raise NotImple assert